Varnish Cache Plus 6.0.7r3 Release

Published February 9, 2021.

About the release

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.

Important! Third party VMODs need to be recompiled for 6.0.7r1

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.