Commit bb2d4695 authored by Dag Erling Smørgrav's avatar Dag Erling Smørgrav

regen


git-svn-id: http://www.varnish-cache.org/svn/branches/1.1@2326 d4fa192b-c00b-0410-8231-f00ffab90ce4
parent 560d07df
Change log for Varnish 1.1.1
Change log for Varnish 1.1.2
Changes between 1.1 and 1.1.1
Changes between 1.1.1 and 1.1.2
varnishd
• The code required to allow VCL to read obj.status, which had accidentally
been left out, has now been added.
• When switching to a new VCL configuration, a race condition exists which
may cause Varnish to reference a backend which no longer exists (see ticket
#144). This race condition has not been entirely eliminated, but it should
occur less frequently.
• Varnish will now always include a Connection: header in its reply to the
client, to avoid possible misunderstandings.
• When dropping a TCP session before any requests were processed, an
assertion would be triggered due to an uninitialized timestamp (see ticket
#132). The timestamp is now correctly initialized.
A bug that triggered an assertion failure when generating synthetic error
documents has been corrected.
Varnish will now correctly generate a Date: header for every response
instead of copying the one it got from the backend (see ticket #157).
• A new VCL function, purge_url, provides the same functionality as the
url.purge management command.
• Comparisons in VCL which involve a non-existent string (usually a header
which is not present in the request or object being processed) would cause
a NULL pointer dereference; now the comparison will simply fail.
• Previously, Varnish assumed that the response body should be sent only if
the request method was GET. This was a problem for custom request methods
(such as PURGE), so the logic has been changed to always send the response
body except in the specific case of a HEAD request.
• A bug in the VCL compiler which would cause a double-free when processing
include directives has been fixed.
• Changes to run-time parameters are now correctly propagated to the child
process.
• A resource leak in the worker thread management code has been fixed.
• Due to the way run-time parameters are initialized at startup, varnishd
previously required the nobody user and the nogroup group to exist even if
a different user and group were specified on the command line. This has
been corrected.
• When connecting to a backend, Varnish will usually get the address from a
cache. When the cache is refreshed, existing connections may end up with a
reference to an address structure which no longer exists, resulting in a
crash. This race condition has been somewhat mitigated, but not entirely
eliminated (see ticket #144.)
• Under certain conditions, the VCL compiler would carry on after a syntax
error instead of exiting after reporting the error. This has been
corrected.
• Varnish will now pass the correct protocol version in pipe mode: the
backend will get what the client sent, and vice versa.
• The manner in which the hash string is assembled has been modified to
reduce memory usage and memory-to-memory copying.
• The core of the pipe mode code has been rewritten to increase robustness
and eliminate spurious error messages when either end closes the connection
in a manner Varnish did not anticipate.
• Before calling vcl_miss, Varnish assembles a tentative request object for
the backend request which will usually follow. This object would be leaked
if vcl_miss returned anything else than fetch. This has been corrected.
• A memory leak in the backend code has been plugged.
• The code necessary to handle an error return from vcl_fetch and vcl_deliver
had inadvertantly been left out. This has been corrected.
• When using the kqueue acceptor, if a client shuts down the request side of
the connection (as many clients do after sending their final request), it
was possible for the acceptor code to receive the EOF event and recycle the
session while the last request was still being serviced, resulting in a
assertion failure and a crash when the worker thread later tried to delete
the session. This should no longer happen (see ticket #162.)
• Varnish no longer prints a spurious "child died" message (the result of
reaping the compiler process) after compiling a new VCL configuration.
• A mismatch between the recorded length of a cached object and the amount of
data actually present in cache for that object can occasionally occur (see
ticket #167.) This has been partially fixed, but may still occur for error
pages generated by Varnish when a problem arises while retrieving an object
from the backend.
• Under some circumstances, due to an error in the workspace management code,
Varnish would lose the "tail" of a request, i.e. the part of the request
that has been received from the client but not yet processed. The most
obvious symptom of this was that POST requests would work with some
browsers but not others, depending on details of the browser's HTTP
implementation. This has been corrected.
varnishhist
• On some platforms, due to incorrect assumptions in the CLI code, the
management process would crash while processing commands received over the
management port. This has been corrected.
• Pressing 0 though 9 while varnishhist is running will change the refresh
interval to the corresponding power of two, in seconds.
Build system
varnishncsa
• The varnishncsa tool can now daemonize and write a PID file like
varnishlog, using the same command-line options. It will also reopen its
output upon receipt of a SIGHUP if invoked with -w.
• The top-level Makefile will now honor $DESTDIR when creating the state
directory.
varnishstat
• The Debian and RedHat packages are now split into three (main / lib /
devel) as is customary.
• Pressing 0 though 9 while varnishstat is running will change the refresh
interval to the corresponding power of two, in seconds.
Build system
• A number of compile-time and run-time portability issues have been
addressed.
• Varnish's <queue.h> has been modified to avoid conflicts with <sys/queue.h>
on platforms where the latter is included indirectly through system
headers.
The autogen.sh script had workarounds for problems with the GNU autotools
on FreeBSD; these are no longer needed and have been removed.
Several steps have been taken towards Solaris support, but this is not yet
complete.
The libcompat library has been renamed to libvarnishcompat and is now
dynamic rather than static. This simplifies the build process and resolves
an issue with the Mac OS X linker.
When configure was run without an explicit prefix, Varnish's idea of the
default state directory would be garbage and a state directory would have
to be specified manually with -n. This has been corrected.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment