Update the first paragraph of the 'What's New' section.
[privoxy.git] / doc / source / user-manual.sgml
index 8af6da9..ea67d35 100644 (file)
@@ -11,7 +11,7 @@
 <!entity license SYSTEM "license.sgml">
 <!entity p-authors SYSTEM "p-authors.sgml">
 <!entity config SYSTEM "p-config.sgml">
-<!entity p-version "3.0.11">
+<!entity p-version "3.0.17">
 <!entity p-status "stable">
 <!entity % p-authors-formal "INCLUDE"> <!-- include additional text, etc  -->
 <!entity % p-not-stable "IGNORE">
@@ -24,6 +24,7 @@
 <!entity % p-supp-userman "IGNORE"> <!-- Omit some from supported.sgml    -->
 <!entity  my-copy "&copy;">         <!-- kludge for docbook2man           -->
 <!entity % draft "IGNORE">          <!-- WIP stuff    -->
+<!entity % seealso-extra "INCLUDE"> <!-- extra stuff from seealso.sgml    -->
 <!entity  my-app "<application>Privoxy</application>">
 ]>
 <!--
@@ -33,9 +34,9 @@
                 This file belongs into
                 ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
 
- $Id: user-manual.sgml,v 2.96 2009/02/14 13:14:03 fabiankeil Exp $
+ $Id: user-manual.sgml,v 2.127 2010/11/10 21:48:54 fabiankeil Exp $
 
- Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
+ Copyright (C) 2001-2010 Privoxy Developers http://www.privoxy.org/
  See LICENSE.
 
  ========================================================================
  <subscript>
 <!-- Completely the wrong markup, but very little is allowed  -->
 <!-- in this part of an article. FIXME -->
- <link linkend="copyright">Copyright</link> &my-copy; 2001-2009 by 
+ <link linkend="copyright">Copyright</link> &my-copy; 2001-2010 by
  <ulink url="http://www.privoxy.org/">Privoxy Developers</ulink>
  </subscript>
 </pubdate>
 
-<pubdate>$Id: user-manual.sgml,v 2.96 2009/02/14 13:14:03 fabiankeil Exp $</pubdate>
+<pubdate>$Id: user-manual.sgml,v 2.127 2010/11/10 21:48:54 fabiankeil Exp $</pubdate>
 
 <!--
 
@@ -114,12 +115,12 @@ Hal.
 <sect1 label="1" id="introduction"><title>Introduction</title>
 <para>
  This documentation is included with the current &p-status; version of
- <application>Privoxy</application>, v.&p-version;<![%p-not-stable;[, 
+ <application>Privoxy</application>, v.&p-version;<![%p-not-stable;[,
  and is mostly complete at this point. The most up to date reference for the
  time being is still the comments in the source files and in the individual
  configuration files. Development of a new version is currently nearing
  completion, and includes significant changes and enhancements over
- earlier versions]]>.
+ earlier versions]]>.
 </para>
 
 <!-- include only in non-stable versions -->
@@ -436,143 +437,487 @@ How to install the binary packages depends on your operating system:
 <sect1 id="whatsnew">
 <title>What's New in this Release</title>
 <para>
- There are only a few improvements and new features since
<application>Privoxy 3.0.10</application>, the last stable release:
+ <application>Privoxy 3.0.17</application> is a stable release.
The changes since 3.0.16 stable are:
 </para>
 
 <para>
  <itemizedlist>
-  <listitem>
-   <para>
-    On most platforms, outgoing connections can be kept alive and
-    reused if the server supports it. Whether or not this improves
-    things depends on the connection.
-   </para>
-  </listitem>
-  <listitem>
-   <para>
-    When dropping privileges, membership in supplementary groups
-    is given up as well. Not doing that can lead to Privoxy running
-    with more rights than necessary and violates the principle of
-    least privilege. Users of the --user option are advised to update.
-    Thanks to Matthias Drochner for reporting the problem,
-    providing the initial patch and testing the final version.
-   </para>
-  </listitem>
-  <listitem>
+    <listitem>
    <para>
-    Passing invalid users or groups with the --user option
-    didn't lead to program exit. Regression introduced in 3.0.7.
+    Fixed last-chunk-detection for responses where the content was small
+    enough to be read with the body, causing Privoxy to wait for the
+    end of the content until the server closed the connection.
+    Reported by "Karsten" in #3028326.
    </para>
   </listitem>
   <listitem>
    <para>
-    The match all section has been moved from default.action
-    to a new file called match-all.action. As a result the
-    default.action no longer needs to be touched by the user
-    and can be safely overwritten by updates.
+    Responses with status code 204 weren't properly detected as body-less
+    like RFC2616 mandates. Like the previous bug, this caused Privoxy
+    to wait for the end of the content until the server closed the connection.
+    Fixes #3022042 and #3025553, reported by a user with no visible name.
+    Most likely also fixes a bunch of other AJAX-related problem reports
+    that got closed in the past due to insufficient information and lack
+    of feedback.
    </para>
   </listitem>
   <listitem>
    <para>
-    The standard.action file has been removed. Its content
-    is now part of the default.action file.
+    Fixed an ACL bug that made it impossible to build a blacklist.
+    Usually the ACL directives are used in a whitelist, which worked
+    as expected, but blacklisting is still useful for public proxies
+    where one only needs to deny known abusers access.
    </para>
   </listitem>
   <listitem>
    <para>
-    In some situations the logged content length was slightly too low.
+    Added LOG_LEVEL_RECEIVED to log the not-yet-parsed data read from the
+    network. This should make debugging various parsing issues a lot easier.
    </para>
   </listitem>
   <listitem>
    <para>
-    Crunched requests are logged with their own log level.
-    If you used "debug 1" in the past, you'll probably want
-    to additionally enable "debug 1024", otherwise only passed
-    requests will be logged. If you only care about crunched
-    requests, simply replace "debug 1" with "debug 1024".
+    The IPv6 code is enabled by default on Windows versions that support it.
+    Patch submitted by oCameLo in #2942729.
    </para>
   </listitem>
   <listitem>
    <para>
-    The crunch reason has been moved to the beginning of the
-    crunch message. For HTTP URLs, the protocol is logged as well.
+    In mingw32 versions, the user.filter file is reachable through the
+    GUI, just like default.filter is. Feature request 3040263.
    </para>
   </listitem>
   <listitem>
    <para>
-    Log messages are shortened by not printing the thread id
-    on its own (as opposed to putting it inside "Privoxy()".
+    Added the configure option --enable-large-file-support to set a few
+    defines that are required by platforms like GNU/Linux to support files
+    larger then 2GB. Mainly interesting for users without proper logfile
+    management.
    </para>
   </listitem>
   <listitem>
    <para>
-    The config option socket-timeout has been added to control
-    the time Privoxy waits for data to arrive on a socket.
+    Logging with "debug 16" no longer stops at the first nul byte which is
+    pretty useless. Non-printable characters are replaced with their hex value
+    so the result can't span multiple lines making parsing them harder then
+    necessary.
    </para>
   </listitem>
   <listitem>
    <para>
-    Support for remote toggling is controlled by the configure
-    option --disable-toggle only. In previous versions it also
-    depended on the action editor and thus configuring with the
-    --disable-editor option would disable remote toggling support
-    as well.
+    Privoxy logs when reading an action, filter or trust file.
    </para>
   </listitem>
   <listitem>
    <para>
-    Requests with invalid HTTP versions are rejected.
+    Fixed incorrect regression test markup which caused a test in
+    3.0.16 to fail while Privoxy itself was working correctly.
+    While Privoxy accepts hide-referer, too, the action name is actually
+    hide-referrer which is also the name used one the final results page,
+    where the test expected the alias.
    </para>
   </listitem>
   <listitem>
    <para>
-    The template symbol @date@ can be used to include a date(1)-like
-    time string. Initial patch submitted by Endre Szabo.
+    CGI interface improvements:
+    <itemizedlist>
+    <listitem>
+     <para>
+      In finish_http_response(), continue to add the 'Connection: close'
+      header if the client connection will not be kept alive.
+      Anonymously pointed out in #2987454.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Apostrophes in block messages no longer cause parse errors
+      when the blocked page is viewed with JavaScript enabled.
+      Reported by dg1727 in #3062296.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Fix a bunch of anchors that used underscores instead of dashes.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Allow to keep the client connection alive after crunching the previous request.
+      Already opened server connections can be kept alive, too.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      In cgi_show_url_info(), don't forget to prefix URLs that only contain http:// or https:// in the path.
+      Fixes #2975765 reported by Adam Piggott.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Show the 404 CGI page if cgi_send_user_manual() is called while
+      local user manual delivery is disabled.
+     </para>
+    </itemizedlist>
    </para>
   </listitem>
   <listitem>
    <para>
-    Responses from shoutcast servers are accepted again.
-    Problem reported and fix suggested by Stefan.
+    Action file improvements:
+    <itemizedlist>
+    <listitem>
+     <para>
+      Enable user.filter by default. Suggested by David White in #3001830.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Block .sitestat.com/. Reported by johnd16 in #3002725.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Block .atemda.com/. Reported by johnd16 in #3002723.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Block js.adlink.net/. Reported by johnd16 in #3002720.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Block .analytics.yahoo.com/. Reported by johnd16 in #3002713.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Block sb.scorecardresearch.com, too. Reported by dg1727 in #2992652.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Fix problems noticed on Yahoo mail and news pages.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Remove the too broad yahoo section, only keeping the
+      fast-redirects exception as discussed on ijbswa-devel@.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Don't block adesklets.sourceforge.net. Reported in #2974204.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Block chartbeat ping tracking. Reported in #2975895.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Tag CSS and image requests with cautious and medium settings, too.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Don't handle view.atdmt.com as image. It's used for click-throughs
+      so users should be able to "go there anyway".
+      Reported by Adam Piggott in #2975927.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Also let the refresh-tags filter remove invalid refresh tags where
+      the 'url=' part is missing. Anonymously reported in #2986382.
+      While at it, update the description to mention the fact that only
+      refresh tags with refresh times above 9 seconds are covered.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      javascript needs to be blocked with +handle-as-empty-document to
+      work around Firefox bug 492459.  So move .js blockers from
+      +block{Might be a web-bug.} -handle-as-empty-document
+      to
+      +block{Might be a web-bug.} +handle-as-empty-document
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      ijbswa-Feature Requests-3006719 - Block 160x578 Banners.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Block another omniture tracking domain
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Added a range-requests tagger.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Added two sections to get Flickr's Ajax interface working with
+      default pre-settings. If you change the configuration to block
+      cookies by default, you'll need additional exceptions.
+      Reported by Mathias Homann in #3101419 and by Patrick on ijbswa-users@
+     </para>
+    </itemizedlist>
    </para>
   </listitem>
   <listitem>
    <para>
-    The hide-forwarded-for-headers action has been replaced with
-    the change-x-forwarded-for{} action which can also be used to
-    add X-Forwarded-For headers. The latter functionality already
-    existed in Privoxy versions prior to 3.0.7 but has been removed
-    as it was often used unintentionally (by not using the
-    hide-forwarded-for-headers action).
+    Documentation improvements:
+    <itemizedlist>
+    <listitem>
+     <para>
+      Explicitly mention how to match all URLs.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Consistently recommend socks5 in the Tor FAQ entry and mention
+      its advantage compared to socks4a. Reported by David in #2960129.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Slightly improve the explanation of why filtering may appear
+      slower than it is.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Grammar fixes for the ACL section.
+     </para>
+    </itemizedlist>
    </para>
   </listitem>
   <listitem>
    <para>
-    A "clear log" view option was added to the mingw32 version
-    to clear out all of the lines in the Privoxy log window.
-    Based on a patch submitted by T Ford.
+    Privoxy-Log-Parser improvements:
+    <itemizedlist>
+    <listitem>
+     <para>
+      Also gather statistics for blocked and redirected requests.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Provide the percentage of keep-alive offers the client accepted.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Add a --url-statistics-threshold option.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Also gather statistics for ressources, methods, and HTTP versions
+      used by the client.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Add a --host-statistics-threshold option to also gather
+      statistics about how many request where made per host.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Fix a bug in handle_loglevel_header() where a 'scan: ' got lost.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Add a --shorten-thread-ids option to replace the thread id with
+      a decimal number.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Accept and ignore: Looks like we got the last chunk together
+      with the server headers. We better stop reading.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Accept and ignore: Continue hack in da house.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Accept and higlight: Rejecting connection from 10.0.0.2.
+      Maximum number of connections reached.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Accept and highlight: Loading actions file: /usr/local/etc/privoxy/default.action
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Accept and highlight: Loading filter file: /usr/local/etc/privoxy/default.filter
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Accept and highlight: Killed all-caps Host header line: HOST: bestproxydb.com
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Accept and highlight: Reducing expected bytes to 0. Marking
+      the server socket tainted after throwing 4 bytes away.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Accept: Merged multiple header lines to: 'X-FORWARDED-PROTO: http X-HOST: 127.0.0.1'
+     </para>
+    </itemizedlist>
    </para>
   </listitem>
   <listitem>
    <para>
-    The mingw32 version uses "critical sections" now, which prevents
-    log message corruption under load. As a side effect, the
-    "no thread-safe PRNG" warning could be removed as well.
+    Code cleanups:
+    <itemizedlist>
+    <listitem>
+     <para>
+      Remove the next member from the client_state struct. Only the main
+      thread needs access to all client states so give it its own struct.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Garbage-collect request_contains_null_bytes().
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Ditch redundant code in unload_configfile().
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Ditch LogGetURLUnderCursor() which doesn't seem to be used anywhere.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      In write_socket(), remove the write-only variable write_len in
+      an ifdef __OS2__ block. Spotted by cppcheck.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      In connect_to(), don't declare the variable 'flags' on OS/2 where
+      it isn't used. Spotted by cppcheck.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Limit the scope of various variables. Spotted by cppcheck.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      In add_to_iob(), turn an interestingly looking for loop into a
+      boring while loop.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Code cleanup in preparation for external filters.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      In listen_loop(), mention the socket on which we accepted the
+      connection, not just the source IP address.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      In write_socket(), also log the socket we're writing to.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      In log_error(), assert that escaped characters get logged
+      completely or not at all.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      In log_error(), assert that ival and sval have reasonable values.
+      There's no reason not to abort() if they don't.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Remove an incorrect cgi_error_unknown() call in a
+      cannnot-happen-situation in send_crunch_response().
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Clean up white-space in http_response definition and
+      move the crunch_reason to the beginning.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Turn http_response.reason into an enum and rename it
+      to http_response.crunch_reason.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Silence a 'gcc (Debian 4.3.2-1.1) 4.3.2' warning on i686 GNU/Linux.
+     </para>
+    </itemizedlist>
    </para>
   </listitem>
   <listitem>
    <para>
-    The mingw32 version's task bar icon is crossed out and
-    the color changed to gray if Privoxy is toggled off.
+    GNUmakefile improvements:
+    <itemizedlist>
+    <listitem>
+     <para>
+      Use $(SSH) instead of ssh, so one only needs to specify a username once.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Removed references to the action feedback thingy that hasn't been
+      working for years.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Consistently use shell.sourceforge.net instead of shell.sf.net so
+      one doesn't need to check server fingerprints twice.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Removed GNUisms in the webserver and webactions targets so they
+      work with standard tar.
+     </para>
+    </itemizedlist>
    </para>
   </listitem>
  </itemizedlist>
 </para>
 
-<para>
- For a more detailed list of changes please have a look at the ChangeLog.
-</para>
 
 <!--   ~~~~~       New section      ~~~~~     -->
 
@@ -2196,12 +2541,12 @@ for details.
  
 <para>
  Generally, an URL pattern has the form
- <literal>&lt;domain&gt;/&lt;path&gt;</literal>, where both the
- <literal>&lt;domain&gt;</literal> and <literal>&lt;path&gt;</literal> are
optional. (This is why the special <literal>/</literal> pattern matches all
- URLs). Note that the protocol portion of the URL pattern (e.g.
- <literal>http://</literal>) should <emphasis>not</emphasis> be included in
- the pattern. This is assumed already!
+ <literal>&lt;domain&gt;&lt;port&gt;/&lt;path&gt;</literal>, where the
+ <literal>&lt;domain&gt;</literal>, the <literal>&lt;port&gt;</literal>
and the <literal>&lt;path&gt;</literal> are optional. (This is why the special
+ <literal>/</literal> pattern matches all URLs). Note that the protocol
+ portion of the URL pattern (e.g. <literal>http://</literal>) should
<emphasis>not</emphasis> be included in the pattern. This is assumed already!
 </para>
 <para>
  The pattern matching syntax is different for the domain and path parts of
@@ -2210,6 +2555,12 @@ for details.
  <ulink url="http://en.wikipedia.org/wiki/Regular_expressions"><quote>Regular
   Expressions</quote></ulink> (POSIX 1003.2).
 </para>
+<para>
+ The port part of a pattern is a decimal port number preceded by a colon
+ (<literal>:</literal>). If the domain part contains a numerical IPv6 address,
+ it has to be put into angle brackets
+ (<literal>&lt;</literal>, <literal>&gt;</literal>).
+</para>
 
 <variablelist>
  <varlistentry>
@@ -2259,6 +2610,32 @@ for details.
    </para>
   </listitem>
  </varlistentry>
+ <varlistentry>
+  <term><literal>/</literal></term>
+  <listitem>
+   <para>
+    Matches any URL because there's no requirement for either the
+    domain or the path to match anything.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term><literal>:8000/</literal></term>
+  <listitem>
+   <para>
+    Matches any URL pointing to TCP port 8000.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term><literal>&lt;2001:db8::1&gt;/</literal></term>
+  <listitem>
+   <para>
+    Matches any URL with the host address <literal>2001:db8::1</literal>.
+    (Note that the real URL uses plain brackets, not angle brackets.)
+   </para>
+  </listitem>
+ </varlistentry>
  <varlistentry>
   <term><literal>index.html</literal></term>
   <listitem>
@@ -2724,6 +3101,9 @@ for details.
     <quote>HTTP headers</quote> are, you definitely don't need to worry about this 
     one.
    </para>
+   <para>
+    Headers added by this action are not modified by other actions.
+   </para>
   </listitem>
  </varlistentry>
 
@@ -3911,9 +4291,10 @@ problem-host.example.com</screen>
    <para>
     Filtering requires buffering the page content, which may appear to
     slow down page rendering since nothing is displayed until all content has
-    passed the filters. (It does not really take longer, but seems that way
-    since the page is not incrementally displayed.) This effect will be more
-    noticeable on slower connections.
+    passed the filters. (The total time until the page is completely rendered
+    doesn't change much, but it may be perceived as slower since the page is
+    not incrementally displayed.)
+    This effect will be more noticeable on slower connections.
    </para>
    <para>
    <quote>Rolling your own</quote>
@@ -5220,7 +5601,7 @@ new action
     <quote>reset-to-request-time</quote> overwrites the value of the
     <quote>Last-Modified:</quote> header with the current time. You could use
     this option together with
-    <literal><link linkend="hide-if-modified-since">hided-if-modified-since</link></literal>
+    <literal><link linkend="hide-if-modified-since">hide-if-modified-since</link></literal>
     to further customize your random range.
    </para>
    <para>
@@ -8502,6 +8883,102 @@ In file: user.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibut
  USA
 
  $Log: user-manual.sgml,v $
+ Revision 2.127  2010/11/10 21:48:54  fabiankeil
+ Update the "What's New" section.
+
+ Revision 2.126  2010/11/06 12:55:48  fabiankeil
+ Set p-version to 3.0.17
+
+ Revision 2.125  2010/09/03 17:39:37  fabiankeil
+ Slightly improve the explanation of why filtering may appear slower than it is.
+
+ Revision 2.124  2010/05/01 18:21:30  fabiankeil
+ Explicitly mention how to match any URL.
+
+ Revision 2.123  2010/02/19 16:00:38  fabiankeil
+ Even more fixes.
+
+ Revision 2.122  2010/02/19 15:22:47  fabiankeil
+ Add missing word.
+
+ Revision 2.121  2010/02/15 15:30:13  fabiankeil
+ Mention the use of the no-such-domain template for DNS problems with FEATURE_IPV6_SUPPORT enabled.
+
+ Revision 2.120  2010/02/13 17:38:39  fabiankeil
+ Update entities for 3.0.16 stable.
+
+ Revision 2.119  2010/02/13 16:37:37  fabiankeil
+ Update 'What's new?' section.
+
+ Revision 2.118  2010/02/11 13:59:48  fabiankeil
+ Mention that the headers added by the add-header action aren't modified by other actions.
+
+ Revision 2.117  2010/01/11 12:56:04  fabiankeil
+ Bump copyright range as p-config.sgml's copyright line is only used in the config file.
+
+ Revision 2.116  2009/11/15 14:24:12  fabiankeil
+ Prepare to generate docs for 3.0.16 UNRELEASED.
+
+ Revision 2.115  2009/10/10 06:19:34  fabiankeil
+ Ditch a duplicated 'since'.
+
+ Revision 2.114  2009/10/10 05:51:48  fabiankeil
+ Update "What's new" section.
+
+ Revision 2.113  2009/10/10 05:48:55  fabiankeil
+ Prepare for 3.0.15 beta.
+
+ Revision 2.112  2009/07/24 12:20:30  fabiankeil
+ Remove duplicated period.
+
+ Revision 2.111  2009/07/18 18:11:11  fabiankeil
+ Don't claim that NTLM should work when there are multiple reports that it doesn't.
+
+ Revision 2.110  2009/07/18 16:25:17  fabiankeil
+ Fix trailing whitespace.
+
+ Revision 2.109  2009/07/18 16:24:39  fabiankeil
+ Bump entities for 3.0.14 beta.
+
+ Revision 2.108  2009/07/18 15:49:23  fabiankeil
+ Add most of the changes in 3.0.14 to the "What's New" section.
+
+ Revision 2.107  2009/06/12 14:30:58  fabiankeil
+ Update entities for 3.0.13 beta.
+
+ Revision 2.106  2009/06/12 11:04:13  fabiankeil
+ Import ChangeLog for 3.0.13 beta.
+
+ Revision 2.105  2009/04/17 11:32:57  fabiankeil
+ Grammar and spelling fixes.
+
+ Revision 2.104  2009/04/17 11:27:49  fabiankeil
+ Petr Pisar's privoxy-3.0.12-ipv6-3.diff.
+
+ Revision 2.103  2009/03/21 10:49:05  fabiankeil
+ Merge updated ChangeLog.
+
+ Revision 2.102  2009/03/15 19:31:36  fabiankeil
+ Update "What's New in this Release" section.
+
+ Revision 2.101  2009/02/25 19:01:56  fabiankeil
+ Fix typo.
+
+ Revision 2.100  2009/02/19 17:14:11  fabiankeil
+ - Copy the release cycle description from announce.txt into
+   the "What's New" section.
+ - Stop referring to the ChangeLog for a "complete list of changes".
+   The "What's New" section already contains the complete list.
+
+ Revision 2.99  2009/02/19 02:20:22  hal9
+ Make some links in seealso conditional. Man page is now privoxy only links.
+
+ Revision 2.98  2009/02/16 17:10:33  fabiankeil
+ Fix entry about shortened log messages. Noticed by Lee.
+
+ Revision 2.97  2009/02/14 18:01:00  fabiankeil
+ Import ChangeLog.
+
  Revision 2.96  2009/02/14 13:14:03  fabiankeil
  Unbreak syntax.