]> err.no Git - varnish/commitdiff
Change log for 1.1.
authordes <des@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Thu, 5 Jul 2007 16:09:45 +0000 (16:09 +0000)
committerdes <des@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Thu, 5 Jul 2007 16:09:45 +0000 (16:09 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1654 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/doc/Makefile.am
varnish-cache/doc/changes-1.0.4-1.1.xml [new file with mode: 0644]
varnish-cache/doc/changes-1.1.xml [new file with mode: 0644]

index 1712feec7529fd734ee594fd597902cd18e02e81..560b470ede98b8a2a1aeab59546719be0f0ebac8 100644 (file)
@@ -1,6 +1,6 @@
 # $Id$
 
-CHANGELOGS = changes-1.0.4.html
+CHANGELOGS = changes-1.0.4.html changes-1.1.html
 
 EXTRA_DIST = ${CHANGELOGS}
 
diff --git a/varnish-cache/doc/changes-1.0.4-1.1.xml b/varnish-cache/doc/changes-1.0.4-1.1.xml
new file mode 100644 (file)
index 0000000..4d7da0d
--- /dev/null
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE group [
+<!ENTITY mdash "&#8212;">
+]>
+<!-- $Id$ -->
+<group from="1.0.4" to="1.1">
+  <subsystem>
+    <name>varnishd</name>
+
+    <change type="enh" ref="1388">
+      <para>Readability of the C source code generated from VCL code
+      has been improved.</para>
+    </change>
+
+    <change type="enh" ref="1389">
+      <para>Equality (<literal>==</literal>) and inequality
+      (<literal>!=</literal>) operators have been implemented for IP
+      addresses (which previously could only be compared using
+      ACLs).</para>
+    </change>
+
+    <change type="enh" ref="1390">
+      <para>The address of the listening socket on which the client
+      connection was received is now available to VCL as the
+      <varname>server.ip</varname> variable.</para>
+    </change>
+
+    <change type="enh" ref="1395,1397,1398">
+      <para>Each object's hash key is now computed based on a string
+      which is available to VCL as <varname>req.hash</varname>.  A VCL
+      hook named <varname>vcl_hash</varname> has been added to allow
+      VCL scripts to control hash generation (for instance, whether or
+      not to include the value of the <literal>Host:</literal> header
+      in the hash).</para>
+    </change>
+
+    <change type="bug" ref="1423,1559">
+      <para>The setup code for listening sockets has been modified to
+      detect and handle situations where a host name resolves to
+      multiple IP addresses.  It will now attempt to bind to each IP
+      address separately, and report a failure only if none of them
+      worked.</para>
+    </change>
+
+    <change type="enh" ref="1474">
+      <para>Network or protocol errors that occur while retrieving an
+      object from a backend server now result in a synthetic error
+      page being inserted into the cache with a 30-second TTL.  This
+      should help avoid driving an overburdened backend server into
+      the ground by repeatedly requesting the same object.</para>
+    </change>
+
+    <change type="enh" ref="1482">
+      <para>The child process will now drop root privileges
+      immediately upon startup.  The user and group to use are
+      specified with the <varname>user</varname> and
+      <varname>group</varname> run-time parameters, which default to
+      <literal>nobody</literal> and <literal>nogroup</literal>,
+      respectively.  Other changes have been made in an effort to
+      increase the isolation between parent and child, and reduce the
+      impact of a compromise of the child process.</para>
+    </change>
+
+    <change type="enh" ref="1506">
+      <para>Objects which are received from the backend with a
+      <literal>Vary:</literal> header are now stored separately
+      according to the values of the headers specified in
+      <literal>Vary:</literal>.  This allows Varnish to correctly
+      cache e.g. compressed and uncompressed versions of the same
+      object.</para>
+    </change>
+
+    <change type="enh" ref="1521,1524,1525,1526,1528,1532,1533,1572,1573,1581">
+      <para>Each Varnish instance now has a name, which by default is
+      the host name of the machine it runs on, but can be any string
+      that would be valid as a relative or absolute directory name.
+      It is used to construct the name of a directory in which the
+      server state as well as all temporary files are stored.  This
+      makes it possible to run multiple Varnish instances on the same
+      machine without conflict.</para>
+    </change>
+
+    <change type="enh" ref="1549">
+      <para>When invoked with the <option>-C</option> option,
+      <command>varnishd</command> will now not just translate the VCL
+      code to C, but also compile the C code and attempt to load the
+      resulting shared object.</para>
+    </change>
+
+    <change type="enh" ref="1552,1576">
+      <para>Attempts by VCL code to reference a variable outside its
+      scope or to assign a value to a read-only variable will now
+      result in compile-time rather than run-time errors.</para>
+    </change>
+
+    <change type="enh" ref="1557,1558">
+      <para>The new command-line option <option>-F</option> will make
+      <command>varnishd</command> run in the foreground, without
+      enabling debugging.</para>
+    </change>
+
+    <change type="enh" ref="1560">
+      <para>New VCL variables have been introduced to allow inspection
+      and manipulation of the request sent to the backend
+      (<varname>bereq.request</varname>, <varname>bereq.url</varname>,
+      <varname>bereq.proto</varname> and
+      <varname>bereq.http</varname>) and the response to the client
+      (<varname>resp.proto</varname>, <varname>resp.status</varname>,
+      <varname>resp.response</varname> and
+      <varname>resp.http</varname>).</para>
+    </change>
+
+    <change type="enh" ref="1564,1565">
+      <para>Statistics from the storage code (including the amount of
+      data and free space in the cache) are now available to
+      <command>varnishstat</command> and other statistics-gathering
+      tools.</para>
+    </change>
+
+    <change type="enh" ref="1548,1561,1567,1568,1570,1586">
+      <para>Objects are now kept on an LRU list which is kept loosely
+      up-to-date (to within a few seconds).  When cache runs out, the
+      objects at the tail end of the LRU list are discarded one by one
+      until there is enough space for the freshly requested object(s).
+      A VCL hook, <function>vcl_discard</function>, is allowed to
+      inspect each object and determine its fate by returning either
+      <command>keep</command> or <command>discard</command>.</para>
+    </change>
+
+    <change type="enh" ref="1612,1640">
+      <para>A new VCL hook, <function>vcl_deliver</function>, provides
+      a chance to adjust the response before it is sent to the
+      client.</para>
+    </change>
+
+    <change type="enh" ref="1626">
+      <para>A new management command, <command>vcl.show</command>,
+      displays the VCL source code of any loaded configuration.</para>
+    </change>
+
+    <change type="enh" ref="1628">
+      <para>A new VCL variable, <varname>now</varname>, provides VCL
+      scripts with the current time in seconds since the epoch.</para>
+    </change>
+
+    <change type="enh" ref="1628,1629,1630">
+      <para>A new VCL variable, <varname>obj.lastuse</varname>,
+      reflects the time in seconds since the object in question was
+      last used.</para>
+    </change>
+
+    <change type="enh" ref="1645,1646,1648">
+      <para>VCL scripts can now add an HTTP header (or modify the
+      value of an existing one) by assigning a value to the
+      corresponding variable, and strip an HTTP header by using the
+      <command>remove</command> keyword.</para>
+    </change>
+  </subsystem>
+
+  <subsystem>
+    <name>varnishadm</name>
+
+    <change type="enh" ref="1502">
+      <para>This is a new utility which sends a single command to a
+      Varnish server's management port and prints the result to
+      <varname>stdout</varname>, greatly simplifying the use of the
+      management port from scripts.</para>
+    </change>
+  </subsystem>
+
+  <subsystem>
+    <name>varnishhist</name>
+
+    <change type="enh" ref="1593">
+      <para>The user interface has been greatly improved; the
+      histogram will be automatically rescaled and redrawn when the
+      window size changes, and it is updated regularly rather than at
+      a rate dependent on the amount of log data gathered.  In
+      addition, the name of the Varnish instance being watched is
+      displayed in the upper right corner.</para>
+    </change>
+  </subsystem>
+
+  <subsystem>
+    <name>varnishncsa</name>
+
+    <change type="enh" ref="1479">
+      <para>In addition to client traffic,
+      <command>varnishncsa</command> can now also process log data
+      from backend traffic.</para>
+    </change>
+  </subsystem>
+
+  <subsystem>
+    <name>varnishreplay</name>
+
+    <change type="enh" ref="1574,1594,1595,1597,1598,1620,1623,1624,1625">
+      <para>This new utility will attempt to recreate the HTTP traffic
+      which resulted in the raw Varnish log data which it is
+      fed.</para>
+    </change>
+  </subsystem>
+
+  <subsystem>
+    <name>varnishstat</name>
+
+    <change type="enh" ref="1587">
+      <para>Don't print lifetime averages when it doesn't make any
+      sense&mdash;for instance, there is no point in dividing the
+      amount in bytes of free cache space by the lifetime in seconds
+      of the <command>varnishd</command> process.</para>
+    </change>
+
+    <change type="enh" ref="1589,1590,1591">
+      <para>The user interface has been greatly improved;
+      <command>varnishstat</command> will no longer print more than
+      fits in the terminal, and will respond correctly to window
+      resize events.  The output produced in one-shot mode has been
+      modified to include symbolic names for each entry.  In addition,
+      the name of the Varnish instance being watched is displayed in
+      the upper right corner in curses mode.</para>
+    </change>
+  </subsystem>
+
+  <subsystem>
+    <name>varnishtop</name>
+
+    <change type="enh" ref="1592,1596">
+      <para>The user interface has been greatly improved;
+      <command>varnishtop</command> will now respond correctly to
+      window resize events, and one-shot mode (<option>-1</option>)
+      actually works.  In addition, the name of the Varnish instance
+      being watched is displayed in the upper right corner in curses
+      mode.</para>
+    </change>
+  </subsystem>
+</group>
diff --git a/varnish-cache/doc/changes-1.1.xml b/varnish-cache/doc/changes-1.1.xml
new file mode 100644 (file)
index 0000000..a1b1c38
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<?xml-stylesheet type="text/xml" href="changes-html.xsl"?>
+<!DOCTYPE changelog [
+ <!ENTITY mdash "&#8212;">
+]>
+<!-- $Id$ -->
+<changelog xmlns:xi="http://www.w3.org/2001/XInclude">
+  <package>Varnish</package>
+  <version>1.1</version>
+
+  <xi:include href="changes-1.0.4-1.1.xml"/>
+</changelog>