Commit 3da06a61 authored by Dag Erling Smørgrav's avatar Dag Erling Smørgrav

Add an XML+XSLT-based change log. Unlike the change logs for previous

releases, this one was written by hand, which makes it user-readable.


git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1441 d4fa192b-c00b-0410-8231-f00ffab90ce4
parent 8c995a89
# $Id$
SUBDIRS = include lib bin man etc
SUBDIRS = include lib bin man etc doc
EXTRA_DIST = LICENSE autogen.sh debian redhat
......@@ -19,6 +19,7 @@ AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LIBTOOL
AC_PROG_MAKE_SET
AC_CHECK_PROGS(XSLTPROC, [xsltproc])
# Checks for libraries.
save_LIBS="${LIBS}"
......@@ -130,6 +131,7 @@ AC_CONFIG_FILES([
bin/varnishncsa/Makefile
bin/varnishstat/Makefile
bin/varnishtop/Makefile
doc/Makefile
etc/Makefile
include/Makefile
lib/Makefile
......
# $Id$
CHANGELOGS = changes-1.0.4.html
EXTRA_DIST = ${CHANGELOGS}
CLEANFILES = ${CHANGELOGS}
SUFFIXES = .xml .html
.xml.html:
${XSLTPROC} --xinclude -o $@ $<
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE group [
<!ENTITY mdash "&#8212;">
]>
<!-- $Id$ -->
<group from="1.0.3" to="1.0.4">
<subsystem>
<name>varnishd</name>
<change type="enh,bug" ref="1277">
<para>The request workflow has been redesigned to simplify
request processing and eliminate code duplication. All
codepaths which need to speak HTTP now share a single
implementation of the protocol. Some new VCL hooks have been
added, though they aren't much use yet. The only real
user-visible change should be that Varnish now handles
persistent backend connections correctly (see <ticket
ref="56"/>).</para>
</change>
<change type="enh" ref="1280">
<para>Support for multiple listen addresses has been
added.</para>
</change>
<change type="enh" ref="1281">
<para>An "include" facility has been added to VCL, allowing
VCL code to pull in code fragments from multiple files.</para>
</change>
<change type="enh" ref="1284">
<para>Multiple definitions of the same VCL function are now
concatenated into one in the order in which they appear in the
source. This simplifies the mechanism for falling back to the
built-in default for cases which aren't handled in custom
code, and facilitates modularization.</para>
</change>
<change type="bug" ref="1287,1288">
<para>The code used to format management command arguments
before passing them on to the child process would
underestimate the amount of space needed to hold each argument
once quotes and special characters were properly escaped,
resulting in a buffer overflow. This has been
corrected.</para>
</change>
<change type="enh,bug" ref="1289-1291,1294,1296-1303,1306">
<para>The VCL compiler has been overhauled. Several memory
leaks have been plugged, and error detection and reporting has
been improved throughout. Parts of the compiler have been
refactored to simplify future extension of the
language.</para>
</change>
<change type="bug" ref="1293">
<para>A bug in the VCL compiler which resulted in incorrect
parsing of the decrement (<code>-=</code>) operator has been
fixed.</para>
</change>
<change type="enh" ref="1309,1312,1381">
<para>A new <code>-C</code> command-line option has been added
which causes <code>varnishd</code> to compile the VCL code
(either from a file specified with <code>-f</code> or the
built-in default), print the resulting C code and exit.</para>
</change>
<change type="bug" ref="1359">
<para>When processing a backend response using chunked
encoding, if a chunk header crosses a read buffer boundary,
read additional bytes from the backend connection until the
chunk header is complete.</para>
</change>
<change type="enh" ref="1373">
<para>A new <code>ping_interval</code> run-time parameter
controls how often the management process checks that the
worker process is alive.</para>
</change>
<change type="bug" ref="1376">
<para>A bug which would cause the worker process to
dereference a <code>NULL</code> pointer and crash if the
backend did not respond has been fixed.</para>
</change>
<change type="bug" ref="1382">
<para>In some cases, such as when they are used by AJAX
applications to circumvent Internet Explorer's over-eager disk
cache, it may be desirable to cache <code>POST</code>
requests. However, the code path responsible for delivering
objects from cache would only transmit the response body when
replying to a <code>GET</code> request. This has been
extended to also apply to <code>POST</code>.</para>
<para>This should be revisited at a later date to allow VCL
code to control whether the body is delivered.</para>
</change>
<change type="bug" ref="1386">
<para>Varnish now respects <code>Cache-control:
s-maxage</code>, and prefers it to <code>Cache-control:
max-age</code> if both are present.</para>
<para>This should be revisited at a later date to allow VCL
code to control which headers are used and how they are
interpreted.</para>
</change>
<change type="enh" ref="1394">
<para>When loading a new VCL script, the management process
will now load the compiled object to verify that it links
correctly before instructing the worker process to load
it.</para>
</change>
<change type="enh" ref="1415">
<para>A new <code>-P</code> command-line options has been
added which causes <code>varnishd</code> to create a PID
file.</para>
</change>
<change type="bug" ref="1417">
<para>The <code>sendfile_threshold</code> run-time parameter's
default value has been set to infinity after a variety of
<code>sendfile()</code>-related bugs were discovered on
several platforms.</para>
</change>
</subsystem>
<subsystem>
<name>varnishlog</name>
<change type="bug" ref="1372,1374">
<para>When grouping log entries by request,
<code>varnishlog</code> attempts to collapse the log entry for
a call to a VCL function with the log entry for the
corresponding return from VCL. When two VCL calls were made
in succession, <code>varnishlog</code> would incorrectly omit
the newline between the two calls (see <ticket
ref="95"/>).</para>
</change>
<change type="enh" ref="1411">
<para>New <code>-D</code> and <code>-P</code> command-line
options have been added to daemonize and create a pidfile,
respectively.</para>
</change>
</subsystem>
<subsystem>
<name>varnishncsa</name>
<change type="enh,bug" ref="1361-1363">
<para>The formatting callback has been largely rewritten for
clarity, robustness and efficiency.</para>
<para>If a request included a <code>Host:</code> header,
construct and output an absolute URL. This makes
<code>varnishncsa</code> output from servers which handle
multiple virtual hosts far more useful.</para>
</change>
</subsystem>
<subsystem>
<name>Documentation</name>
<change type="enh">
<para>The documentation&mdash;especially the VCL
documentation&mdash;has been greatly extended and improved.</para>
</change>
</subsystem>
<subsystem>
<name>Build system</name>
<change type="bug" ref="1364">
<para>The name and location of the <code>curses</code> or
<code>ncurses</code> library is now correctly detected by the
<code>configure</code> script instead of being hardcoded into
affected Makefiles. This allows Varnish to build correctly on
a wider range of platforms.</para>
</change>
<change type="enh" ref="1368">
<para>Compatibility shims for <code>clock_gettime()</code> are
now correctly applied where needed, allowing Varnish to build
on MacOS X.</para>
</change>
<change type="bug" ref="1399">
<para>The <code>autogen.sh</code> script will now correctly
detect and warn about <code>automake</code> versions which are
known not to work correctly.</para>
</change>
</subsystem>
<!--subsystem>
<name>Packaging</name>
<change type="enh">
<para>XXX</para>
</change>
</subsystem-->
</group>
<?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.0.4</version>
<xi:include href="changes-1.0.3-1.0.4.xml"/>
<!--xi:include href="changes-1.0.2-1.0.3.xml"/-->
<!--xi:include href="changes-1.0.1-1.0.2.xml"/-->
<!--xi:include href="changes-1.0-1.0.1.xml"/-->
<!--xi:include href="changes-0.9-1.0.xml"/-->
</changelog>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE stylesheet [
<!ENTITY space "&#32;">
<!ENTITY nbsp "&#160;">
]>
<!-- $Id$ -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="xml" encoding="utf-8" media-type="text/html" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/changelog">
<html>
<head>
<title><xsl:call-template name="title"/></title>
</head>
<body>
<h1><xsl:call-template name="title"/></h1>
<xsl:apply-templates select="group"/>
</body>
</html>
</xsl:template>
<xsl:template name="title">
<xsl:text>Change log for&space;</xsl:text>
<xsl:value-of select="package"/>
<xsl:text>&space;</xsl:text>
<xsl:value-of select="version"/>
</xsl:template>
<xsl:template match="group">
<h2>
<xsl:text>Changes between&space;</xsl:text>
<xsl:value-of select="@from"/>
<xsl:text>&space;and&space;</xsl:text>
<xsl:value-of select="@to"/>
</h2>
<xsl:apply-templates select="subsystem"/>
</xsl:template>
<xsl:template match="subsystem">
<h3>
<xsl:value-of select="name"/>
</h3>
<ul>
<xsl:apply-templates select="change"/>
</ul>
</xsl:template>
<xsl:template match="change">
<li>
<xsl:apply-templates/>
</li>
</xsl:template>
<xsl:template match="para">
<p>
<xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template match="ticket">
<a>
<xsl:attribute name="href">
<xsl:text>http://varnish.projects.linpro.no/ticket/</xsl:text>
<xsl:value-of select="@ref"/>
</xsl:attribute>
<xsl:text>ticket #</xsl:text>
<xsl:value-of select="@ref"/>
</a>
</xsl:template>
</xsl:stylesheet>
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