root/trunk/varnish-cache/ChangeLog

Revision 3300, 4.9 KB (checked in by tfheen, 17 months ago)

Set svn:keywords for all files

  • Property svn:keywords set to Id
Line 
1
2Please note that this file is no longer maintained.  Please refer to the
3changes files in doc/
4
5Change log for Varnish 1.0.4
6
7Changes between 1.0.3 and 1.0.4
8
9varnishd
10
11  • The request workflow has been redesigned to simplify request processing and
12    eliminate code duplication. All codepaths which need to speak HTTP now
13    share a single implementation of the protocol. Some new VCL hooks have been
14    added, though they aren't much use yet. The only real user-visible change
15    should be that Varnish now handles persistent backend connections correctly
16    (see ticket #56).
17
18  • Support for multiple listen addresses has been added.
19
20  • An "include" facility has been added to VCL, allowing VCL code to pull in
21    code fragments from multiple files.
22
23  • Multiple definitions of the same VCL function are now concatenated into one
24    in the order in which they appear in the source. This simplifies the
25    mechanism for falling back to the built-in default for cases which aren't
26    handled in custom code, and facilitates modularization.
27
28  • The code used to format management command arguments before passing them on
29    to the child process would underestimate the amount of space needed to hold
30    each argument once quotes and special characters were properly escaped,
31    resulting in a buffer overflow. This has been corrected.
32
33  • The VCL compiler has been overhauled. Several memory leaks have been
34    plugged, and error detection and reporting has been improved throughout.
35    Parts of the compiler have been refactored to simplify future extension of
36    the language.
37
38  • A bug in the VCL compiler which resulted in incorrect parsing of the
39    decrement (-=) operator has been fixed.
40
41  • A new -C command-line option has been added which causes varnishd to
42    compile the VCL code (either from a file specified with -f or the built-in
43    default), print the resulting C code and exit.
44
45  • When processing a backend response using chunked encoding, if a chunk
46    header crosses a read buffer boundary, read additional bytes from the
47    backend connection until the chunk header is complete.
48
49  • A new ping_interval run-time parameter controls how often the management
50    process checks that the worker process is alive.
51
52  • A bug which would cause the worker process to dereference a NULL pointer
53    and crash if the backend did not respond has been fixed.
54
55  • In some cases, such as when they are used by AJAX applications to
56    circumvent Internet Explorer's over-eager disk cache, it may be desirable
57    to cache POST requests. However, the code path responsible for delivering
58    objects from cache would only transmit the response body when replying to a
59    GET request. This has been extended to also apply to POST.
60
61    This should be revisited at a later date to allow VCL code to control
62    whether the body is delivered.
63
64  • Varnish now respects Cache-control: s-maxage, and prefers it to
65    Cache-control: max-age if both are present.
66
67    This should be revisited at a later date to allow VCL code to control which
68    headers are used and how they are interpreted.
69
70  • When loading a new VCL script, the management process will now load the
71    compiled object to verify that it links correctly before instructing the
72    worker process to load it.
73
74  • A new -P command-line options has been added which causes varnishd to
75    create a PID file.
76
77  • The sendfile_threshold run-time parameter's default value has been set to
78    infinity after a variety of sendfile()-related bugs were discovered on
79    several platforms.
80
81varnishlog
82
83  • When grouping log entries by request, varnishlog attempts to collapse the
84    log entry for a call to a VCL function with the log entry for the
85    corresponding return from VCL. When two VCL calls were made in succession,
86    varnishlog would incorrectly omit the newline between the two calls (see
87    ticket #95).
88
89  • New -D and -P command-line options have been added to daemonize and create
90    a pidfile, respectively.
91
92varnishncsa
93
94  • The formatting callback has been largely rewritten for clarity, robustness
95    and efficiency.
96
97    If a request included a Host: header, construct and output an absolute URL.
98    This makes varnishncsa output from servers which handle multiple virtual
99    hosts far more useful.
100
101Documentation
102
103  • The documentation—especially the VCL documentation—has been greatly
104    extended and improved.
105
106Build system
107
108  • The name and location of the curses or ncurses library is now correctly
109    detected by the configure script instead of being hardcoded into affected
110    Makefiles. This allows Varnish to build correctly on a wider range of
111    platforms.
112
113  • Compatibility shims for clock_gettime() are now correctly applied where
114    needed, allowing Varnish to build on MacOS X.
115
116  • The autogen.sh script will now correctly detect and warn about automake
117    versions which are known not to work correctly.
118
Note: See TracBrowser for help on using the browser.