Rebuild for Privoxy 3.0.14 beta.
[privoxy.git] / doc / webserver / user-manual / whatsnew.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
2 <HTML
3 ><HEAD
4 ><TITLE
5 >What's New in this Release</TITLE
6 ><META
7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
9 REL="HOME"
10 TITLE="Privoxy 3.0.14 User Manual"
11 HREF="index.html"><LINK
12 REL="PREVIOUS"
13 TITLE="Installation"
14 HREF="installation.html"><LINK
15 REL="NEXT"
16 TITLE="Quickstart to Using Privoxy"
17 HREF="quickstart.html"><LINK
18 REL="STYLESHEET"
19 TYPE="text/css"
20 HREF="../p_doc.css"><META
21 HTTP-EQUIV="Content-Type"
22 CONTENT="text/html;
23 charset=ISO-8859-1">
24 <LINK REL="STYLESHEET" TYPE="text/css" HREF="p_doc.css">
25 </head
26 ><BODY
27 CLASS="SECT1"
28 BGCOLOR="#EEEEEE"
29 TEXT="#000000"
30 LINK="#0000FF"
31 VLINK="#840084"
32 ALINK="#0000FF"
33 ><DIV
34 CLASS="NAVHEADER"
35 ><TABLE
36 SUMMARY="Header navigation table"
37 WIDTH="100%"
38 BORDER="0"
39 CELLPADDING="0"
40 CELLSPACING="0"
41 ><TR
42 ><TH
43 COLSPAN="3"
44 ALIGN="center"
45 >Privoxy 3.0.14 User Manual</TH
46 ></TR
47 ><TR
48 ><TD
49 WIDTH="10%"
50 ALIGN="left"
51 VALIGN="bottom"
52 ><A
53 HREF="installation.html"
54 ACCESSKEY="P"
55 >Prev</A
56 ></TD
57 ><TD
58 WIDTH="80%"
59 ALIGN="center"
60 VALIGN="bottom"
61 ></TD
62 ><TD
63 WIDTH="10%"
64 ALIGN="right"
65 VALIGN="bottom"
66 ><A
67 HREF="quickstart.html"
68 ACCESSKEY="N"
69 >Next</A
70 ></TD
71 ></TR
72 ></TABLE
73 ><HR
74 ALIGN="LEFT"
75 WIDTH="100%"></DIV
76 ><DIV
77 CLASS="SECT1"
78 ><H1
79 CLASS="SECT1"
80 ><A
81 NAME="WHATSNEW"
82 >3. What's New in this Release</A
83 ></H1
84 ><P
85 > <SPAN
86 CLASS="APPLICATION"
87 >Privoxy 3.0.14 Beta</SPAN
88 > is a bugfix-release
89  for the previous beta which introduced IPv6 support,  improved keep-alive
90  support and a bunch of minor improvements. The changes since 3.0.12:</P
91 ><P
92 > <P
93 ></P
94 ><UL
95 ><LI
96 ><P
97 >    Added IPv6 support. Thanks to Petr Pisar who not only provided
98     the initial patch but also helped a lot with the integration.
99    </P
100 ></LI
101 ><LI
102 ><P
103 >    Added client-side keep-alive support.
104    </P
105 ></LI
106 ><LI
107 ><P
108 >    The connection sharing code is only used if the connection-sharing
109     option is enabled.
110    </P
111 ></LI
112 ><LI
113 ><P
114 >    The latency is taken into account when evaluating whether or not to
115     reuse a connection. This should significantly reduce the number of
116     connections problems several users reported.
117    </P
118 ></LI
119 ><LI
120 ><P
121 >    The max-client-connections option has been added to restrict
122     the number of client connections below a value enforced by
123     the operating system.
124    </P
125 ></LI
126 ><LI
127 ><P
128 >    If the server doesn't specify how long the connection stays alive,
129     Privoxy errs on the safe side of caution and assumes it's only a second.
130    </P
131 ></LI
132 ><LI
133 ><P
134 >    Setting keep-alive-timeout to 0 disables keep-alive support. Previously
135     Privoxy would claim to allow persistence but not reuse the connection.
136    </P
137 ></LI
138 ><LI
139 ><P
140 >    Pipelined requests are less likely to be mistaken for the request
141     body of the previous request. Note that Privoxy still has no real
142     pipeline support and will either serialize pipelined requests or
143     drop them in which case the client has to resent them.
144    </P
145 ></LI
146 ><LI
147 ><P
148 >    Fixed a crash on some Windows versions when header randomization
149     is enabled and the date couldn't be parsed.
150    </P
151 ></LI
152 ><LI
153 ><P
154 >    Privoxy's keep-alive timeout for the current connection is reduced
155     to the one specified in the client's Keep-Alive header.
156    </P
157 ></LI
158 ><LI
159 ><P
160 >    For HTTP/1.1 requests, Privoxy implies keep-alive support by not
161     setting any Connection header instead of using 'Connection: keep-alive'.
162    </P
163 ></LI
164 ><LI
165 ><P
166 >    If the socket isn't reusable, Privoxy doesn't temporarily waste
167     a socket slot to remember the connection.
168    </P
169 ></LI
170 ><LI
171 ><P
172 >    If keep-alive support is disabled but compiled in, the client's
173     Keep-Alive header is removed.
174    </P
175 ></LI
176 ><LI
177 ><P
178 >    Fixed a bug on mingw32 where downloading large files failed if
179     keep-alive support was enabled.
180    </P
181 ></LI
182 ><LI
183 ><P
184 >    Fixed a bug that (at least theoretically) could cause log
185     timestamps to be occasionally off by about a second.
186    </P
187 ></LI
188 ><LI
189 ><P
190 >    The configure script respects the $PATH variable when searching
191     for groups and id.
192    </P
193 ></LI
194 ><LI
195 ><P
196 >    Compressed content with extra fields couldn't be decompressed
197     and would get passed to the client unfiltered. This problem
198     has only be detected through statical analysis with clang as
199     nobody seems to be using extra fields anyway.
200    </P
201 ></LI
202 ><LI
203 ><P
204 >    If the server resets the Connection after sending only the headers
205     Privoxy forwards what it got to the client. Previously Privoxy
206     would deliver an error message instead.
207    </P
208 ></LI
209 ><LI
210 ><P
211 >    Error messages in case of connection timeouts use the right
212     HTTP status code.
213    </P
214 ></LI
215 ><LI
216 ><P
217 >    If spawning a child to handle a request fails, the client
218     gets an error message and Privoxy continues to listen for
219     new requests right away.
220    </P
221 ></LI
222 ><LI
223 ><P
224 >    The error messages in case of server-connection timeouts or
225     prematurely closed server connections are now template-based.
226    </P
227 ></LI
228 ><LI
229 ><P
230 >    If zlib support isn't compiled in, Privoxy no longer tries to
231     filter compressed content unless explicitly asked to do so.
232    </P
233 ></LI
234 ><LI
235 ><P
236 >    In case of connections that are denied based on ACL directives,
237     the memory used for the client IP is no longer leaked.
238    </P
239 ></LI
240 ><LI
241 ><P
242 >    Fixed another small memory leak if the client request times out
243     while waiting for client headers other than the request line.
244    </P
245 ></LI
246 ><LI
247 ><P
248 >    The client socket is kept open until the server socket has
249     been marked as unused. This should increase the chances that
250     the still-open connection will be reused for the client's next
251     request to the same destination. Note that this only matters
252     if connection-sharing is enabled.
253    </P
254 ></LI
255 ><LI
256 ><P
257 >    A TODO list has been added to the source tarballs to give potential
258     volunteers a better idea of what the current goals are. Donations
259     are still welcome too: http://www.privoxy.org/faq/general.html#DONATE
260    </P
261 ></LI
262 ></UL
263 ></P
264 ><DIV
265 CLASS="SECT2"
266 ><H2
267 CLASS="SECT2"
268 ><A
269 NAME="UPGRADERSNOTE"
270 >3.1. Note to Upgraders</A
271 ></H2
272 ><P
273 > A quick list of things to be aware of before upgrading from earlier 
274  versions of <SPAN
275 CLASS="APPLICATION"
276 >Privoxy</SPAN
277 >:</P
278 ><P
279 > <P
280 ></P
281 ><UL
282 ><LI
283 ><P
284 >   The recommended way to upgrade <SPAN
285 CLASS="APPLICATION"
286 >Privoxy</SPAN
287 > is to backup your old 
288    configuration files, install the new ones, verify that <SPAN
289 CLASS="APPLICATION"
290 >Privoxy</SPAN
291 >
292    is working correctly and finally merge back your changes using
293    <SPAN
294 CLASS="APPLICATION"
295 >diff</SPAN
296 > and maybe <SPAN
297 CLASS="APPLICATION"
298 >patch</SPAN
299 >.
300   </P
301 ><P
302 >   There are a number of new features in each <SPAN
303 CLASS="APPLICATION"
304 >Privoxy</SPAN
305 > release and
306    most of them have to be explicitly enabled in the configuration
307    files. Old configuration files obviously don't do that and due
308    to syntax changes using old configuration files with a new
309    <SPAN
310 CLASS="APPLICATION"
311 >Privoxy</SPAN
312 > isn't always possible anyway.
313   </P
314 ></LI
315 ><LI
316 ><P
317 >  
318     Note that some installers remove earlier versions completely,
319     including configuration files, therefore you should really save
320     any important configuration files!
321   </P
322 ></LI
323 ><LI
324 ><P
325 >  
326    On the other hand, other installers don't overwrite existing configuration 
327    files, thinking you will want to do that yourself.
328   </P
329 ></LI
330 ><LI
331 ><P
332 >  
333    <TT
334 CLASS="FILENAME"
335 >standard.action</TT
336 > has been merged into
337    the <TT
338 CLASS="FILENAME"
339 >default.action</TT
340 > file.
341   </P
342 ></LI
343 ><LI
344 ><P
345 >   In the default configuration only fatal errors are logged now.
346    You can change that in the <A
347 HREF="config.html#DEBUG"
348 >debug section</A
349 >
350    of the configuration file. You may also want to enable more verbose
351    logging until you verified that the new <SPAN
352 CLASS="APPLICATION"
353 >Privoxy</SPAN
354 > version is working
355    as expected.
356   </P
357 ></LI
358 ><LI
359 ><P
360 >     Three other config file settings are now off by default: 
361      <A
362 HREF="config.html#ENABLE-REMOTE-TOGGLE"
363 >enable-remote-toggle</A
364 >,
365      <A
366 HREF="config.html#ENABLE-REMOTE-HTTP-TOGGLE"
367 >enable-remote-http-toggle</A
368 >,
369      and  <A
370 HREF="config.html#ENABLE-EDIT-ACTIONS"
371 >enable-edit-actions</A
372 >. 
373      If you use or want these, you will need to explicitly enable them, and
374      be aware of the security issues involved. 
375     </P
376 ></LI
377 ></UL
378 ></P
379 ></DIV
380 ></DIV
381 ><DIV
382 CLASS="NAVFOOTER"
383 ><HR
384 ALIGN="LEFT"
385 WIDTH="100%"><TABLE
386 SUMMARY="Footer navigation table"
387 WIDTH="100%"
388 BORDER="0"
389 CELLPADDING="0"
390 CELLSPACING="0"
391 ><TR
392 ><TD
393 WIDTH="33%"
394 ALIGN="left"
395 VALIGN="top"
396 ><A
397 HREF="installation.html"
398 ACCESSKEY="P"
399 >Prev</A
400 ></TD
401 ><TD
402 WIDTH="34%"
403 ALIGN="center"
404 VALIGN="top"
405 ><A
406 HREF="index.html"
407 ACCESSKEY="H"
408 >Home</A
409 ></TD
410 ><TD
411 WIDTH="33%"
412 ALIGN="right"
413 VALIGN="top"
414 ><A
415 HREF="quickstart.html"
416 ACCESSKEY="N"
417 >Next</A
418 ></TD
419 ></TR
420 ><TR
421 ><TD
422 WIDTH="33%"
423 ALIGN="left"
424 VALIGN="top"
425 >Installation</TD
426 ><TD
427 WIDTH="34%"
428 ALIGN="center"
429 VALIGN="top"
430 >&nbsp;</TD
431 ><TD
432 WIDTH="33%"
433 ALIGN="right"
434 VALIGN="top"
435 >Quickstart to Using Privoxy</TD
436 ></TR
437 ></TABLE
438 ></DIV
439 ></BODY
440 ></HTML
441 >