There are only a few improvements and new features since Privoxy 3.0.10, the last stable release:
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.
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.
Passing invalid users or groups with the --user option didn't lead to program exit. Regression introduced in 3.0.7.
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.
The standard.action file has been removed. Its content is now part of the default.action file.
In some situations the logged content length was slightly too low.
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 crunch reason has been moved to the beginning of the crunch message. For HTTP URLs, the protocol is logged as well.
Log messages are shortened by printing the thread id on its own (as opposed to putting it inside the string "Privoxy()").
The config option socket-timeout has been added to control the time Privoxy waits for data to arrive on a socket.
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.
Requests with invalid HTTP versions are rejected.
The template symbol @date@ can be used to include a date(1)-like time string. Initial patch submitted by Endre Szabo.
Responses from shoutcast servers are accepted again. Problem reported and fix suggested by Stefan.
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).
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.
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.
The mingw32 version's task bar icon is crossed out and the color changed to gray if Privoxy is toggled off.
This release marks a departure for Privoxy development.
Previously, odd numbered releases were considered beta versions and were only released at the end of the development cycle when the code was already believed to be stable. Usually it was, so the stable release contained pretty much the same code, but got a higher version number. In the future we intend to release several snapshots between stable releases. There will probably still be about two stable releases per year, but hopefully about six snapshots instead of the two betas we have now. The intentions is to make testing without CVS access easier.
A quick list of things to be aware of before upgrading from earlier versions of Privoxy:
The recommended way to upgrade Privoxy is to backup your old configuration files, install the new ones, verify that Privoxy is working correctly and finally merge back your changes using diff and maybe patch.
There are a number of new features in each Privoxy release and most of them have to be explicitly enabled in the configuration files. Old configuration files obviously don't do that and due to syntax changes using old configuration files with a new Privoxy isn't always possible anyway.
Note that some installers remove earlier versions completely, including configuration files, therefore you should really save any important configuration files!
On the other hand, other installers don't overwrite existing configuration files, thinking you will want to do that yourself.
standard.action has been merged into the default.action file.
In the default configuration only fatal errors are logged now. You can change that in the debug section of the configuration file. You may also want to enable more verbose logging until you verified that the new Privoxy version is working as expected.
Three other config file settings are now off by default: enable-remote-toggle, enable-remote-http-toggle, and enable-edit-actions. If you use or want these, you will need to explicitly enable them, and be aware of the security issues involved.