[master] 64d2b7c More fodder for release notes

Poul-Henning Kamp phk at FreeBSD.org
Wed Mar 8 22:37:05 CET 2017


commit 64d2b7cadc7272887b75cab28a38f692aef1f8f8
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Wed Mar 8 21:36:29 2017 +0000

    More fodder for release notes

diff --git a/doc/sphinx/whats-new/changes-5.1.rst b/doc/sphinx/whats-new/changes-5.1.rst
index 6fb6aff..2e4e877 100644
--- a/doc/sphinx/whats-new/changes-5.1.rst
+++ b/doc/sphinx/whats-new/changes-5.1.rst
@@ -6,7 +6,25 @@ Changes in Varnish 5.1
 We have a couple of new and interesting features in Varnish 5.1,
 and we have a lot of smaller improvements and bugfixes all all over
 the place, in total we have made about 750 commits since Varnish 5.0,
-so this is just some of the highlights:
+so this is just some of the highlights.
+
+Probably the biggest change in Varnish 5.1 is that a couple of very
+significant contributors to Varnish have changed jobs, and therefore
+stopped being active contributors to the Varnish Project.
+
+Per Buer was one of the first people who realized that Varnish was
+not just "Some program for a couple of nordic newspapers",  and he
+started the company Varnish Software, which is one of the major
+sponsors of the Varnish Project.
+
+Lasse Karstensen got roped into Varnish Software by Per, and in
+addition to his other duties, he has taken care of the projects
+system administration and release engineering for most of the 11
+years we have been around now.
+
+Guys, "Thanks" doesn't even start to cover it and we wish you all
+the best for the future!
+
 
 Startup CLI command file
 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -50,6 +68,31 @@ which in the above example could look like::
 	    // Main site processing ...
 	}
 
+Universal VCL return(fail)
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+It is now possible to ``return(fail)`` anywhere in VCL,
+including inside VMODs.  This will cause VCL processing
+to terminate forthright.
+
+In addition to ``return(fail)``, this mechanism will be
+used to handle all failure conditions without a safe
+fallback, for instance workspace exhaustion, too many
+headers etc.
+
+In ``vcl_init{}`` failing causes the ``vcl.load`` to fail.
+
+A failure in any of the client side VCL methods (``vcl_recv{}``,
+``vcl_hash{}`` ...) *except* ``vcl_synth{}``, sends the request
+to ``vcl_synth{}`` with a 503, and reason "VCL failed".
+
+A failure on the backend side (``vcl_backend_*{}``) causes the
+fetch to fail.
+
+(VMOD writers should use the new ``VRT_fail(ctx, format_string, ...)``
+function which logs a SLT_VCL_Error record.)
+
+
 Progress on HTTP/2 support
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -160,6 +203,36 @@ removing the ``ETag`` or ``Last-Modified`` headers in
 ``vcl_backend_response``, or by removing the If-* client request
 headers in ``vcl_pass``.
 
+Project tool improvements
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+We have spent a fair amount of time on the tools we use internally
+in the project.
+
+The ``varnishtest`` program has been improved in many small ways,
+in particular it is now much easier to execute and examine
+results from other programs with the ``shell`` and ``process``
+commands.
+
+The project now has *KISS* web-backend which summarizes 
+``make distcheck`` results from various platforms:
+
+http://varnish-cache.org/vtest/
+
+If you want Varnish to be tested on a platform not already
+covered, all you need to do is run the tools/vtest.sh script
+from the source tree.  We would love to see more platforms
+covered (arm64, ppc, mips) and OS/X would also be nice.
+
+We also publish our code-coverage status now:
+
+http://varnish-cache.org/gcov/
+
+Our goal is 90+% coverage, but we need to finish implementing
+terminal emulation in ``varnishtest`` before we can test the curses(1)
+based programs (top/stat/hist) comprehensively, so they currently
+drag us down.
+
 
 News for authors of VMODs and Varnish API client applications
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -186,3 +259,17 @@ News for authors of VMODs and Varnish API client applications
 
   * All of the ``VSB_*`` functions for working with safe string
     buffers.
+
+
+* VMOD version coexistence improvements:  In difference from executable
+  files, shared libraries are not protected against overwriting under
+  UNIX, and this has generally caused grief when VMODs were updated
+  by package management tools.
+
+  We have decided to bite the bullet, and now the Varnishd management
+  process makes a copy of the VMOD shared library to a version-unique
+  name inside the workdir, from which the running VCL access it.  This
+  ensures that Varnishd can always restart the worker process, no matter
+  what happened to the original VMOD file.
+  
+  



More information about the varnish-commit mailing list