Import changes for Privoxy 3.0.31 stable
[privoxy.git] / doc / source / changelog.sgml
1 <!--
2  File        :  doc/source/changelog.sgml
3
4  Purpose     :  Entity included in other project documents.
5
6  Copyright (C) 2013-2018 Privoxy Developers https://www.privoxy.org/
7  See LICENSE.
8
9  ======================================================================
10   This file used for inclusion with other documents only.
11  ======================================================================
12
13  If you make changes to this file, please verify the finished
14  docs all display as intended.
15
16  This file is included into:
17
18   user-manual
19 -->
20
21
22 <!--
23  The SGML ChangeLog can be generated with: utils/changelog2doc.pl ChangeLog
24 -->
25
26 <para>
27   <application>Privoxy 3.0.31</application> fixes two security issues
28   that were discovered while preparing the 3.0.30 release. The issues
29   also affect earlier Privoxy releases.
30 </para>
31  <para>
32   Changes in <application>Privoxy 3.0.31</application> stable:
33  </para>
34  <para>
35  <itemizedlist>
36   <listitem>
37    <para>
38     Security/Reliability:
39     <itemizedlist>
40     <listitem>
41      <para>
42       Prevent an assertion from getting triggered by a crafted CGI request.
43       Commit 5bba5b89193fa. OVE-20210130-0001.
44       Reported by: Joshua Rogers (Opera)
45      </para>
46     </listitem>
47     <listitem>
48      <para>
49       Fixed a memory leak when decompression fails "unexpectedly".
50       Commit f431d61740cc0. OVE-20210128-0001.
51      </para>
52      </listitem>
53     </itemizedlist>
54    </para>
55   </listitem>
56   <listitem>
57    <para>
58     Bug fixes:
59     <itemizedlist>
60     <listitem>
61      <para>
62       Fixed detection of insufficient data for decompression.
63       Previously Privoxy could try to decompress a partly
64       uninitialized buffer.
65      </para>
66      </listitem>
67     </itemizedlist>
68    </para>
69   </listitem>
70  </itemizedlist>
71 </para>
72  <para>
73   Changes in <application>Privoxy 3.0.30</application> stable:
74  </para>
75  <para>
76  <itemizedlist>
77   <listitem>
78    <para>
79     Bug fixes:
80     <itemizedlist>
81     <listitem>
82      <para>
83       Check the actual URL for redirects when https inspecting requests.
84       Previously Privoxy would only check the path which resulted in
85       rewrite results being rejected as invalid URLs.
86       Reported by withoutname in #1736.
87      </para>
88     </listitem>
89     <listitem>
90      <para>
91       Let the hide-referrer code tolerate Referer headers with https:// URLs.
92       Previously they would always be treated like a changed host.
93      </para>
94     </listitem>
95     <listitem>
96      <para>
97       Use the https headers if the show-request handler is reached through
98       https://. Previously Privoxy would use the http headers which
99       may be empty on a reused connection.
100      </para>
101     </listitem>
102     <listitem>
103      <para>
104       Make CGI_PREFIX protocol-relative when building with FEATURE_HTTPS_INSPECTION.
105       This unbreaks (at least) https://config.privoxy.org/client-tags whose
106       buttons would previously use a http:// URL resulting in browser warnings.
107      </para>
108     </listitem>
109     <listitem>
110      <para>
111       Support using https-inspection and client-header-order at the same time.
112       Previously Privoxy would crash.
113       Reported by: Kai Raven
114      </para>
115     </listitem>
116     <listitem>
117      <para>
118       Properly reject rewrites from http to https as they currently
119       aren't supported. Previously Privoxy would wait for the client
120       to establish an encrypted connection which obviously would not happen.
121      </para>
122     </listitem>
123     <listitem>
124      <para>
125       When https inspection is enabled and Privoxy has been compiled with
126       FEATURE_GRACEFUL_TERMINATION (not recommended for production builds),
127       the TLS backend resources are free'd later on and only if no active
128       connections are left. Prevents crashes when exiting "gracefully" at the
129       wrong time.
130      </para>
131      </listitem>
132     <listitem>
133      <para>
134       Let the uninstall target remove the config file even if DESTDIR
135       is set and properly announce the deletion of the configuration files.
136      </para>
137      </listitem>
138     </itemizedlist>
139    </para>
140   </listitem>
141   <listitem>
142    <para>
143     General improvements:
144     <itemizedlist>
145     <listitem>
146      <para>
147       Allow to rewrite the request destination for https-inspected
148       requests behind the client's back. The documentation already sort
149       of claimed that it was supported by not especially mentioning that
150       it didn't work for https-inspected requests.
151       Fixes SF bug #923 reported by withoutname.
152      </para>
153     </listitem>
154     <listitem>
155      <para>
156       Add support for filtering client request bodies by using
157       CLIENT-BODY-FILTER filters which can be enabled with the
158       client-body-filter action.
159       Patch submitted by Maxim Antonov.
160       Sponsored by: Robert Klemme
161      </para>
162     </listitem>
163     <listitem>
164      <para>
165       Add the new action suppress-tag{} which can be used to prevent
166       a tagger from adding a tag. Patch submitted by Maxim Antonov.
167       Sponsored by: Robert Klemme
168      </para>
169     </listitem>
170     <listitem>
171      <para>
172       Gracefully handle existing website keys without matching certificates.
173       This can happen if Privoxy was previously running with an invalid
174       TLS configuration that didn't allow it to create a certificate.
175      </para>
176     </listitem>
177     <listitem>
178      <para>
179       Recycle debug bit 4 for Tagging-related messages.
180      </para>
181     </listitem>
182     <listitem>
183      <para>
184       Improve the message shown when the client-tags CGI page
185       is requested with no tags configured.
186      </para>
187     </listitem>
188     <listitem>
189      <para>
190       Shorten the 'donate' and 'participate' links used by templates
191       using redirects. Currently the redirects lead to the FAQ entries
192       but in the future we may want to relocate the content and using
193       redirects makes this more convenient.
194      </para>
195     </listitem>
196     <listitem>
197      <para>
198       Log an error when a PCRE-HOST-PATTERN is used with
199       FEATURE_PCRE_HOST_PATTERNS disabled. Don't treat this a
200       fatal error so the regression tests can be used with and
201       without FEATURE_PCRE_HOST_PATTERNS.
202      </para>
203     </listitem>
204     <listitem>
205      <para>
206       The code compiles with older C compilers again.
207      </para>
208     </listitem>
209     <listitem>
210      <para>
211       The chdir() return code is checked to fix a compiler warning.
212      </para>
213     </listitem>
214     <listitem>
215      <para>
216       The packages feed has been removed from the source tarball.
217       It's usually out of date when the source tarball is generated
218       for the release.
219      </para>
220     </listitem>
221     <listitem>
222      <para>
223       Fixed harmless compiler warnings from GCC9 with -D_FORTIFY_SOURCE=2.
224      </para>
225     </listitem>
226     <listitem>
227      <para>
228       windows: Remove obsolete '$(DEST)/doc/images' target.
229      </para>
230     </listitem>
231     <listitem>
232      <para>
233       windows: Install the images referenced in the user manual.
234      </para>
235     </listitem>
236     <listitem>
237      <para>
238       Remove obsolete 'gnu_regex.@OBJEXT@' target.
239      </para>
240     </listitem>
241     <listitem>
242      <para>
243       When installing from the GNUMAkefile, don't create an 'images'
244       directory which is no longer used. The images were relocated to
245       the user-manual directory years ago.
246      </para>
247     </listitem>
248     <listitem>
249      <para>
250       Add new FEATURES to the show-status page and resort list.
251      </para>
252     </listitem>
253     <listitem>
254      <para>
255       Remove unused variable in the OpenSSL-specific code.
256      </para>
257     </listitem>
258     <listitem>
259      <para>
260       Update bug tracker URL in cgi_error_unknown().
261      </para>
262     </listitem>
263     <listitem>
264      <para>
265       Saved a couple of memory allocations when sorting client headers.
266      </para>
267     </listitem>
268     <listitem>
269      <para>
270       Improved a couple of error messages.
271      </para>
272     </listitem>
273     <listitem>
274      <para>
275       Saved memory allocations when using OpenSSL and checking if a
276       key already exists.
277      </para>
278     </listitem>
279     <listitem>
280      <para>
281       The configure script will bail out if OpenSSL and mbedTLS are
282       enabled at the same time.
283      </para>
284     </listitem>
285     <listitem>
286      <para>
287       Log a message right before exiting gracefully.
288      </para>
289     </listitem>
290     <listitem>
291      <para>
292       A couple of structures have been rearranged to require slightly
293       less memory.
294      </para>
295     </listitem>
296     <listitem>
297      <para>
298       When https inspection is enabled and the certificate is invalid
299       the error message is now sent with status code 403 instead of 200.
300      </para>
301     </listitem>
302     <listitem>
303      <para>
304       The Slackware rc script template has been renamed to
305       slackware/rc.privoxy.in to silence complaints when building
306       Debian packages.
307      </para>
308     </listitem>
309     <listitem>
310      <para>
311       When building with MbedTLS support, mbedtls_md5_ret() is used
312       instead of mbedtls_md5() which is deprecated and causes a warning
313       on Debian GNU/Linux.
314      </para>
315      </listitem>
316     </itemizedlist>
317    </para>
318   </listitem>
319   <listitem>
320    <para>
321     Action file improvements:
322     <itemizedlist>
323     <listitem>
324      <para>
325       Block requests to eu-tlp03.kameleoon.com/.
326      </para>
327     </listitem>
328     <listitem>
329      <para>
330       Unblock metrics.sr.ht/.
331      </para>
332     </listitem>
333     <listitem>
334      <para>
335       Disable fast-redirects for .fsf.org/.
336      </para>
337     </listitem>
338     <listitem>
339      <para>
340       Disable fast-redirects for .gravater.com/.
341      </para>
342     </listitem>
343     <listitem>
344      <para>
345       Disable fast-redirects for .ksta.de/.
346      </para>
347     </listitem>
348     <listitem>
349      <para>
350       Block requests to tag.crsspxl.com/.
351      </para>
352     </listitem>
353     <listitem>
354      <para>
355       Block requests to analytics.slashdotmedia.com/.
356      </para>
357     </listitem>
358     <listitem>
359      <para>
360       Block requests to ml314.com/.
361      </para>
362     </listitem>
363     <listitem>
364      <para>
365       Block requests to .adroll.com/.
366      </para>
367     </listitem>
368     <listitem>
369      <para>
370       Block requests to fastlane.rubiconproject.com/.
371      </para>
372     </listitem>
373     <listitem>
374      <para>
375       Block requests to api.theadex.com/.
376      </para>
377     </listitem>
378     <listitem>
379      <para>
380       Block requests to ih.adscale.de/.
381      </para>
382     </listitem>
383     <listitem>
384      <para>
385       Block requests to .s400.meetrics.net/.
386      </para>
387     </listitem>
388     <listitem>
389      <para>
390       Block requests for pp.lp4.io/.
391      </para>
392     </listitem>
393     <listitem>
394      <para>
395       Block requests for trc-events.taboola.com/.
396      </para>
397      </listitem>
398     </itemizedlist>
399    </para>
400   </listitem>
401   <listitem>
402    <para>
403     Filter file improvements:
404     <itemizedlist>
405     <listitem>
406      <para>
407       A allow-autocompletion filter has been added which changes
408       autocomplete="off" to "on" on input fields to allow autocompletion.
409       Requested by Jamie Zawinski in #370.
410       Filter based on a submission by Aaron Linville.
411      </para>
412     </listitem>
413     <listitem>
414      <para>
415       Added an imdb filter.
416      </para>
417     </listitem>
418     <listitem>
419      <para>
420       Added a sourceforge filter that reduces the amount of ads
421       for proprietary software.
422      </para>
423     </listitem>
424     <listitem>
425      <para>
426       Added a github filter that removes the annoying "Sign-Up"
427       banner and the Cookie disclaimer.
428      </para>
429     </listitem>
430     <listitem>
431      <para>
432       Removed a duplicated pcrs command from the js-annoyances filter.
433      </para>
434     </listitem>
435     <listitem>
436      <para>
437       The crude-parental filter now provides a short reason when blocking,
438       inserts a link to Privoxy's webinterface and adds a new line at
439       the end of the generated page.
440      </para>
441      </listitem>
442     </itemizedlist>
443    </para>
444   </listitem>
445   <listitem>
446    <para>
447     Privoxy-Log-Parser:
448     <itemizedlist>
449     <listitem>
450      <para>
451       Highlight a few more messages.
452      </para>
453     </listitem>
454     <listitem>
455      <para>
456       Add a handler for tagging messages.
457      </para>
458     </listitem>
459     <listitem>
460      <para>
461       Properly deal with 'Certificate error' crunches
462       Previously the error description was highlighted as 'host'.
463      </para>
464     </listitem>
465     <listitem>
466      <para>
467       Log truncated LOG_LEVEL_CLF messages more gracefully
468       and note that the statistics will be imprecise.
469      </para>
470     </listitem>
471     <listitem>
472      <para>
473       Fixed perldoc typo.
474      </para>
475     </listitem>
476     <listitem>
477      <para>
478       Bump version to 0.9.2.
479      </para>
480      </listitem>
481     </itemizedlist>
482    </para>
483   </listitem>
484   <listitem>
485    <para>
486     Privoxy-Regression-Test:
487     <itemizedlist>
488     <listitem>
489      <para>
490       Use http://127.0.0.1:8118/ as default Privoxy address
491       unless http_proxy is set through the environment.
492      </para>
493     </listitem>
494     <listitem>
495      <para>
496       Add a --privoxy-cgi-prefix option that specifies the prefix
497       to use when building URLs that are supposed to reach Privoxy's
498       CGI interface. If it's not set, http://p.p/ is used, which is
499       supposed to work with the default Privoxy configuration.
500       If Privoxy has been built with FEATURE_HTTPS_INSPECTION enabled,
501       and if https inspection is activated with the +https-inspection
502       action, this option can be used with "https://p.p/" provided the
503       system running Privoxy-Regression-Test has been configured to
504       trust the certificate used by Privoxy.
505       Note that there are currently two tests in the official
506       regression-tests.action file that are expected to fail
507       when using "https://p.p/" as privoxy-cgi-prefix.
508      </para>
509     </listitem>
510     <listitem>
511      <para>
512       Skip the connection-established response in get_status_code()
513       when looking for the status code with a CGI prefix
514       that starts with https://. We care about the status code
515       sent by the impersonated web server.
516      </para>
517     </listitem>
518     <listitem>
519      <para>
520       Use --proxy-header when using a CGI prefix with https://
521       and a "Host:" header.
522      </para>
523     </listitem>
524     <listitem>
525      <para>
526       Allow '|' in tokens and values to allow tag patterns like
527       "TAG:^(application|text)/(x-)?javascript$".
528      </para>
529     </listitem>
530     <listitem>
531      <para>
532       When get_cgi_page_or_else() fails, include the URL of the
533       requested page in the log message.
534      </para>
535     </listitem>
536     <listitem>
537      <para>
538       Added a --check-bad-ssl option that can be used to verify that
539       Privoxy detects certificate problems when accessing the test
540       sites from badssl.com.
541      </para>
542     </listitem>
543     <listitem>
544      <para>
545       Bumped version to 0.7.2
546      </para>
547      </listitem>
548     </itemizedlist>
549    </para>
550   </listitem>
551   <listitem>
552    <para>
553     uagen:
554     <itemizedlist>
555     <listitem>
556      <para>
557       Update example output.
558      </para>
559     </listitem>
560     <listitem>
561      <para>
562       Recommend the use of the https-inspection action in the documentation.
563      </para>
564     </listitem>
565     <listitem>
566      <para>
567       Upgrade a couple of URLs to https://.
568      </para>
569     </listitem>
570     <listitem>
571      <para>
572       Add ElectroBSD to the list of operating systems.
573      </para>
574     </listitem>
575     <listitem>
576      <para>
577       Bumped generated Firefox version to 78 (ESR).
578      </para>
579     </listitem>
580     <listitem>
581      <para>
582       Bumped version to 1.2.2.
583      </para>
584      </listitem>
585     </itemizedlist>
586    </para>
587   </listitem>
588     <listitem>
589      <para>
590       User documentation:
591       <itemizedlist>
592     <listitem>
593      <para>
594       Remove reference to 'How to Report Bugs Effectively'.
595       It was only rendered as text without URL in the README anyway
596       and there's no indication that users read it ...
597      </para>
598     </listitem>
599     <listitem>
600      <para>
601       Let the dok-readme target fix the location embedded into the
602       README file. This used to be done by CVS but since the git migration
603       it has to be done through other means.
604      </para>
605     </listitem>
606     <listitem>
607      <para>
608       Remove 'experimental' warning for client-specific-tag-related directives.
609       They seem to work reliably and there is no obvious reason
610       why we would change the syntax in the near future.
611      </para>
612     </listitem>
613     <listitem>
614      <para>
615       Describe how to check if Privoxy has been built with
616       FEATURE_HTTPS_INSPECTION.
617      </para>
618     </listitem>
619     <listitem>
620      <para>
621       Add a link to the trusted-cas-file documentation
622       that explains how the user can create the file herself.
623      </para>
624     </listitem>
625     <listitem>
626      <para>
627       Don't explicitly mention the license for the code coming from
628       'Anonymous Coders' and Junkbusters. It's obviously licensed under
629       the GNU GPL like the rest of Privoxy or we wouldn't be allowed to
630       distribute it.
631      </para>
632     </listitem>
633     <listitem>
634      <para>
635       Update the +hide-user-agent example with uagen output.
636      </para>
637     </listitem>
638     <listitem>
639      <para>
640       Slightly improve the wording of the ca-key-file documentation.
641      </para>
642     </listitem>
643     <listitem>
644      <para>
645       Explicitly mention Windows 10 as supported so search engines and
646       users looking for it can find it.
647      </para>
648     </listitem>
649     <listitem>
650      <para>
651       Import a bunch of contributors from the ChangeLog.
652      </para>
653     </listitem>
654     <listitem>
655      <para>
656       Remove obsolete doc/gpl.html.
657      </para>
658     </listitem>
659     <listitem>
660      <para>
661       Upgrade a couple of links to https://.
662      </para>
663     </listitem>
664     <listitem>
665      <para>
666       Don't prefer the SourceForge patch tracker over the
667       privoxy-devel mailing list. While at it, link to the
668       SourceForge patch tracker.
669      </para>
670     </listitem>
671     <listitem>
672      <para>
673       Mention http-inspection in the 'my browser warns me about
674       unauthenticated content' FAQ entry.
675      </para>
676     </listitem>
677     <listitem>
678      <para>
679       Simplify the 'Is there is a license or fee?' FAQ entry.
680      </para>
681     </listitem>
682     <listitem>
683      <para>
684       Add another +redirect{} example.
685      </para>
686     </listitem>
687     <listitem>
688      <para>
689       Explicitly mention that interested sponsors should include
690       the link target in their first mail.
691      </para>
692     </listitem>
693     <listitem>
694      <para>
695       Clarify that only Privoxy team members can object to new sponsors
696       and link to the list of current team members.
697      </para>
698     </listitem>
699     <listitem>
700      <para>
701       Note that sponsor URLs may not contain keyword spam.
702      </para>
703     </listitem>
704     <listitem>
705      <para>
706       Garbage collect doc/webserver/images which isn't referenced anymore.
707      </para>
708     </listitem>
709     <listitem>
710      <para>
711       Update the method to reach the proxy settings in Firefox.
712      </para>
713     </listitem>
714     <listitem>
715      <para>
716       Update proxy_setup.jpg description to refer to Firefox.
717      </para>
718     </listitem>
719     <listitem>
720      <para>
721       Regenerate proxy_setup.jpg with a more recent Firefox (78.0).
722      </para>
723     </listitem>
724     <listitem>
725      <para>
726       Regenerate files-in-use.jpg without obsolete standard.action
727       with modern colors and a slightly better quality.
728      </para>
729     </listitem>
730     <listitem>
731      <para>
732       Update URL to the actionsfile tracker.
733      </para>
734     </listitem>
735     <listitem>
736      <para>
737       Update a support request URL.
738      </para>
739     </listitem>
740     <listitem>
741      <para>
742       Rephrase the 'Can Privoxy run as service' FAQ entry and
743       remove an obsolete paragraph.
744      </para>
745     </listitem>
746     <listitem>
747      <para>
748       Let the 'Where can I get updated Actions Files?' entry link to
749       the gitweb version of default.action.master.
750      </para>
751     </listitem>
752     <listitem>
753      <para>
754       Update a link to the default.action file.
755      </para>
756     </listitem>
757     <listitem>
758      <para>
759       Update URLs for trackers and mailing lists.
760      </para>
761     </listitem>
762     <listitem>
763      <para>
764       Replace CVS reference with git.
765      </para>
766     </listitem>
767     <listitem>
768      <para>
769       Mention regression-tests.action in the config file.
770      </para>
771     </listitem>
772     <listitem>
773      <para>
774       Explicitly mention in the config file that access to the
775       CA key should be limited to Privoxy.
776      </para>
777     </listitem>
778     <listitem>
779      <para>
780       List more client-specific-tag examples for inspiration.
781      </para>
782     </listitem>
783     <listitem>
784      <para>
785       Add additional headers to the client-header-order example.
786      </para>
787     </listitem>
788     <listitem>
789      <para>
790       Note that actions aren't updated after rewrites.
791      </para>
792     </listitem>
793     <listitem>
794      <para>
795       Explicitly mention that upgrading from http to https with
796       a client-header filter is not supported
797      </para>
798     </listitem>
799     <listitem>
800      <para>
801       Note that protocol and host have to be added when rewriting
802       the destination host for https-inspected requests.
803      </para>
804     </listitem>
805     <listitem>
806      <para>
807       Explicitly mention that the CA key is used to sign certificates.
808      </para>
809     </listitem>
810     <listitem>
811      <para>
812       Put openssl command in 'command' tags.
813      </para>
814     </listitem>
815     <listitem>
816      <para>
817       The man page has been moved from section 1 to man section 8.
818      </para>
819      </listitem>
820     </itemizedlist>
821    </para>
822   </listitem>
823   <listitem>
824    <para>
825     Developer manual:
826     <itemizedlist>
827     <listitem>
828      <para>
829       Flesh out the build instructions for Debian.
830      </para>
831     </listitem>
832     <listitem>
833      <para>
834       Remove the packaging instructions for RPM-based systems.
835       They don't work and we don't release RPM packages anymore anyway.
836      </para>
837     </listitem>
838     <listitem>
839      <para>
840       Remove the packaging instructions for Solaris.
841       They don't work and we don't release Solaris packages anymore anyway.
842      </para>
843     </listitem>
844     <listitem>
845      <para>
846       Update the suggested subject for the announce mails.
847      </para>
848     </listitem>
849     <listitem>
850      <para>
851       Update upload instructions.
852       ftp://upload.sourceforge.net is no longer functional.
853      </para>
854     </listitem>
855     <listitem>
856      <para>
857       Remove a couple of package-dependent upload instructions
858       that don't actually work.
859      </para>
860     </listitem>
861     <listitem>
862      <para>
863       Remove 'cd current' that no longer works.
864      </para>
865     </listitem>
866     <listitem>
867      <para>
868       Add regression-tests.action to the list of files that should be installed.
869      </para>
870     </listitem>
871     <listitem>
872      <para>
873       Stop claiming that there are text versions of the manuals.
874       We stopped building them in 2008 (9ed36a3c5e6f12).
875      </para>
876     </listitem>
877     <listitem>
878      <para>
879       Note that the 'webserver' target creates the link needed for the user-manual.
880      </para>
881     </listitem>
882     <listitem>
883      <para>
884       Suggest to use the master branch as reference when creating
885       the ChangeLog so the steps work when the current branch differs
886       from master which is likely as the developer manual
887       suggests to use a local branch for development.
888      </para>
889     </listitem>
890     <listitem>
891      <para>
892       Add the -s flag to the suggested 'git tag' command.  We prefer signed tags.
893      </para>
894     </listitem>
895     <listitem>
896      <para>
897       Mention that merges into 'master' should be avoided.
898      </para>
899     </listitem>
900     <listitem>
901      <para>
902       Add git commands that should result in a merge-free history.
903      </para>
904     </listitem>
905     <listitem>
906      <para>
907       Mention Privoxy-Regression-Test.
908      </para>
909     </listitem>
910     <listitem>
911      <para>
912       Add a section id to reduce link churn.
913      </para>
914     </listitem>
915     <listitem>
916      <para>
917       Recommend the dok-tidy target when building docs for the webserver.
918      </para>
919     </listitem>
920     <listitem>
921      <para>
922       Add another plug for the privoxy-devel mailing list.
923      </para>
924     </listitem>
925     <listitem>
926      <para>
927       Let the intro link the copyright section in the user manual instead
928       of giving an incomplete summary of the license status.
929      </para>
930     </listitem>
931     <listitem>
932      <para>
933       Clarify that the webserver target uploads to the SourceForge webserver.
934      </para>
935     </listitem>
936     <listitem>
937      <para>
938       Mark the documentation for the Mac OS X installers as out of date and
939       change the SCM name back to CVS.
940      </para>
941     </listitem>
942     <listitem>
943      <para>
944       Fix the location of the installer modules for Mac OS X.
945       They are not actually available through git (yet).
946      </para>
947     </listitem>
948     <listitem>
949      <para>
950       Don't speak of Privoxy version 3 in the past tense.
951      </para>
952     </listitem>
953     <listitem>
954      <para>
955       Update the list of programs required for the release process.
956      </para>
957     </listitem>
958     <listitem>
959      <para>
960       Update description of the webserver target which uses ssh, not scp.
961      </para>
962     </listitem>
963     <listitem>
964      <para>
965       Remove obsolete reference to config.new.
966      </para>
967      </listitem>
968     </itemizedlist>
969    </para>
970   </listitem>
971   <listitem>
972    <para>
973     Tests:
974     <itemizedlist>
975     <listitem>
976      <para>
977       Add another hide-referrer{conditional-block} test.
978      </para>
979     </listitem>
980     <listitem>
981      <para>
982       Add another hide-referrer{conditional-forge} test.
983      </para>
984     </listitem>
985     <listitem>
986      <para>
987       Fix a hide-referrer{conditional-forge} test
988       that expected an acceptable header to be forged.
989      </para>
990     </listitem>
991     <listitem>
992      <para>
993       Fix a hide-referrer{conditional-block} test
994       that expected an acceptable Referer to be removed.
995      </para>
996     </listitem>
997     <listitem>
998      <para>
999       Explain why the "Set Header = Host: whatever.example.org" test is
1000       expected to fail when using a CGI prefix that starts with "https://".
1001      </para>
1002     </listitem>
1003     <listitem>
1004      <para>
1005       Explain why a connection-sharing test is known to fail
1006       when using "https://p.p/" as CGI prefix.
1007      </para>
1008     </listitem>
1009     <listitem>
1010      <para>
1011       Add a link to Privoxy-Regression-Test to regression-tests.action
1012       in case it isn't packaged.
1013      </para>
1014     </listitem>
1015     <listitem>
1016      <para>
1017       Add regression tests for pcre host patterns.
1018      </para>
1019     </listitem>
1020     <listitem>
1021      <para>
1022       Fixed a regression test that is executed when
1023       FEATURE_GRACEFUL_TERMINATION is enabled.
1024      </para>
1025     </listitem>
1026     </itemizedlist>
1027    </para>
1028   </listitem>
1029   <listitem>
1030    <para>
1031     Privoxy infrastructure:
1032     <itemizedlist>
1033     <listitem>
1034      <para>
1035       Import a Privoxy logo for the website.
1036      </para>
1037     </listitem>
1038     <listitem>
1039      <para>
1040       Update Tor onion service to HiddenServiceVersion 3.
1041      </para>
1042     </listitem>
1043     <listitem>
1044      <para>
1045       Display the "model" photos in a single row and remove placeholder images.
1046      </para>
1047     </listitem>
1048     <listitem>
1049      <para>
1050       Regenerate homepage with updated sponsor list.
1051      </para>
1052     </listitem>
1053     <listitem>
1054      <para>
1055       Use the '/sponsor' redirect for the link to the sponsor page.
1056      </para>
1057     </listitem>
1058     <listitem>
1059      <para>
1060       Git commit messages are sent to the Privoxy-commits mailing list.
1061      </para>
1062      </listitem>
1063     </itemizedlist>
1064    </para>
1065   </listitem>
1066  </itemizedlist>
1067 </para>