rebuild docs
[privoxy.git] / doc / webserver / user-manual / whatsnew.html
index fc21768..7d4838a 100644 (file)
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="Privoxy 3.0.10 User Manual"
+TITLE="Privoxy 3.0.27 User Manual"
 HREF="index.html"><LINK
 REL="PREVIOUS"
 TITLE="Installation"
@@ -42,7 +42,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->Privoxy 3.0.10 User Manual</TH
+>Privoxy 3.0.27 User Manual</TH
 ></TR
 ><TR
 ><TD
@@ -82,208 +82,566 @@ NAME="WHATSNEW"
 >3. What's New in this Release</A
 ></H1
 ><P
-> There are many improvements and new features since <SPAN
+>  <SPAN
 CLASS="APPLICATION"
->Privoxy 3.0.8</SPAN
->, the last stable release:</P
+>Privoxy 3.0.26</SPAN
+> stable is a bug-fix release
+  for the previously released 3.0.25 beta which introduced client-specific
+  tags and included a couple of minor improvements.</P
 ><P
-> <P
 ></P
 ><UL
 ><LI
 ><P
->    Added SOCKS5 support (with address resolution done by
-    the SOCKS5 server). Patch provided by Eric M. Hopper.
+>    Bug fixes:
    </P
+><P
+></P
+><UL
+><LI
+><P
+>      Fixed crashes with "listen-addr :8118" (SF Bug #902).
+      The regression was introduced in 3.0.25 beta and reported
+      by Marvin Renich in Debian bug #834941.
+    </P
+></LI
+></UL
 ></LI
 ><LI
 ><P
->    The "blocked" CGI pages include a block reason that was
-    provided as argument to the last-applying block action.
+>    General improvements:
    </P
+><P
+></P
+><UL
+><LI
+><P
+>      Log when privoxy is toggled on or off via cgi interface.
+     </P
 ></LI
 ><LI
 ><P
->    If enable-edit-actions is disabled (the default since 3.0.7 beta)
-    the show-status page hides the edit buttons and explains why.
-    Previously the user would get the "this feature has been disabled"
-    message after using the edit button.
-   </P
+>      Highlight the "Info: Now toggled " on/off log message
+      in the Windows log viewer.
+     </P
 ></LI
 ><LI
 ><P
->    Forbidden CONNECT requests are treated like blocks by default.
-    The now-pointless treat-forbidden-connects-like-blocks action
-    has been removed.
-   </P
+>      Highlight the loading actions/filter file log message
+      in the Windows log viewer.
+     </P
 ></LI
 ><LI
 ><P
->    Not enabling limit-connect now allows CONNECT requests to all ports.
-    In previous versions it would only allow CONNECT requests to port 443.
-    Use +limit-connect{443} if you think you need the old default behaviour.
-   </P
+>      Mention client-specific tags on the toggle page as a
+      potentionally more appropriate alternative.
+     </P
+></LI
+></UL
 ></LI
 ><LI
 ><P
->    The CGI editor gets turned off after three edit requests with invalid
-    file modification timestamps. This makes life harder for attackers
-    who can leverage browser bugs to send fake Referers and intend to
-    brute-force edit URLs.
+>    Documentation improvements:
    </P
+><P
+></P
+><UL
+><LI
+><P
+>      Update download section on the homepage.
+      The downloads are available from the website now.
+     </P
 ></LI
 ><LI
 ><P
->    Action settings for multiple patterns in the same section are
-    shared in memory. As a result these sections take up less space
-    (and are loaded slightly faster). Problem reported by Franz Schwartau.
-   </P
+>      Add sponsor FAQ.
+     </P
 ></LI
 ><LI
 ><P
->    Linear white space in HTTP headers will be normalized to single
-    spaces before parsing the header's content, headers split across
-    multiple lines get merged first.
-   </P
+>      Remove obsolete reference to mailing lists hosted at SourceForge.
+     </P
 ></LI
 ><LI
 ><P
->    Host information is gathered outside the main thread so it's less
-    likely to delay other incoming connections if the host is misconfigured.
-   </P
+>      Update the "Before the Release" section of the developer manual.
+     </P
+></LI
+></UL
 ></LI
 ><LI
 ><P
->    New config option "hostname" to use a hostname other than
-    the one returned by the operating system. Useful to speed-up responses
-    for CGI requests on misconfigured systems. Requested by Max Khon.
+>    Infrastructure improvements:
    </P
+><P
+></P
+><UL
+><LI
+><P
+>      Add perl script to generate an RSS feed for the packages
+      Submitted by "Unknown".
+     </P
+></LI
+></UL
 ></LI
 ><LI
 ><P
->    The CGI editor supports the "disable all filters of this type"
-    directives "-client-header-filter", "-server-header-filter",
-    "-client-header-tagger" and "-server-header-tagger".
+>    Build system improvements:
    </P
+><P
+></P
+><UL
+><LI
+><P
+>      strptime.h: fix a compiler warning about ambiguous else.
+     </P
 ></LI
 ><LI
 ><P
->    Fixed false-positives with the link-by-url filter and URLs that
-    contain the pattern "/jump/".
-   </P
+>      configure.in: Check for Docbook goo on the BSDs as well.
+     </P
 ></LI
 ><LI
 ><P
->    The less-download-windows filter no longer messes
-    "Content-Type: application/x-shockwave-flash" headers up.
-   </P
+>      GNUMakefile.in: Let the dok-user target remove temporary files.
+     </P
+></LI
+></UL
 ></LI
+></UL
+><P
+> Changes between <SPAN
+CLASS="APPLICATION"
+>Privoxy 3.0.25 beta</SPAN
+>
+ and the previous release:</P
+><P
+></P
+><UL
 ><LI
 ><P
->    In the show-url-info page's "Final results" section active and
-    inactive actions are listed separately. Patch provided by Lee.
+>    Bug fixes:
    </P
+><P
+></P
+><UL
+><LI
+><P
+>      Always use the current toggle state for new requests.
+      Previously new requests on reused connections inherited
+      the toggle state from the previous request even though
+      the toggle state could have changed.
+      Reported by Robert Klemme.
+     </P
 ></LI
 ><LI
 ><P
->    The GNUmakefile supports the DESTDIR variable. Patch for
-    the install target submitted by Radoslaw Zielinski.
-   </P
+>      Fixed two buffer-overflows in the (deprecated) static
+      pcre code. These bugs are not considered security issues
+      as the input is trusted.
+      Found with afl-fuzz and ASAN.
+     </P
+></LI
+></UL
 ></LI
 ><LI
 ><P
->    Embedding the content of configuration files in the show-status
-    page is significantly faster now. For a largish action file (1 MB)
-    a speedup of about 2450 times has been measured. This is mostly
-    interesting if you are using large action files or regularly use
-    Privoxy-Regression-Test while running Privoxy through Valgrind,
-    for stock configuration files it doesn't really matter.
+>    General improvements:
    </P
+><P
+></P
+><UL
+><LI
+><P
+>      Added support for client-specific tags which allow Privoxy
+      admins to pre-define tags that are set for all requests from
+      clients that previously opted in through the CGI interface.
+      They are useful in multi-user setups where admins may
+      want to allow users to disable certain actions and filters
+      for themselves without affecting others.
+      In single-user setups they are useful to allow more fine-grained
+      toggling. For example to disable request blocking while still
+      crunching cookies, or to disable experimental filters only.
+      This is an experimental feature, the syntax and behaviour may
+      change in future versions.
+      Sponsored by Robert Klemme.
+     </P
 ></LI
 ><LI
 ><P
->    If zlib support is unavailable and there are content
-    filters active but the prevent-compression action is disabled,
-    the show-url-info page includes a warning that compression
-    might prevent filtering.
-   </P
+>      Dynamic filters and taggers now support a $listen-address variable
+      which contains the address the request came in on.
+      For external filters the variable is called $PRIVOXY_LISTEN_ADDRESS.
+      Original patch contributed by pursievro.
+     </P
 ></LI
 ><LI
 ><P
->    The show-url-info page provides an OpenSearch Description that
-    allows to access the page through browser search plugins.
-   </P
+>      Add client-header-tagger 'listen-address'.
+     </P
 ></LI
 ><LI
 ><P
->    The obsolete kill-popups action has been removed as the
-    PCRS-based popup filters can do the same and are slightly
-    less unreliable.
-   </P
+>      Include the listen-address in the log message when logging new requests.
+      Patch contributed by pursievro.
+     </P
 ></LI
 ><LI
 ><P
->    The inspect-jpegs action has been removed.
-   </P
+>      Turn invalid max-client-connections values into fatal errors.
+     </P
 ></LI
 ><LI
 ><P
->    The send-wafer and send-vanilla-wafer actions have been removed.
-    They weren't particular useful and their behaviour could be emulated
-    with add-header anyway.
-   </P
+>      The show-status page now shows whether or not dates before 1970
+      and after 2038 are expected to be handled properly.
+      This is mainly useful for Privoxy-Regression-Test but could
+      also come handy when dealing with time-related support requests.
+     </P
 ></LI
 ><LI
 ><P
->    Privoxy-Regression-Test has been significantly improved.
-   </P
+>      On Mac OS X the thread id in log messages are more likely to
+      be unique now.
+     </P
 ></LI
 ><LI
 ><P
->    Most sections in the default.action file contain tests for
-    Privoxy-Regression-Test to verify that they are working as intended.
-   </P
+>      When complaining about missing filters, the filter type is logged
+      as well.
+     </P
 ></LI
 ><LI
 ><P
->    Parts of Privoxy have been refactored to increase maintainability.
-   </P
+>      A couple of harmless coverity warnings were silenced
+      (CID #161202, CID #161203, CID #161211).
+     </P
+></LI
+></UL
 ></LI
 ><LI
 ><P
->    Building with zlib (if available) is done by default.
+>    Action file improvements:
    </P
+><P
+></P
+><UL
+><LI
+><P
+>      Filtering is disabled for Range requests to let download resumption
+      and Windows updates work with the default configuration.
+     </P
+></LI
+><LI
+><P
+>      Unblock ".ardmediathek.de/".
+      Reported by ThTomate in #932.
+     </P
+></LI
+></UL
 ></LI
 ><LI
 ><P
->    Ordinary configuration file changes no longer cause program
-    termination on OS/2 if the name of the logfile hasn't been
-    changed as well. This regression probably crept in with the
-    logging improvements in 3.0.7. Reported by Maynard.
+>    Documentation improvements:
    </P
+><P
+></P
+><UL
+><LI
+><P
+>      Add FAQ entry for crashes caused by memory limits.
+     </P
+></LI
+><LI
+><P
+>      Remove obsolete FAQ entry about a bug in PHP 4.2.3.
+     </P
+></LI
+><LI
+><P
+>      Mention the new mailing lists were appropriate.
+      As the archives have not been migrated, continue to
+      mention the archives at SF in the contacting section
+      for now.
+     </P
+></LI
+><LI
+><P
+>      Note that the templates should be adjusted if Privoxy is
+      running as intercepting proxy without getting all requests.
+     </P
+></LI
+><LI
+><P
+>      A bunch of links were converted to https://.
+     </P
+></LI
+><LI
+><P
+>      Rephrase onion service paragraph to make it more obvious
+      that Tor is involved and that the whole website (and not
+      just the homepage) is available as onion service.
+     </P
+></LI
+><LI
+><P
+>      Streamline the "More information" section on the homepage further
+      by additionally ditching the link to the 'See also' section
+      of the user manual. The section contains mostly links that are
+      directly reachable from the homepage already and the rest is
+      not significant enough to get a link from the homepage.
+     </P
+></LI
+><LI
+><P
+>      Change the add-header{} example to set the DNT header
+      and use a complete section to make copy and pasting
+      more convenient.
+      Add a comment to make it obvious that adding the
+      header is not recommended for obvious reasons.
+      Using the DNT header as example was suggested by
+      Leo Wzukw.
+     </P
+></LI
+><LI
+><P
+>      Streamline the support-and-service template
+      Instead of linking to the various support trackers
+      (whose URLs hopefully change soon), link to the
+      contact section of the user manual to increase the
+      chances that users actually read it.
+     </P
+></LI
+><LI
+><P
+>      Add a FAQ entry for tainted sockets.
+     </P
+></LI
+><LI
+><P
+>      More sections in the documentation have stable URLs now.
+     </P
+></LI
+><LI
+><P
+>      FAQ: Explain why 'ping config.privoxy.org' is not expected
+      to reach a local Privoxy installation.
+     </P
+></LI
+><LI
+><P
+>      Note that donations done through Zwiebelfreunde e.V. currently
+      can't be checked automatically.
+     </P
+></LI
+><LI
+><P
+>      Updated section regarding starting Privoxy under OS X.
+     </P
+></LI
+><LI
+><P
+>      Use dedicated start instructions for FreeBSD and ElectroBSD.
+     </P
 ></LI
 ><LI
 ><P
->    The img-reorder filter is less likely to mess up JavaScript code in
-    img tags. Problem and solution reported by Glenn Washburn in #2014552.
+>      Removed release instructions for AIX. They haven't been working
+      for years and unsurprisingly nobody seems to care.
+     </P
+></LI
+><LI
+><P
+>      Removed obsolete reference to the solaris-dist target.
+     </P
+></LI
+><LI
+><P
+>      Updated the release instructions for FreeBSD.
+     </P
+></LI
+><LI
+><P
+>      Removed unfinished release instructions for Amiga OS and HP-UX 11.
+     </P
+></LI
+><LI
+><P
+>      Added a pointer to the Cygwin Time Machine for getting the last release of
+      Cygwin version 1.5 to use for building Privoxy on Windows.
+     </P
+></LI
+><LI
+><P
+>      Various typos have been fixed.
+     </P
+></LI
+></UL
+></LI
+><LI
+><P
+>    Infrastructure improvements:
    </P
+><P
+></P
+><UL
+><LI
+><P
+>      The website is no longer hosted at SourceForge and
+      can be reached through https now.
+     </P
 ></LI
 ><LI
 ><P
->    The source tar ball now includes Privoxy-Log-Parser,
-    a syntax-highlighter for Privoxy logs. Documentation is available
-    through perldoc(1), for fancy screenshots see:
-    <A
-HREF="http://www.fabiankeil.de/sourcecode/privoxy-log-parser/"
-TARGET="_top"
->http://www.fabiankeil.de/sourcecode/privoxy-log-parser/</A
->.
+>      The mailing lists at SourceForge have been deprecated,
+      you can subscribe to the new ones at: https://lists.privoxy.org/
+     </P
+></LI
+><LI
+><P
+>      Migrating the remaining services from SourceForge is
+      work in progress (TODO list item #53).
+     </P
+></LI
+></UL
+></LI
+><LI
+><P
+>    Build system improvements:
    </P
+><P
+></P
+><UL
+><LI
+><P
+>      Add configure argument to optimistically redefine FD_SETSIZE
+      with the intent to change the maximum number of client
+      connections Privoxy can handle. Only works with some libcs.
+      Sponsored by Robert Klemme.
+     </P
+></LI
+><LI
+><P
+>      Let the tarball-dist target skip files in ".git".
+     </P
+></LI
+><LI
+><P
+>      Let the tarball-dist target work in cwds other than current.
+     </P
+></LI
+><LI
+><P
+>      Make the 'clean' target faster when run from a git repository.
+     </P
+></LI
+><LI
+><P
+>      Include tools in the generic distribution.
+     </P
+></LI
+><LI
+><P
+>      Let the gen-dist target work in cwds other than current.
+     </P
+></LI
+><LI
+><P
+>      Sort find output that is used for distribution tarballs
+      to get reproducible results.
+     </P
+></LI
+><LI
+><P
+>      Don't add '-src' to the name of the tar ball generated by the
+      gen-dist target. The package isn't a source distribution but a
+      binary package.
+      While at it, use a variable for the name to reduce the chances
+      that the various references get out of sync and fix the gen-upload
+      target which was looking in the wrong directory.
+     </P
+></LI
+><LI
+><P
+>      Add regression-tests.action to the files that are distributed.
+     </P
+></LI
+><LI
+><P
+>      The gen-dist target which was broken since 2002 (r1.92) has been fixed.
+     </P
+></LI
+><LI
+><P
+>      Remove genclspec.sh which has been obsolete since 2009.
+     </P
+></LI
+><LI
+><P
+>      Remove obsolete reference to Redhat spec file.
+     </P
+></LI
+><LI
+><P
+>      Remove the obsolete announce target which has been commented out years ago.
+     </P
+></LI
+><LI
+><P
+>      Let rsync skip files if the checksums match.
+     </P
 ></LI
 ></UL
+></LI
+><LI
+><P
+>    Privoxy-Regression-Test:
+   </P
+><P
 ></P
+><UL
+><LI
 ><P
-> For a more detailed list of changes please have a look at the ChangeLog.</P
+>      Add a "Default level offset" directive which can be used to
+      change the default level by a given value.
+      This directive affects all tests located after it until the end
+      of the file or a another "Default level offset" directive is reached.
+      The purpose of this directive is to make it more convenient to skip
+      similar tests in a given file without having to remove or disable
+      the tests completely.
+     </P
+></LI
+><LI
+><P
+>      Let test level 17 depend on FEATURE_64_BIT_TIME_T
+      instead of FEATURE_PTHREAD which has no direct connection
+      to the time_t size.
+     </P
+></LI
+><LI
+><P
+>      Fix indentation in perldoc examples.
+     </P
+></LI
+><LI
+><P
+>      Don't overlook directives in the first line of the action file.
+     </P
+></LI
+><LI
+><P
+>      Bump version to 0.7.
+     </P
+></LI
+><LI
+><P
+>      Fix detection of the Privoxy version now that https://
+      is used for the website.
+     </P
+></LI
+></UL
+></LI
+></UL
 ><DIV
 CLASS="SECT2"
 ><H2
@@ -293,13 +651,12 @@ NAME="UPGRADERSNOTE"
 >3.1. Note to Upgraders</A
 ></H2
 ><P
-> A quick list of things to be aware of before upgrading from earlier 
+> A quick list of things to be aware of before upgrading from earlier
  versions of <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
 >:</P
 ><P
-> <P
 ></P
 ><UL
 ><LI
@@ -307,7 +664,7 @@ CLASS="APPLICATION"
 >   The recommended way to upgrade <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
-> is to backup your old 
+> is to backup your old
    configuration files, install the new ones, verify that <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
@@ -337,31 +694,19 @@ CLASS="APPLICATION"
 ></LI
 ><LI
 ><P
->  
-    Note that some installers remove earlier versions completely,
+>    Note that some installers remove earlier versions completely,
     including configuration files, therefore you should really save
     any important configuration files!
   </P
 ></LI
 ><LI
 ><P
->  
-   On the other hand, other installers don't overwrite existing configuration 
+>   On the other hand, other installers don't overwrite existing configuration
    files, thinking you will want to do that yourself.
   </P
 ></LI
 ><LI
 ><P
->  
-   <TT
-CLASS="FILENAME"
->standard.action</TT
-> now only includes the enabled actions.
-   Not all actions as before.
-  </P
-></LI
-><LI
-><P
 >   In the default configuration only fatal errors are logged now.
    You can change that in the <A
 HREF="config.html#DEBUG"
@@ -377,7 +722,7 @@ CLASS="APPLICATION"
 ></LI
 ><LI
 ><P
->     Three other config file settings are now off by default: 
+>     Three other config file settings are now off by default:
      <A
 HREF="config.html#ENABLE-REMOTE-TOGGLE"
 >enable-remote-toggle</A
@@ -389,34 +734,12 @@ HREF="config.html#ENABLE-REMOTE-HTTP-TOGGLE"
      and  <A
 HREF="config.html#ENABLE-EDIT-ACTIONS"
 >enable-edit-actions</A
->. 
+>.
      If you use or want these, you will need to explicitly enable them, and
-     be aware of the security issues involved. 
+     be aware of the security issues involved.
     </P
 ></LI
-><LI
-><P
->    The <SPAN
-CLASS="QUOTE"
->"filter-client-headers"</SPAN
-> and
-    <SPAN
-CLASS="QUOTE"
->"filter-server-headers"</SPAN
-> actions that were introduced with
-    <SPAN
-CLASS="APPLICATION"
->Privoxy 3.0.5</SPAN
-> to apply content filters to
-    the headers  have been removed and replaced with new actions.
-    See the <A
-HREF="whatsnew.html"
->What's New section</A
-> above.
-   </P
-></LI
 ></UL
-></P
 ></DIV
 ></DIV
 ><DIV