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

« back to all changes in this revision

Viewing changes to doc/changes-2.0.3.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 2.0.3</title>
5
 
    <link rel="stylesheet" type="text/css" href="changes.css"/>
6
 
  </head>
7
 
  <body>
8
 
    <h1>Change log for Varnish 2.0.3</h1>
9
 
    <h2>Changes between 2.0.2 and 2.0.3</h2>
10
 
    <h3>varnishd</h3>
11
 
    <ul>
12
 
      <li>
13
 
        <p>Handle If-Modified-Since and ESI sub-objects better,
14
 
      fixing a problem where we sometimes neglected to insert
15
 
      included objects.</p>
16
 
      </li>
17
 
      <li>
18
 
        <p><span class="code">restart</span> in <span class="code">vcl_hit</span> is now supported.</p>
19
 
      </li>
20
 
      <li>
21
 
        <p>Setting the TTL of an object to 0 seconds would sometimes
22
 
      cause it to be delivered for up to one second - epsilon.  This
23
 
      has been corrected and we should now never deliver those
24
 
      objects to other clients.</p>
25
 
      </li>
26
 
      <li>
27
 
        <p>The malloc storage backend now prints the maximum storage
28
 
      size, just like the file backend.</p>
29
 
      </li>
30
 
      <li>
31
 
        <p>Various small documentation bugs have been fixed.</p>
32
 
      </li>
33
 
      <li>
34
 
        <p>Varnish did not set a default interval for backend
35
 
      probes, causing it to poll the backend continuously.  This has
36
 
      been corrected.</p>
37
 
      </li>
38
 
      <li>
39
 
        <p>Allow "true" and "false" when setting boolean parameters,
40
 
      in addition to on/off, enable/disable and yes/no.</p>
41
 
      </li>
42
 
      <li>
43
 
        <p>Default to always talking HTTP 1.1 with the backend.</p>
44
 
      </li>
45
 
      <li>
46
 
        <p>Varnish did not make sure the file it was loading was a
47
 
      regular file.   This could cause Varnish to crash if it was
48
 
      asked to load a directory or other non-regular file.  We now
49
 
      check that the file is a regular file before loading it.</p>
50
 
      </li>
51
 
      <li>
52
 
        <p>The binary heap used for expiry processing had
53
 
      scalability problems.  Work around this by using stripes of a
54
 
      fixed size, which should make this scale better, particularly
55
 
      when starting up and having lots of objects.</p>
56
 
      </li>
57
 
      <li>
58
 
        <p>When we imported the <span class="code">jemalloc</span> library into
59
 
      the Varnish tree, it did not compile without warnings.  This
60
 
      has now been fixed.</p>
61
 
      </li>
62
 
      <li>
63
 
        <p>Varnish took a very long time to detect that the backend
64
 
      did not respond.  To remedy this, we now have read timeouts in
65
 
      addition to the connect timeout.  Both
66
 
      the <span class="code">first_byte_timeout</span> and
67
 
      the <span class="code">between_bytes_timeout</span> defaults to 60 seconds.
68
 
      The connect timeout is no longer in milliseconds, but rather in
69
 
      seconds.</p>
70
 
      </li>
71
 
      <li>
72
 
        <p>Previously, the VCL to C conversion as well as the
73
 
      invocation of the C compiler was done in the management
74
 
      process.  This is now done in a separate sub-process.  This
75
 
      prevents any bugs in the VCL compiler from affecting the
76
 
      management process.</p>
77
 
      </li>
78
 
      <li>
79
 
        <p>Chunked encoding headers were counted in the statistics
80
 
      for header bytes.  They no longer are.</p>
81
 
      </li>
82
 
      <li>
83
 
        <p>ESI processed objects were not counted in the statistics
84
 
      for body bytes.  They now are.</p>
85
 
      </li>
86
 
      <li>
87
 
        <p>It is now possible to adjust the maximum record length of
88
 
      log entries in the shmlog by tuning the <span class="code">shm_reclen</span>
89
 
      parameter.</p>
90
 
      </li>
91
 
      <li>
92
 
        <p>The management parameters listed in the CLI were not
93
 
      sorted, which made it hard to find the parameter you were
94
 
      looking for.  They are now sorted, which should make this
95
 
      easier.</p>
96
 
      </li>
97
 
      <li>
98
 
        <p>Add a new hashing type, "critbit", which uses a lock-less
99
 
      tree based lookup algorithm.  This is experimental and should
100
 
      not be enabled in production environments without proper
101
 
      testing.</p>
102
 
      </li>
103
 
      <li>
104
 
        <p>The session workspace had a default size of 8k.  It is
105
 
      now 16k, which should make VCLs where many headers are
106
 
      processed less prone to panics.</p>
107
 
      </li>
108
 
      <li>
109
 
        <p>We have seen that people seem to be confused as to which
110
 
      actions in the different VCL functions return and which ones
111
 
      don't.  Add a new syntax <span class="code">return(action)</span> to make
112
 
      this more explicit.  The old syntax is still supported.</p>
113
 
      </li>
114
 
      <li>
115
 
        <p>Varnish would return an error if any of the management
116
 
      IPs listed in the <span class="code">-T</span> parameter could not be
117
 
      listened to.  We now only return an error if none of them can
118
 
      be listened to.</p>
119
 
      </li>
120
 
      <li>
121
 
        <p>In the case of the backend or client giving us too many
122
 
      parameters, we used to just ignore the overflowing headers.
123
 
      This is problematic if you end up ignoreing Content-Length,
124
 
      Transfer-Encoding and similar headers.  We now give out a 400
125
 
      error to the client if it sends us too many and 503 if we get
126
 
      too many from the backend.</p>
127
 
      </li>
128
 
      <li>
129
 
        <p>We used panic if we got a too large chunked header.
130
 
      This behaviour has been changed into just failing the
131
 
      transaction.</p>
132
 
      </li>
133
 
      <li>
134
 
        <p>Varnish now supports an extended purge method where it is
135
 
      possible to do <span class="code">purge req.http.host ~ "web1.com" &amp;&amp; req.url ~ "\.png"
136
 
      </span> and similar.  See the documentation for details.</p>
137
 
      </li>
138
 
      <li>
139
 
        <p>Under heavy load, Varnish would sometimes crash when
140
 
      trying to update the per-request statistics.  This has now been
141
 
      fixed.</p>
142
 
      </li>
143
 
      <li>
144
 
        <p>It is now possible to not save the hash string in the
145
 
      session and object workspace.  This will save a lot of memory
146
 
      on sites with many small objects.  Disabling
147
 
      the <span class="code">purge_hash</span> parameter also disables
148
 
      the <span class="code">purge.hash</span> facility.</p>
149
 
      </li>
150
 
      <li>
151
 
        <p>Varnish now supports <span class="code">!~</span> as a "no match"
152
 
      regular expression matcher.</p>
153
 
      </li>
154
 
      <li>
155
 
        <p>In some cases, you could get serialised access to "pass"
156
 
      objects.  We now make it default to the default_ttl value; this
157
 
      can be overridden in vcl_fetch.</p>
158
 
      </li>
159
 
      <li>
160
 
        <p>Varnish did not check the syntax of <span class="code">regsub</span>
161
 
      calls properly.  More checking has been added.</p>
162
 
      </li>
163
 
      <li>
164
 
        <p>If the client closed the connection while Varnish was
165
 
      processing ESI elements, Varnish would crash while trying to
166
 
      write the object to the client.  We now check if the client has
167
 
      closed the connection.</p>
168
 
      </li>
169
 
      <li>
170
 
        <p>The ESI parser had a bug where it would crash if an XML
171
 
      comment would span storage segments.  This has been
172
 
      fixed.</p>
173
 
      </li>
174
 
    </ul>
175
 
    <h3>VCL Manual page</h3>
176
 
    <ul>
177
 
      <li>
178
 
        <p>The documentation on how capturing parentheses work was
179
 
      wrong.  This has been corrected.</p>
180
 
      </li>
181
 
      <li>
182
 
        <p>Grace has now been documented.</p>
183
 
      </li>
184
 
    </ul>
185
 
    <h3>varnishreplay</h3>
186
 
    <ul>
187
 
      <li>
188
 
        <p><span class="code">varnishreplay</span> did not work correctly on
189
 
      Linux, due to a too small stack.  This has now been fixed.</p>
190
 
      </li>
191
 
    </ul>
192
 
  </body>
193
 
</html>