~ubuntu-branches/debian/sid/varnish/sid

« back to all changes in this revision

Viewing changes to doc/changes-1.1.2.html

  • Committer: Bazaar Package Importer
  • Author(s): Stig Sandbeck Mathisen
  • Date: 2011-03-21 10:16:07 UTC
  • mfrom: (24.1.2 experimental)
  • Revision ID: james.westby@ubuntu.com-20110321101607-528fzl583fqanas5
Tags: 2.1.5-2
ReleaseĀ forĀ unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0" encoding="utf-8"?>
2
 
<html xmlns="http://www.w3.org/1999/xhtml">
3
 
  <head>
4
 
    <title>Change log for Varnish 1.1.2</title>
5
 
    <link rel="stylesheet" type="text/css" href="changes.css"/>
6
 
  </head>
7
 
  <body>
8
 
    <h1>Change log for Varnish 1.1.2</h1>
9
 
    <h2>Changes between 1.1.1 and 1.1.2</h2>
10
 
    <h3>varnishd</h3>
11
 
    <ul>
12
 
      <li>
13
 
        <p>When switching to a new VCL configuration, a race
14
 
      condition exists which may cause Varnish to reference a backend
15
 
      which no longer exists (see <a href="http://varnish.projects.linpro.no/ticket/144">ticket #144</a>).  This race
16
 
      condition has not been entirely eliminated, but it should occur
17
 
      less frequently.</p>
18
 
      </li>
19
 
      <li>
20
 
        <p>When dropping a TCP session before any requests were
21
 
      processed, an assertion would be triggered due to an
22
 
      uninitialized timestamp (see <a href="http://varnish.projects.linpro.no/ticket/132">ticket #132</a>).  The
23
 
      timestamp is now correctly initialized.</p>
24
 
      </li>
25
 
      <li>
26
 
        <p>Varnish will now correctly generate a <span class="code">Date:</span>
27
 
      header for every response instead of copying the one it got from
28
 
      the backend (see <a href="http://varnish.projects.linpro.no/ticket/157">ticket #157</a>).</p>
29
 
      </li>
30
 
      <li>
31
 
        <p>Comparisons in VCL which involve a non-existent string
32
 
      (usually a header which is not present in the request or object
33
 
      being processed) would cause a NULL pointer dereference; now the
34
 
      comparison will simply fail.</p>
35
 
      </li>
36
 
      <li>
37
 
        <p>A bug in the VCL compiler which would cause a double-free
38
 
      when processing <span class="code">include</span> directives has been
39
 
      fixed.</p>
40
 
      </li>
41
 
      <li>
42
 
        <p>A resource leak in the worker thread management code has
43
 
      been fixed.</p>
44
 
      </li>
45
 
      <li>
46
 
        <p>When connecting to a backend, Varnish will usually get the
47
 
      address from a cache.  When the cache is refreshed, existing
48
 
      connections may end up with a reference to an address structure
49
 
      which no longer exists, resulting in a crash.  This race
50
 
      condition has been somewhat mitigated, but not entirely
51
 
      eliminated (see <a href="http://varnish.projects.linpro.no/ticket/144">ticket #144</a>.)</p>
52
 
      </li>
53
 
      <li>
54
 
        <p>Varnish will now pass the correct protocol version in pipe
55
 
      mode: the backend will get what the client sent, and vice
56
 
      versa.</p>
57
 
      </li>
58
 
      <li>
59
 
        <p>The core of the pipe mode code has been rewritten to
60
 
      increase robustness and eliminate spurious error messages when
61
 
      either end closes the connection in a manner Varnish did not
62
 
      anticipate.</p>
63
 
      </li>
64
 
      <li>
65
 
        <p>A memory leak in the backend code has been plugged.</p>
66
 
      </li>
67
 
      <li>
68
 
        <p>When using the <span class="code">kqueue</span> acceptor, if a client
69
 
      shuts down the request side of the connection (as many clients
70
 
      do after sending their final request), it was possible for the
71
 
      acceptor code to receive the <span class="code">EOF</span> event and recycle
72
 
      the session while the last request was still being serviced,
73
 
      resulting in a assertion failure and a crash when the worker
74
 
      thread later tried to delete the session.  This should no longer
75
 
      happen (see <a href="http://varnish.projects.linpro.no/ticket/162">ticket #162</a>.)</p>
76
 
      </li>
77
 
      <li>
78
 
        <p>A mismatch between the recorded length of a cached object
79
 
      and the amount of data actually present in cache for that object
80
 
      can occasionally occur (see <a href="http://varnish.projects.linpro.no/ticket/167">ticket #167</a>.)  This has been
81
 
      partially fixed, but may still occur for error pages generated
82
 
      by Varnish when a problem arises while retrieving an object from
83
 
      the backend.</p>
84
 
      </li>
85
 
      <li>
86
 
        <p>Some socket-related system calls may return unexpected
87
 
      error codes when operating on a TCP connection that has been
88
 
      shut down at the other end.  These error codes would previously
89
 
      cause assertion failures, but are now recognized as harmless
90
 
      conditions.</p>
91
 
      </li>
92
 
    </ul>
93
 
    <h3>varnishhist</h3>
94
 
    <ul>
95
 
      <li>
96
 
        <p>Pressing <span class="code">0</span> though <span class="code">9</span> while
97
 
      <span class="code">varnishhist</span> is running will change the refresh
98
 
      interval to the corresponding power of two, in seconds.</p>
99
 
      </li>
100
 
    </ul>
101
 
    <h3>varnishncsa</h3>
102
 
    <ul>
103
 
      <li>
104
 
        <p>The <span class="code">varnishncsa</span> tool can now daemonize and
105
 
      write a PID file like <span class="code">varnishlog</span>, using the same
106
 
      command-line options.  It will also reopen its output upon receipt
107
 
      of a <span class="code">SIGHUP</span> if invoked with <span class="code">-w</span>.</p>
108
 
      </li>
109
 
    </ul>
110
 
    <h3>varnishstat</h3>
111
 
    <ul>
112
 
      <li>
113
 
        <p>Pressing <span class="code">0</span> though <span class="code">9</span> while
114
 
      <span class="code">varnishstat</span> is running will change the refresh
115
 
      interval to the corresponding power of two, in seconds.</p>
116
 
      </li>
117
 
    </ul>
118
 
    <h3>Build system</h3>
119
 
    <ul>
120
 
      <li>
121
 
        <p>Varnish's <span class="code">&lt;queue.h&gt;</span> has been modified
122
 
      to avoid conflicts with <span class="code">&lt;sys/queue.h&gt;</span> on
123
 
      platforms where the latter is included indirectly through system
124
 
      headers.</p>
125
 
      </li>
126
 
      <li>
127
 
        <p>Several steps have been taken towards Solaris
128
 
      support, but this is not yet complete.</p>
129
 
      </li>
130
 
      <li>
131
 
        <p>When <span class="code">configure</span> was run without an explicit
132
 
      prefix, Varnish's idea of the default state directory would be
133
 
      garbage and a state directory would have to be specified
134
 
      manually with <span class="code">-n</span>.  This has been corrected.</p>
135
 
      </li>
136
 
    </ul>
137
 
  </body>
138
 
</html>