f0afc1b3a0892b9ef0c8cc3823f0be5d83dfa51a
[privoxy.git] / doc / source / changelog.sgml
1 <!--
2  File        :  $Source: /cvsroot/ijbswa/current/doc/source/changelog.sgml,v $
3
4  Purpose     :  Entity included in other project documents.
5
6  $Id: changelog.sgml,v 2.8 2014/11/14 11:31:41 fabiankeil Exp $
7
8  Copyright (C) 2013 Privoxy Developers http://www.privoxy.org/
9  See LICENSE.
10
11  ======================================================================
12   This file used for inclusion with other documents only.
13  ======================================================================
14
15  If you make changes to this file, please verify the finished
16  docs all display as intended.
17
18  This file is included into:
19
20   user-manual
21 -->
22
23 <para>
24  <application>Privoxy 3.0.22</application> stable is mainly a bug-fix
25  release, it also has a couple of new features, though.
26  Note that the first two entries in the ChangeLog below refer to security
27  issues:
28 </para>
29
30 <!--
31  The SGML ChangeLog can be generated with: utils/changelog2doc.pl ChangeLog
32 -->
33 <para>
34  <itemizedlist>
35   <listitem>
36    <para>
37     Bug fixes:
38     <itemizedlist>
39     <listitem>
40      <para>
41       Fixed a memory leak when rejecting client connections due to
42       the socket limit being reached (CID 66382). This affected
43       Privoxy 3.0.21 when compiled with IPv6 support (on most
44       platforms this is the default).
45      </para>
46     </listitem>
47     <listitem>
48      <para>
49       Fixed an immediate-use-after-free bug (CID 66394) and two
50       additional unconfirmed use-after-free complaints made by
51       Coverity scan (CID 66391, CID 66376).
52      </para>
53     </listitem>
54     <listitem>
55      <para>
56       Actually show the FORCE_PREFIX value on the show-status page.
57      </para>
58     </listitem>
59     <listitem>
60      <para>
61       Properly deal with Keep-Alive headers with timeout= parameters
62       If the timeout still can't be parsed, use the configured
63       timeout instead of preventing the client from keeping the
64       connection alive. Fixes #3615312/#870 reported by Bernard Guillot.
65      </para>
66     </listitem>
67     <listitem>
68      <para>
69       Not using any filter files no longer results in warning messages
70       unless an action file is referencing header taggers or filters.
71       Reported by Stefan Kurtz in #3614835.
72      </para>
73     </listitem>
74     <listitem>
75      <para>
76       Fixed a bug that prevented Privoxy from reusing some reusable
77       connections. Two bit masks with different purpose unintentionally
78       shared the same bit.
79      </para>
80     </listitem>
81     <listitem>
82      <para>
83       A couple of additional bugs were discovered by Coverity Scan.
84       The fixes that are not expected to affect users are not explicitly
85       mentioned here, for details please have a look at the CVS logs.
86      </para>
87      </listitem>
88     </itemizedlist>
89    </para>
90   </listitem>
91   <listitem>
92    <para>
93     General improvements:
94     <itemizedlist>
95     <listitem>
96      <para>
97       Introduced negative tag patterns NO-REQUEST-TAG and NO-RESPONSE-TAG.
98       They apply if no matching tag is found after parsing client or
99       server headers.
100      </para>
101     </listitem>
102     <listitem>
103      <para>
104       Add support for external filters which allow to process the
105       response body with a script or program written in any language
106       the platform supports. External filters are enabled with
107       +external-filter{} after they have been defined in one of the
108       filter files with a header line starting with "EXTERNAL-FILTER:".
109       External filter support is experimental, not compiled by default
110       and known not to work on all platforms.
111      </para>
112     </listitem>
113     <listitem>
114      <para>
115       Add support for the 'PATCH' method as defined in RFC5789.
116      </para>
117     </listitem>
118     <listitem>
119      <para>
120       Reject requests with unsupported Expect header values.
121       Fixes a couple of Co-Advisor tests.
122      </para>
123     </listitem>
124     <listitem>
125      <para>
126       Normalize the HTTP-version in forwarded requests and responses.
127       This is an explicit RFC 2616 MUST and RFC 7230 mandates that
128       intermediaries send their own HTTP-version in forwarded
129       messages.
130      </para>
131     </listitem>
132     <listitem>
133      <para>
134       Server 'Keep-Alive' headers are no longer forwarded. From a user's
135       point of view it doesn't really matter, but RFC 2616 (obsolete)
136       mandates that the header is removed and this fixes a Co-Advisor
137       complaint.
138      </para>
139     </listitem>
140     <listitem>
141      <para>
142       Change declared template file encoding to UTF-8. The templates
143       already used a subset of UTF-8 anyway and changing the declaration
144       allows to properly display UTF-8 characters used in the action files.
145       This change may require existing action files with ISO-8859-1
146       characters that aren't valid UTF-8 to be converted to UTF-8.
147       Requested by Sam Chen in #582.
148      </para>
149     </listitem>
150     <listitem>
151      <para>
152       Do not pass rejected keep-alive timeouts to the server. It might
153       not have caused any problems (we know of), but doing the right
154       thing shouldn't hurt either.
155      </para>
156     </listitem>
157     <listitem>
158      <para>
159       Let log_error() use its own buffer size #define to make changing
160       the log buffer size slightly less inconvenient.
161      </para>
162     </listitem>
163     <listitem>
164      <para>
165       Turned single-threaded into a "proper" toggle directive with arguments.
166      </para>
167     </listitem>
168     <listitem>
169      <para>
170       CGI templates no longer enforce new windows for some links.
171      </para>
172     </listitem>
173     <listitem>
174      <para>
175       Remove an undocumented workaround ('HOST' header removal) for
176       an Apple iTunes bug that according to #729900 got fixed in 2003.
177      </para>
178      </listitem>
179     </itemizedlist>
180    </para>
181   </listitem>
182   <listitem>
183    <para>
184     Action file improvements:
185     <itemizedlist>
186     <listitem>
187      <para>
188       The pattern 'promotions.' is no longer being blocked.
189       Reported by rakista in #3608540.
190      </para>
191     </listitem>
192     <listitem>
193      <para>
194       Disable fast-redirects for .microsofttranslator.com/.
195      </para>
196     </listitem>
197     <listitem>
198      <para>
199       Disable filter{banners-by-size} for .dgb-tagungszentren.de/.
200      </para>
201     </listitem>
202     <listitem>
203      <para>
204       Add adn.speedtest.net as a site-specific unblocker.
205       Support request #3612908.
206      </para>
207     </listitem>
208     <listitem>
209      <para>
210       Disable filter{banners-by-size} for creativecommons.org/.
211      </para>
212     </listitem>
213     <listitem>
214      <para>
215       Block requests to data.gosquared.com/. Reported by cbug in #3613653.
216      </para>
217     </listitem>
218     <listitem>
219      <para>
220       Unblock .conrad./newsletter/. Reported by David Bo in #3614238.
221      </para>
222     </listitem>
223     <listitem>
224      <para>
225       Unblock .bundestag.de/.
226      </para>
227     </listitem>
228     <listitem>
229      <para>
230       Unblock .rote-hilfe.de/.
231      </para>
232     </listitem>
233     <listitem>
234      <para>
235       Disable fast-redirects for .facebook.com/plugins/like.php.
236      </para>
237     </listitem>
238     <listitem>
239      <para>
240       Unblock Stackexchange popup URLs that aren't used to serve ads.
241       Reported by David Wagner in #3615179.
242      </para>
243     </listitem>
244     <listitem>
245      <para>
246       Disable fast-redirects for creativecommons.org/.
247      </para>
248     </listitem>
249     <listitem>
250      <para>
251       Unblock .stopwatchingus.info/.
252      </para>
253     </listitem>
254     <listitem>
255      <para>
256       Block requests for .adcash.com/script/.
257       Reported by Tyrexionibus in #3615289.
258      </para>
259     </listitem>
260     <listitem>
261      <para>
262       Disable HTML filters if the response was tagged as JavaScript.
263       Filtering JavaScript code with filters intended to deal with HTML
264       is usually a waste of time and, more importantly, may break stuff.
265      </para>
266     </listitem>
267     <listitem>
268      <para>
269       Use a custom redirect{} for .washingtonpost.com/wp-apps/imrs\.php\?src=
270       Previously enabling the 'Advanced' settings (or manually enabling
271       +fast-redirects{}) prevented some images from being loaded properly.
272      </para>
273     </listitem>
274     <listitem>
275      <para>
276       Unblock "adina*." Fixes #919 reported by Morton A. Goldberg.
277      </para>
278     </listitem>
279     <listitem>
280      <para>
281       Block '/.*DigiAd'.
282      </para>
283     </listitem>
284     <listitem>
285      <para>
286       Unblock 'adele*.'. Reported by Adele Lime in #1663.
287      </para>
288     </listitem>
289     <listitem>
290      <para>
291       Disable banners-by-size for kggp.de/.
292      </para>
293      </listitem>
294     </itemizedlist>
295    </para>
296   </listitem>
297   <listitem>
298    <para>
299     Filter file improvements & bug fixes:
300     <itemizedlist>
301     <listitem>
302      <para>
303       Decrease the chances that js-annoyances creates invalid JavaScript.
304       Submitted by John McGowan on ijbswa-users@.
305      </para>
306     </listitem>
307     <listitem>
308      <para>
309       Let the msn filter hide 'related' ads again.
310      </para>
311     </listitem>
312     <listitem>
313      <para>
314       Remove a stray '1' in the 'html-annoyances' filter.
315      </para>
316     </listitem>
317     <listitem>
318      <para>
319       Prevent img-reorder from messing up img tags with empty src
320       attributes. Fixes #880 reported by Duncan.
321      </para>
322      </listitem>
323     </itemizedlist>
324    </para>
325   </listitem>
326   <listitem>
327    <para>
328     Documentation improvements:
329     <itemizedlist>
330     <listitem>
331      <para>
332       Updated the 'Would you like to donate?' section.
333      </para>
334     </listitem>
335     <listitem>
336      <para>
337       Note that invalid forward-override{} parameter syntax isn't
338       detected until the parameter is used.
339      </para>
340     </listitem>
341     <listitem>
342      <para>
343       Add another +redirect{} example: a shortcut for illumos bugs.
344      </para>
345     </listitem>
346     <listitem>
347      <para>
348       Make it more obvious that many operating systems support log
349       rotation out of the box.
350      </para>
351     </listitem>
352     <listitem>
353      <para>
354       Fixed dead links. Reported by Mark Nelson in #3614557.
355      </para>
356     </listitem>
357     <listitem>
358      <para>
359       Rephrased the 'Why is the configuration so complicated?' answer
360       to be slightly less condescending. Anonymously suggested in #3615122.
361      </para>
362     </listitem>
363     <listitem>
364      <para>
365       Be more explicit about accept-intercepted-requests's lack of MITM support.
366      </para>
367     </listitem>
368     <listitem>
369      <para>
370       Make 'demoronizer' FAQ entries more generic.
371      </para>
372     </listitem>
373     <listitem>
374      <para>
375       Add an example hostname to the --pre-chroot-nslookup description.
376      </para>
377     </listitem>
378     <listitem>
379      <para>
380       Add an example for a host pattern that matches an IP address.
381      </para>
382     </listitem>
383     <listitem>
384      <para>
385       Rename the 'domain pattern' to 'host pattern' as it may
386       contain IP addresses as well.
387      </para>
388     </listitem>
389     <listitem>
390      <para>
391       Recommend forward-socks5t when using Tor. It seems to work fine and
392       modifying the Tor configuration to profit from it hasn't been necessary
393       for a while now.
394      </para>
395     </listitem>
396     <listitem>
397      <para>
398       Add another redirect{} example to stress that redirect loops can
399       and should be avoided.
400      </para>
401     </listitem>
402     <listitem>
403      <para>
404       The usual spelling and grammar fixes. Parts of them were
405       reported by Reuben Thomas in #3615276.
406      </para>
407     </listitem>
408     <listitem>
409      <para>
410       Mention the PCRS option letters T and D in the filter section.
411      </para>
412     </listitem>
413     <listitem>
414      <para>
415       Clarify that handle-as-empty-doc-returns-ok is still useful
416       and will not be removed without replacement.
417      </para>
418     </listitem>
419     <listitem>
420      <para>
421       Note that security issues shouldn't be reported using the bug tracker.
422      </para>
423     </listitem>
424     <listitem>
425      <para>
426       Clarify what Privoxy does if both +block{} and +redirect{} apply.
427      </para>
428     </listitem>
429     <listitem>
430      <para>
431       Removed the obsolete bookmarklets section.
432      </para>
433      </listitem>
434     </itemizedlist>
435    </para>
436   </listitem>
437   <listitem>
438    <para>
439     Build system improvements:
440     <itemizedlist>
441     <listitem>
442      <para>
443       Let --with-group properly deal with secondary groups.
444       Patch submitted by Anatoly Arzhnikov in #3615187.
445      </para>
446     </listitem>
447     <listitem>
448      <para>
449       Fix web-actions target.
450      </para>
451     </listitem>
452     <listitem>
453      <para>
454       Add a web-faq target that only updates the FAQ on the webserver.
455      </para>
456     </listitem>
457     <listitem>
458      <para>
459       Remove already-commented-out non-portable DOSFILTER alternatives.
460      </para>
461     </listitem>
462     <listitem>
463      <para>
464       Remove the obsolete targets dok-put and dok-get.
465      </para>
466     </listitem>
467     <listitem>
468      <para>
469       Add a sf-shell target.
470      </para>
471      </listitem>
472     </itemizedlist>
473    </para>
474   </listitem>
475  </itemizedlist>
476 </para>