[4.0] e7340a6 Add more changes. Fixes #1480

Andreas Plesner apj at mutt.dk
Tue Jun 24 11:31:37 CEST 2014

commit e7340a68ecf908968f4ffbb4ca4be24347348aae
Author: Andreas Plesner <apj at mutt.dk>
Date:   Mon Apr 21 22:11:16 2014 +0200

    Add more changes.
    Fixes #1480

diff --git a/doc/sphinx/whats-new/upgrading.rst b/doc/sphinx/whats-new/upgrading.rst
index 82298a2..788764a 100644
--- a/doc/sphinx/whats-new/upgrading.rst
+++ b/doc/sphinx/whats-new/upgrading.rst
@@ -19,6 +19,12 @@ VCL version number::
     vcl 4.0;
+req.request is now req.method
+To align better with RFC naming, `req.request` has been renamed to
 vcl_fetch is now vcl_backend_response
@@ -57,6 +63,13 @@ has been removed, and you should use the hash director directly::
         set req.backend_hint = h.backend(client.identity);
+vcl_error is now vcl_backend_error
+To make a distinction between internally generated errors and
+VCL synthetic responses, `vcl_backend_error` will be called when 
+varnish encounters an error when trying to fetch an object.
 error() is now synth()
@@ -79,6 +92,13 @@ The synthetic keyword is now a function::
         return (deliver);
+obj in vcl_error replaced by beresp in vcl_backend_error
+To better represent a the context in which it is called, you
+should now use `beresp.*` vcl_backend_error, where you used to
+use `obj.*` in `vcl_error`.
 hit_for_pass objects are created using beresp.uncacheable
@@ -92,9 +112,6 @@ Example::
-vcl_recv should return(hash) instead of lookup now
 req.* not available in vcl_backend_response
@@ -110,12 +127,12 @@ is reserved for builtin subs.
 req.backend.healthy replaced by std.healthy(req.backend)
-client.port replaced by std.port(client.ip)
+client.port, and server.port replaced by respectively std.port(client.ip) and std.port(server.ip)
-The `client.ip` is now a proper type, which renders as an IP address by
-default. You need to use the `std.port()` function to get the port
+`client.ip` and `server.ip` are now proper datatypes, which renders
+as an IP address by default. You need to use the `std.port()`
+function to get the port number.
 obj is now read-only
@@ -123,6 +140,15 @@ obj is now read-only
 `obj` is now read-only. `obj.hits`, if enabled in VCL, now counts per
 objecthead, not per object. `obj.last_use` has been retired.
+Some return values have been replaced
+Apart from the new `synth` return value described above, the
+following has changed:
+ - `vcl_recv` must now return `hash` instead of `lookup`
+ - `vcl_hash` must now return `lookup` instead of `hash`
+ - `vcl_pass` must now return `fetch` instead of `pass`
 default/builtin VCL changes
@@ -139,6 +165,8 @@ The `remove` keyword is gone
 Replaced by `unset`.
 Changes to existing parameters
@@ -170,3 +198,14 @@ vcc_allow_inline_c
 You can now completely disable inline C in your VCL, and it is
 disabled by default.
+Other changes
+New log filtering
+The logging framework has a new filtering language, which means
+that the -m switch has been replaced with a new -q switch.
+See :ref:`ref-vsl-query` for more information about the new
+query language.

More information about the varnish-commit mailing list