A number of performance improvements; including request/reply parser,
eliminating various redundant data copies and some completely rewritten
sections.

Support for WAIS has been removed.

"act-as-origin" option for http_port - Squid can now emulate an origin
server when acting as an accelerator.

"min-size" option for cache_dir - the minimum object size to store in
a cache directory. Previously objects of any size up to a "max-size"
maximum size would be considered as candidated for storing in a store_dir;
this option allows the administrator to tune various stores for small
and large objects rather than trying to tune it for both.

Support for Solaris /dev/poll for network IO - more efficient than
poll() or select() and backwards compatible to Solaris 7. This must
be manually enabled during configure by specifying "--enable-devpoll".

Support for FreeBSD accept filters. Use "accept_filter httpready"
in squid.conf to enable this.

A semi-modular logging framework has been introduced, which both
allows for more efficient non-blocking logging with the supplied logging
daemon, but also allows for third-party modules to intercept the squid
logs and process them. An example "UDP" logging helper, thanks to the
Wikimedia Foundation, is included.

Support for rewriting URLs into canonical forms when storing and retrieving
objects. A common practice seen in Content Delivery Networks is to serve
the same content from a variety of different URLs or hosts; this makes
efficient caching difficult. The store URL rewriting framework allows the
administrator to rewrite a variety of URLs into one canonical form, so
matching content from a variety of sources can be stored and retrieved
as if they came from the same source, whilst still fetching the content
from the original destination.
See the "storeurl_rewrite_program" option for more information, and
http://wiki.squid-cache.org/Features/StoreURLRewrite for some examples.

Object revalidation can now occur in the background. Cache validation can
now occur in the background without requiring an active client to drive it.
Stale content being revalidated can be served in situ whilst the object
is being refreshed. See the "max_stale" and "refresh_pattern" options for more
information.

introduce a new option, "zero_buffers", which controls whether Squid will
zero the memory used for buffers and other data structures before use.
This may or may not improve performance on specific workloads.

Cache authentication based on source IP address. This reduces the pressure
on external authenticators which may not be able to keep up under high load -
NTLM/winbind is a good example of this. See the "authenticate_ip_shortcircuit_access"
and "authenticate_ip_shortcircuit_ttl" options for more information.

Support for configuration file includes has been added. "include" can now be
used to include a configuration file or a glob of configuration files in a
directory.

The default rules to not cache dynamic content from cgi-bin and query URLs
have been altered. Previously, the "cache" ACL was used to mark requests
as non-cachable - this is enforced even on dynamic content which returns
cachability information. This has changed in Squid-2.7 to use the default
refresh pattern. Dynamic content is now cached if it is marked as cachable.
You should remove the default configuration lines with QUERY (acl, and cache)
and replace them with the correct refresh_pattern entries.

Accelerator mode support cleaned up to behave more consistent when
combining multiple accelerator mode options

This Squid version can run on Windows as a system service using the Cygwin emulation environment,
or can be compiled in Windows native mode using the MinGW + MSYS development environment. Windows NT 4 SP4 and later are supported.

On Windows 2000 and later the service is configured to use the Windows Service Recovery option
restarting automatically after 60 seconds.

Some new command line options was added for the Windows service support:

The service installation is made with -i command line switch, it's possible to use -f switch at
the same time for specify a different config-file settings for the Squid Service that will be
stored on the Windows Registry.

A new -n switch specify the Windows Service Name, so multiple Squid instance are allowed.
"Squid" is the default when the switch is not used.

So, to install the service, the syntax is:

squid -i [-f file] [-n name]

Service uninstallation is made with -r command line switch with the appropriate -n switch.

The -k switch family must be used with the appropriate -f and -n switches, so the syntax is:

squid -k command [-f file] -n service-name

where service-name is the name specified with -n options at service install time.

To use the Squid original command line, the new -O switch must be used ONCE, the syntax is:

squid -O cmdline [-n service-name]

If multiple service command line options must be specified, use quote. The -n switch is
needed only when a non default service name is in use.

Don't use the "Start parameters" in the Windows 2000/XP/2003 Service applet: they are
specific to Windows services functionality and Squid is not designed for understand they.

In the following example the command line of the "squidsvc" Squid service is set to "-D -u 3130":

The process status helper functions make it easier for you to obtain information about
processes and device drivers running on Microsoft® Windows NT®/Windows® 2000. These
functions are available in PSAPI.DLL, which is distributed in the Microsoft® Platform
Software Development Kit (SDK). The same information is generally available through the
performance data in the registry, but it is more difficult to get to it. PSAPI.DLL is
freely redistributable.

PSAPI.DLL is available only on Windows NT, 2000, XP and 2003. The implementation in Squid is
aware of this, and try to use it only on the right platform.

On Windows platforms, if no value is specified in the dns_nameservers option on
squid.conf or in the /etc/resolv.conf file, the list of DNS name servers are
taken from the Windows registry, both static and dynamic DHCP configurations
are supported.