This release, 6.0.7r3, fixes a number of bugs, and introduces a few minor features. The new features include the following:
A new resp.send_timeout
variable to set the send timeout on a
per-request basis from vcl.
varnishncsa
now supports Epoch timestamps.
MSE variable memory_target
can now be negative for non %
tagged
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.
Introduce utils.waitinglist()
which returns true if there are other clients
waiting for this object.
Bug fixes:
Fix a bug where VMOD cleanup routines were not executed for ESI subrequests that exited abnormally.
Fix a vmod_goto
crash when discarding a VCL with a director for a zero ttl
domain.
Fix a 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.