1
<?xml version="1.0" encoding="utf-8"?>
2
<html xmlns="http://www.w3.org/1999/xhtml">
4
<title>Change log for Varnish 1.1.1</title>
5
<link rel="stylesheet" type="text/css" href="changes.css"/>
8
<h1>Change log for Varnish 1.1.1</h1>
9
<h2>Changes between 1.1 and 1.1.1</h2>
13
<p>The code required to allow VCL to read
14
<span class="code">obj.status</span>, which had accidentally been left out,
15
has now been added.</p>
18
<p>Varnish will now always include a <span class="code">Connection:</span>
19
header in its reply to the client, to avoid possible
20
misunderstandings.</p>
23
<p>A bug that triggered an assertion failure when generating
24
synthetic error documents has been corrected.</p>
27
<p>A new VCL function, <span class="code">purge_url</span>, provides the
28
same functionality as the <span class="code">url.purge</span> management
32
<p>Previously, Varnish assumed that the response body should
33
be sent only if the request method was <span class="code">GET</span>. This
34
was a problem for custom request methods (such as
35
<span class="code">PURGE</span>), so the logic has been changed to always
36
send the response body except in the specific case of a
37
<span class="code">HEAD</span> request.</p>
40
<p>Changes to run-time parameters are now correctly
41
propagated to the child process.</p>
44
<p>Due to the way run-time parameters are initialized at
45
startup, <span class="code">varnishd</span> previously required the
46
<span class="code">nobody</span> user and the <span class="code">nogroup</span> group to
47
exist even if a different user and group were specified on the
48
command line. This has been corrected.</p>
51
<p>Under certain conditions, the VCL compiler would carry on
52
after a syntax error instead of exiting after reporting the
53
error. This has been corrected.</p>
56
<p>The manner in which the hash string is assembled has been
57
modified to reduce memory usage and memory-to-memory
61
<p>Before calling <span class="code">vcl_miss</span>, Varnish assembles a
62
tentative request object for the backend request which will
63
usually follow. This object would be leaked if
64
<span class="code">vcl_miss</span> returned anything else than
65
<span class="code">fetch</span>. This has been corrected.</p>
68
<p>The code necessary to handle an <span class="code">error</span> return
69
from <span class="code">vcl_fetch</span> and <span class="code">vcl_deliver</span> had
70
inadvertantly been left out. This has been corrected.</p>
73
<p>Varnish no longer prints a spurious "child died" message
74
(the result of reaping the compiler process) after compiling a
75
new VCL configuration.</p>
78
<p>Under some circumstances, due to an error in the workspace
79
management code, Varnish would lose the "tail" of a request,
80
i.e. the part of the request that has been received from the
81
client but not yet processed. The most obvious symptom of this
82
was that POST requests would work with some browsers but not
83
others, depending on details of the browser's HTTP
84
implementation. This has been corrected.</p>
87
<p>On some platforms, due to incorrect assumptions in the CLI
88
code, the management process would crash while processing
89
commands received over the management port. This has been
96
<p>The top-level Makefile will now honor
97
<span class="code">$DESTDIR</span> when creating the state directory.</p>
100
<p>The Debian and RedHat packages are now split into three
101
(main / lib / devel) as is customary.</p>
104
<p>A number of compile-time and run-time portability issues
105
have been addressed.</p>
108
<p>The <span class="code">autogen.sh</span> script had workarounds for
109
problems with the GNU autotools on FreeBSD; these are no longer
110
needed and have been removed.</p>
113
<p>The <span class="code">libcompat</span> library has been renamed to
114
<span class="code">libvarnishcompat</span> and is now dynamic rather than
115
static. This simplifies the build process and resolves an issue
116
with the Mac OS X linker.</p>