1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "http://www.w3.org/TR/html4/loose.dtd">
5 <title>What's New in this Release</title>
6 <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
7 <link rel="HOME" title="Privoxy 3.0.31 User Manual" href="index.html">
8 <link rel="PREVIOUS" title="Installation" href="installation.html">
9 <link rel="NEXT" title="Quickstart to Using Privoxy" href="quickstart.html">
10 <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
11 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
12 <link rel="STYLESHEET" type="text/css" href="p_doc.css">
14 <body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <div class="NAVHEADER">
16 <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
18 <th colspan="3" align="center">Privoxy 3.0.31 User Manual</th>
21 <td width="10%" align="left" valign="bottom"><a href="installation.html" accesskey="P">Prev</a></td>
22 <td width="80%" align="center" valign="bottom"></td>
23 <td width="10%" align="right" valign="bottom"><a href="quickstart.html" accesskey="N">Next</a></td>
26 <hr align="left" width="100%">
29 <h1 class="SECT1"><a name="WHATSNEW" id="WHATSNEW">3. What's New in this Release</a></h1>
30 <p><span class="APPLICATION">Privoxy 3.0.31</span> fixes two security issues that were discovered while preparing
31 the 3.0.30 release. The issues also affect earlier Privoxy releases.</p>
32 <p>Changes in <span class="APPLICATION">Privoxy 3.0.31</span> stable:</p>
35 <p>Security/Reliability:</p>
38 <p>Prevent an assertion from getting triggered by a crafted CGI request. Commit 5bba5b89193fa.
39 OVE-20210130-0001. Reported by: Joshua Rogers (Opera)</p>
42 <p>Fixed a memory leak when decompression fails "unexpectedly". Commit f431d61740cc0.
43 OVE-20210128-0001.</p>
51 <p>Fixed detection of insufficient data for decompression. Previously Privoxy could try to decompress a
52 partly uninitialized buffer.</p>
57 <p>Changes in <span class="APPLICATION">Privoxy 3.0.30</span> stable:</p>
63 <p>Check the actual URL for redirects when https inspecting requests. Previously Privoxy would only check
64 the path which resulted in rewrite results being rejected as invalid URLs. Reported by withoutname in
68 <p>Let the hide-referrer code tolerate Referer headers with https:// URLs. Previously they would always be
69 treated like a changed host.</p>
72 <p>Use the https headers if the show-request handler is reached through https://. Previously Privoxy would
73 use the http headers which may be empty on a reused connection.</p>
76 <p>Make CGI_PREFIX protocol-relative when building with FEATURE_HTTPS_INSPECTION. This unbreaks (at least)
77 https://config.privoxy.org/client-tags whose buttons would previously use a http:// URL resulting in
81 <p>Support using https-inspection and client-header-order at the same time. Previously Privoxy would crash.
82 Reported by: Kai Raven</p>
85 <p>Properly reject rewrites from http to https as they currently aren't supported. Previously Privoxy would
86 wait for the client to establish an encrypted connection which obviously would not happen.</p>
89 <p>When https inspection is enabled and Privoxy has been compiled with FEATURE_GRACEFUL_TERMINATION (not
90 recommended for production builds), the TLS backend resources are free'd later on and only if no active
91 connections are left. Prevents crashes when exiting "gracefully" at the wrong time.</p>
94 <p>Let the uninstall target remove the config file even if DESTDIR is set and properly announce the
95 deletion of the configuration files.</p>
100 <p>General improvements:</p>
103 <p>Allow to rewrite the request destination for https-inspected requests behind the client's back. The
104 documentation already sort of claimed that it was supported by not especially mentioning that it didn't
105 work for https-inspected requests. Fixes SF bug #923 reported by withoutname.</p>
108 <p>Add support for filtering client request bodies by using CLIENT-BODY-FILTER filters which can be enabled
109 with the client-body-filter action. Patch submitted by Maxim Antonov. Sponsored by: Robert Klemme</p>
112 <p>Add the new action suppress-tag{} which can be used to prevent a tagger from adding a tag. Patch
113 submitted by Maxim Antonov. Sponsored by: Robert Klemme</p>
116 <p>Gracefully handle existing website keys without matching certificates. This can happen if Privoxy was
117 previously running with an invalid TLS configuration that didn't allow it to create a certificate.</p>
120 <p>Recycle debug bit 4 for Tagging-related messages.</p>
123 <p>Improve the message shown when the client-tags CGI page is requested with no tags configured.</p>
126 <p>Shorten the 'donate' and 'participate' links used by templates using redirects. Currently the redirects
127 lead to the FAQ entries but in the future we may want to relocate the content and using redirects makes
128 this more convenient.</p>
131 <p>Log an error when a PCRE-HOST-PATTERN is used with FEATURE_PCRE_HOST_PATTERNS disabled. Don't treat this
132 a fatal error so the regression tests can be used with and without FEATURE_PCRE_HOST_PATTERNS.</p>
135 <p>The code compiles with older C compilers again.</p>
138 <p>The chdir() return code is checked to fix a compiler warning.</p>
141 <p>The packages feed has been removed from the source tarball. It's usually out of date when the source
142 tarball is generated for the release.</p>
145 <p>Fixed harmless compiler warnings from GCC9 with -D_FORTIFY_SOURCE=2.</p>
148 <p>windows: Remove obsolete '$(DEST)/doc/images' target.</p>
151 <p>windows: Install the images referenced in the user manual.</p>
154 <p>Remove obsolete 'gnu_regex.@OBJEXT@' target.</p>
157 <p>When installing from the GNUMAkefile, don't create an 'images' directory which is no longer used. The
158 images were relocated to the user-manual directory years ago.</p>
161 <p>Add new FEATURES to the show-status page and resort list.</p>
164 <p>Remove unused variable in the OpenSSL-specific code.</p>
167 <p>Update bug tracker URL in cgi_error_unknown().</p>
170 <p>Saved a couple of memory allocations when sorting client headers.</p>
173 <p>Improved a couple of error messages.</p>
176 <p>Saved memory allocations when using OpenSSL and checking if a key already exists.</p>
179 <p>The configure script will bail out if OpenSSL and mbedTLS are enabled at the same time.</p>
182 <p>Log a message right before exiting gracefully.</p>
185 <p>A couple of structures have been rearranged to require slightly less memory.</p>
188 <p>When https inspection is enabled and the certificate is invalid the error message is now sent with
189 status code 403 instead of 200.</p>
192 <p>The Slackware rc script template has been renamed to slackware/rc.privoxy.in to silence complaints when
193 building Debian packages.</p>
196 <p>When building with MbedTLS support, mbedtls_md5_ret() is used instead of mbedtls_md5() which is
197 deprecated and causes a warning on Debian GNU/Linux.</p>
202 <p>Action file improvements:</p>
205 <p>Block requests to eu-tlp03.kameleoon.com/.</p>
208 <p>Unblock metrics.sr.ht/.</p>
211 <p>Disable fast-redirects for .fsf.org/.</p>
214 <p>Disable fast-redirects for .gravater.com/.</p>
217 <p>Disable fast-redirects for .ksta.de/.</p>
220 <p>Block requests to tag.crsspxl.com/.</p>
223 <p>Block requests to analytics.slashdotmedia.com/.</p>
226 <p>Block requests to ml314.com/.</p>
229 <p>Block requests to .adroll.com/.</p>
232 <p>Block requests to fastlane.rubiconproject.com/.</p>
235 <p>Block requests to api.theadex.com/.</p>
238 <p>Block requests to ih.adscale.de/.</p>
241 <p>Block requests to .s400.meetrics.net/.</p>
244 <p>Block requests for pp.lp4.io/.</p>
247 <p>Block requests for trc-events.taboola.com/.</p>
252 <p>Filter file improvements:</p>
255 <p>A allow-autocompletion filter has been added which changes autocomplete="off" to "on" on input fields to
256 allow autocompletion. Requested by Jamie Zawinski in #370. Filter based on a submission by Aaron
260 <p>Added an imdb filter.</p>
263 <p>Added a sourceforge filter that reduces the amount of ads for proprietary software.</p>
266 <p>Added a github filter that removes the annoying "Sign-Up" banner and the Cookie disclaimer.</p>
269 <p>Removed a duplicated pcrs command from the js-annoyances filter.</p>
272 <p>The crude-parental filter now provides a short reason when blocking, inserts a link to Privoxy's
273 webinterface and adds a new line at the end of the generated page.</p>
278 <p>Privoxy-Log-Parser:</p>
281 <p>Highlight a few more messages.</p>
284 <p>Add a handler for tagging messages.</p>
287 <p>Properly deal with 'Certificate error' crunches Previously the error description was highlighted as
291 <p>Log truncated LOG_LEVEL_CLF messages more gracefully and note that the statistics will be imprecise.</p>
294 <p>Fixed perldoc typo.</p>
297 <p>Bump version to 0.9.2.</p>
302 <p>Privoxy-Regression-Test:</p>
305 <p>Use http://127.0.0.1:8118/ as default Privoxy address unless http_proxy is set through the
309 <p>Add a --privoxy-cgi-prefix option that specifies the prefix to use when building URLs that are supposed
310 to reach Privoxy's CGI interface. If it's not set, http://p.p/ is used, which is supposed to work with the
311 default Privoxy configuration. If Privoxy has been built with FEATURE_HTTPS_INSPECTION enabled, and if
312 https inspection is activated with the +https-inspection action, this option can be used with
313 "https://p.p/" provided the system running Privoxy-Regression-Test has been configured to trust the
314 certificate used by Privoxy. Note that there are currently two tests in the official
315 regression-tests.action file that are expected to fail when using "https://p.p/" as privoxy-cgi-prefix.</p>
318 <p>Skip the connection-established response in get_status_code() when looking for the status code with a
319 CGI prefix that starts with https://. We care about the status code sent by the impersonated web
323 <p>Use --proxy-header when using a CGI prefix with https:// and a "Host:" header.</p>
326 <p>Allow '|' in tokens and values to allow tag patterns like
327 "TAG:^(application|text)/(x-)?javascript$".</p>
330 <p>When get_cgi_page_or_else() fails, include the URL of the requested page in the log message.</p>
333 <p>Added a --check-bad-ssl option that can be used to verify that Privoxy detects certificate problems when
334 accessing the test sites from badssl.com.</p>
337 <p>Bumped version to 0.7.2</p>
345 <p>Update example output.</p>
348 <p>Recommend the use of the https-inspection action in the documentation.</p>
351 <p>Upgrade a couple of URLs to https://.</p>
354 <p>Add ElectroBSD to the list of operating systems.</p>
357 <p>Bumped generated Firefox version to 78 (ESR).</p>
360 <p>Bumped version to 1.2.2.</p>
365 <p>User documentation:</p>
368 <p>Remove reference to 'How to Report Bugs Effectively'. It was only rendered as text without URL in the
369 README anyway and there's no indication that users read it ...</p>
372 <p>Let the dok-readme target fix the location embedded into the README file. This used to be done by CVS
373 but since the git migration it has to be done through other means.</p>
376 <p>Remove 'experimental' warning for client-specific-tag-related directives. They seem to work reliably and
377 there is no obvious reason why we would change the syntax in the near future.</p>
380 <p>Describe how to check if Privoxy has been built with FEATURE_HTTPS_INSPECTION.</p>
383 <p>Add a link to the trusted-cas-file documentation that explains how the user can create the file
387 <p>Don't explicitly mention the license for the code coming from 'Anonymous Coders' and Junkbusters. It's
388 obviously licensed under the GNU GPL like the rest of Privoxy or we wouldn't be allowed to distribute
392 <p>Update the +hide-user-agent example with uagen output.</p>
395 <p>Slightly improve the wording of the ca-key-file documentation.</p>
398 <p>Explicitly mention Windows 10 as supported so search engines and users looking for it can find it.</p>
401 <p>Import a bunch of contributors from the ChangeLog.</p>
404 <p>Remove obsolete doc/gpl.html.</p>
407 <p>Upgrade a couple of links to https://.</p>
410 <p>Don't prefer the SourceForge patch tracker over the privoxy-devel mailing list. While at it, link to the
411 SourceForge patch tracker.</p>
414 <p>Mention http-inspection in the 'my browser warns me about unauthenticated content' FAQ entry.</p>
417 <p>Simplify the 'Is there is a license or fee?' FAQ entry.</p>
420 <p>Add another +redirect{} example.</p>
423 <p>Explicitly mention that interested sponsors should include the link target in their first mail.</p>
426 <p>Clarify that only Privoxy team members can object to new sponsors and link to the list of current team
430 <p>Note that sponsor URLs may not contain keyword spam.</p>
433 <p>Garbage collect doc/webserver/images which isn't referenced anymore.</p>
436 <p>Update the method to reach the proxy settings in Firefox.</p>
439 <p>Update proxy_setup.jpg description to refer to Firefox.</p>
442 <p>Regenerate proxy_setup.jpg with a more recent Firefox (78.0).</p>
445 <p>Regenerate files-in-use.jpg without obsolete standard.action with modern colors and a slightly better
449 <p>Update URL to the actionsfile tracker.</p>
452 <p>Update a support request URL.</p>
455 <p>Rephrase the 'Can Privoxy run as service' FAQ entry and remove an obsolete paragraph.</p>
458 <p>Let the 'Where can I get updated Actions Files?' entry link to the gitweb version of
459 default.action.master.</p>
462 <p>Update a link to the default.action file.</p>
465 <p>Update URLs for trackers and mailing lists.</p>
468 <p>Replace CVS reference with git.</p>
471 <p>Mention regression-tests.action in the config file.</p>
474 <p>Explicitly mention in the config file that access to the CA key should be limited to Privoxy.</p>
477 <p>List more client-specific-tag examples for inspiration.</p>
480 <p>Add additional headers to the client-header-order example.</p>
483 <p>Note that actions aren't updated after rewrites.</p>
486 <p>Explicitly mention that upgrading from http to https with a client-header filter is not supported</p>
489 <p>Note that protocol and host have to be added when rewriting the destination host for https-inspected
493 <p>Explicitly mention that the CA key is used to sign certificates.</p>
496 <p>Put openssl command in 'command' tags.</p>
499 <p>The man page has been moved from section 1 to man section 8.</p>
504 <p>Developer manual:</p>
507 <p>Flesh out the build instructions for Debian.</p>
510 <p>Remove the packaging instructions for RPM-based systems. They don't work and we don't release RPM
511 packages anymore anyway.</p>
514 <p>Remove the packaging instructions for Solaris. They don't work and we don't release Solaris packages
518 <p>Update the suggested subject for the announce mails.</p>
521 <p>Update upload instructions. ftp://upload.sourceforge.net is no longer functional.</p>
524 <p>Remove a couple of package-dependent upload instructions that don't actually work.</p>
527 <p>Remove 'cd current' that no longer works.</p>
530 <p>Add regression-tests.action to the list of files that should be installed.</p>
533 <p>Stop claiming that there are text versions of the manuals. We stopped building them in 2008
534 (9ed36a3c5e6f12).</p>
537 <p>Note that the 'webserver' target creates the link needed for the user-manual.</p>
540 <p>Suggest to use the master branch as reference when creating the ChangeLog so the steps work when the
541 current branch differs from master which is likely as the developer manual suggests to use a local branch
545 <p>Add the -s flag to the suggested 'git tag' command. We prefer signed tags.</p>
548 <p>Mention that merges into 'master' should be avoided.</p>
551 <p>Add git commands that should result in a merge-free history.</p>
554 <p>Mention Privoxy-Regression-Test.</p>
557 <p>Add a section id to reduce link churn.</p>
560 <p>Recommend the dok-tidy target when building docs for the webserver.</p>
563 <p>Add another plug for the privoxy-devel mailing list.</p>
566 <p>Let the intro link the copyright section in the user manual instead of giving an incomplete summary of
567 the license status.</p>
570 <p>Clarify that the webserver target uploads to the SourceForge webserver.</p>
573 <p>Mark the documentation for the Mac OS X installers as out of date and change the SCM name back to
577 <p>Fix the location of the installer modules for Mac OS X. They are not actually available through git
581 <p>Don't speak of Privoxy version 3 in the past tense.</p>
584 <p>Update the list of programs required for the release process.</p>
587 <p>Update description of the webserver target which uses ssh, not scp.</p>
590 <p>Remove obsolete reference to config.new.</p>
598 <p>Add another hide-referrer{conditional-block} test.</p>
601 <p>Add another hide-referrer{conditional-forge} test.</p>
604 <p>Fix a hide-referrer{conditional-forge} test that expected an acceptable header to be forged.</p>
607 <p>Fix a hide-referrer{conditional-block} test that expected an acceptable Referer to be removed.</p>
610 <p>Explain why the "Set Header = Host: whatever.example.org" test is expected to fail when using a CGI
611 prefix that starts with "https://".</p>
614 <p>Explain why a connection-sharing test is known to fail when using "https://p.p/" as CGI prefix.</p>
617 <p>Add a link to Privoxy-Regression-Test to regression-tests.action in case it isn't packaged.</p>
620 <p>Add regression tests for pcre host patterns.</p>
623 <p>Fixed a regression test that is executed when FEATURE_GRACEFUL_TERMINATION is enabled.</p>
628 <p>Privoxy infrastructure:</p>
631 <p>Import a Privoxy logo for the website.</p>
634 <p>Update Tor onion service to HiddenServiceVersion 3.</p>
637 <p>Display the "model" photos in a single row and remove placeholder images.</p>
640 <p>Regenerate homepage with updated sponsor list.</p>
643 <p>Use the '/sponsor' redirect for the link to the sponsor page.</p>
646 <p>Git commit messages are sent to the Privoxy-commits mailing list.</p>
652 <h2 class="SECT2"><a name="UPGRADERSNOTE" id="UPGRADERSNOTE">3.1. Note to Upgraders</a></h2>
653 <p>A quick list of things to be aware of before upgrading from earlier versions of <span class=
654 "APPLICATION">Privoxy</span>:</p>
657 <p>The recommended way to upgrade <span class="APPLICATION">Privoxy</span> is to backup your old
658 configuration files, install the new ones, verify that <span class="APPLICATION">Privoxy</span> is working
659 correctly and finally merge back your changes using <span class="APPLICATION">diff</span> and maybe
660 <span class="APPLICATION">patch</span>.</p>
661 <p>There are a number of new features in each <span class="APPLICATION">Privoxy</span> release and most of
662 them have to be explicitly enabled in the configuration files. Old configuration files obviously don't do
663 that and due to syntax changes using old configuration files with a new <span class=
664 "APPLICATION">Privoxy</span> isn't always possible anyway.</p>
667 <p>Note that some installers remove earlier versions completely, including configuration files, therefore you
668 should really save any important configuration files!</p>
671 <p>On the other hand, other installers don't overwrite existing configuration files, thinking you will want
672 to do that yourself.</p>
675 <p>In the default configuration only fatal errors are logged now. You can change that in the <a href=
676 "config.html#DEBUG">debug section</a> of the configuration file. You may also want to enable more verbose
677 logging until you verified that the new <span class="APPLICATION">Privoxy</span> version is working as
681 <p>Three other config file settings are now off by default: <a href=
682 "config.html#ENABLE-REMOTE-TOGGLE">enable-remote-toggle</a>, <a href=
683 "config.html#ENABLE-REMOTE-HTTP-TOGGLE">enable-remote-http-toggle</a>, and <a href=
684 "config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions</a>. If you use or want these, you will need to
685 explicitly enable them, and be aware of the security issues involved.</p>
690 <div class="NAVFOOTER">
691 <hr align="left" width="100%">
692 <table summary="Footer navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
694 <td width="33%" align="left" valign="top"><a href="installation.html" accesskey="P">Prev</a></td>
695 <td width="34%" align="center" valign="top"><a href="index.html" accesskey="H">Home</a></td>
696 <td width="33%" align="right" valign="top"><a href="quickstart.html" accesskey="N">Next</a></td>
699 <td width="33%" align="left" valign="top">Installation</td>
700 <td width="34%" align="center" valign="top"> </td>
701 <td width="33%" align="right" valign="top">Quickstart to Using Privoxy</td>