From: Amos Jeffries
+
+
+
+
+
+
+ The Squid Team are pleased to announce the release of Squid-3.1.0.1 for testing. This new release is available for download from
@@ -24,17 +89,19 @@ While this release is not deemed ready for production use, we believe it is read
We welcome feedback and bug reports. If you find a bug, please see
http://wiki.squid-cache.org/SquidFaq/TroubleShooting#head-7067fc0034ce967e67911becaabb8c95a34d576d for how to submit a report with a stack trace. Although this release is deemed good enough for use in many setups, please note the existence of
open bugs against Squid-3.1. The 3.1 change history can be
viewed here. Squid 3.1 represents a new feature release above 3.0. The most important of these new features are:
-1. Notice
+1. Notice
+
+
+2. Major new features since Squid-3.0
+
+
+
+3. Windows support
+
+
+
+4. Changes to squid.conf since Squid-3.0
+
+
+5. Changes to ./configure options since Squid-3.0
+
+
+6. Options Removed since Squid-2
+
+
+
+7. Regressions since Squid-2.7
+
+
+
+
+
+1. Notice
2. Known issues
+1.1 Known issues
+
3. Changes since earlier releases of Squid-3.1
+1.2 Changes since earlier releases of Squid-3.1
+
4. Major new features sinceSsquid-3.0
+2. Major new features since Squid-3.0
Most user-facing changes are reflected in squid.conf (see below).
-Begining with 3.1 the Squid Developers are trialling a new release numbering system.
@@ -97,7 +164,7 @@ Vastly reducing the number of bugs in all code. -squid.conf has undergone a facelift.
@@ -117,7 +184,7 @@ contains a fully documented set of options previously cluttering up squid.conf i config options provided on a clean install. -Squid 3.1 supports IPv6. @@ -176,7 +243,7 @@ A new one will be needed for IPv6 traffic between the helper and server.
with the RADIUS server. A new helper will be needed for IPv6 RADIUS protocol. -Details in @@ -194,7 +261,7 @@ Updates can be downloaded from Contribution of new languages is encouraged.
-Details in @@ -206,7 +273,7 @@ Contribution of new languages is encouraged.
Microsoft NTLM Authentication instead of HTTP standard authentication through a web proxy. -Details in @@ -245,7 +312,7 @@ on the client connection. Requires a kernel patch.
-Details in @@ -256,35 +323,41 @@ using configurable client- and server-side certificates. While decrypted, the traffic can be inspected using ICAP.
-Details in The Squid wiki
-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 were 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:
@@ -292,55 +365,58 @@ squid -k command [-f file] -n service-namewhere 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 + +
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":
squid -O "-D -u 3130" -n squidsvc-
-
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 NT PSAPI.DLL can be found as component of many applications, if you need it, you can find it on Windows NT Resource KIT. If you have problem, it can be downloaded from here: http://download.microsoft.com/download/platformsdk/Redist/4.0.1371.1/NT4/EN-US/psinst.EXE
+On Windows 2000 and later it is available installing the Windows Support Tools, located on the Support\Tools folder of the installation Windows CD-ROM.
--
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.
--
-
-
A reasonably recent release of
Cygwin or
MinGW is needed.
@@ -435,11 +510,9 @@ Before build Squid with SSL support, some operations are needed (in the followin
-
On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache.
Some specific configuration could be needed:
There have been changes to Squid's configuration file since Squid-3.0.
This section gives a thorough account of those changes in three categories:
@@ -498,8 +569,7 @@ ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/" - -@@ -885,7 +955,7 @@ DEFAULT: None bypassed.
-@@ -899,8 +969,8 @@ DEFAULT: None bypassed.
New acl type myportname, matching the name of the http(s)_port where the request was accepted. -New acl type peername, matching against a named cache_peer entry where the request will be attempted first. +
New acl type myportname, matching the name of the http(s)_port where the request was accepted.
+New acl type peername, matching against a named cache_peer entry where the request will be attempted first. NP: peername currently is limited to only match the first peer possible.
acl aclname myportname 3128 ... # http(s)_port name
@@ -931,9 +1001,9 @@ It has thus been turned off by default. Making the 'best choice' IP continue in
Replaced by new refresh_pattern instead.
Default changed from 100MB on-disk UFS cache to 256MB in-memory cache. -see cache_mem and maximum_object_size_in_memory for size parameters. -'null' storage type dropped.
+Default changed to 256MB in-memory cache. +see cache_mem and maximum_object_size_in_memory for size parameters.
+'null' storage type dropped. In-memory cache is always present. Remove all cache_dir options to prevent on-disk caching.
Default size increased to 256MB.
@@ -969,7 +1039,7 @@ see cache_mem and maximum_object_size_in_memory for size parameters.Now an optional entry in squid.conf. If present it will force all visitors to receive the error pages -contained in the directory it points at. If absent error page localization will be given a chance. +contained in the directory it points at. If absent, error page localization will be given a chance.
If you wish to create your own versions of the default
error files to customize them to suit your company COPY
@@ -978,15 +1048,6 @@ contained in the directory it points at. If absent error page localization will
WARNING: This option will disable multi-language support
on error pages if used.
-
- The squid developers are interested in making squid available in
- a wide variety of languages. If you are making translations for a
- language that Squid does not currently provide please consider
- contributing your translation back to the project.
- http://wiki.squid-cache.org/Translations
-
- The squid developers working on translations are happy to supply drop-in
- translated error files in exchange for any new language contributions.
@@ -1080,21 +1141,19 @@ For now option 'tproxy' remains with old behaviour meaning fully-invisible proxy
Default size limit increased to 512KB.
New default to prevent negative-caching of failure messages unless explicitly -permitted by the message generating web server. -This is an RFC 1616 violation and now requires --enable-http-violations -to even be usable.
+New default of 0 seconds. To prevent negative-caching of failure messages unless explicitly +permitted by the message generating web server.
+Changing this is an RFC 2616 violation and now requires --enable-http-violations
New set of basic patterns. These should always be listed after any custom ptterns. They ensure RFC compliance with certain protocol and request handling in the absence of accurate Cache-Control: and Expires: information.
-refresh_pattern ^ftp: 1440 20% 10080
-refresh_pattern ^gopher: 1440 0% 1440
-refresh_pattern (cgi-bin|\?) 0 0% 0
-refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
-refresh_pattern . 0 20% 4320
+refresh_pattern ^ftp: 1440 20% 10080
+refresh_pattern ^gopher: 1440 0% 1440
+refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
+refresh_pattern . 0 20% 4320
@@ -1147,14 +1206,15 @@ refresh_pattern . 0 20% 4320
-
Obsolete. This feature is no longer relevant to modern networks and causes boot problems.
+Obsolete. This feature is no longer relevant to modern networks and was causing boot problems. +The -D command line option used previously to suppress these tests is also obsolete.
Obsolete. All possible methods are now accepted and handled properly.
@@ -1169,7 +1229,7 @@ refresh_pattern . 0 20% 4320 -There have been some changes to Squid's build configuration since Squid-3.0.
This section gives an account of those changes in three categories:
@@ -1185,134 +1245,339 @@ refresh_pattern . 0 20% 4320 - -
Buildwith IPv6 support. The default is to build with IPv6.
+Build with support for loadable content adaptation modules. +Cannot be used with --disable-loadable-modules.
+ +Support following the X-Forwarded-For HTTP header for determining the +original or indirect client when a request has been forwarded through other +proxies.
+ +Build with support for ZPH Quality of Service controls
+ +Disable error page localization for visitors.
+error_directory option is required if this option is used.
+ +Build without IPv6 support. The default is to auto-detect system capabilities +and build with IPv6 when possible.
+ +Build without support for loadable modules.
+ +Enable CNAME recursion within the Internal DNS resolver stub squid uses. +This has no effect on the external DNS helper.
+Please note this extension is still experimental and may encounter problems. +To see if it is actually needed you can run squid without it for a period and +check the CNAME-Only Requests statistics squid maintains.
+If it produces ongoing serious problems the external helper may be needed +but please report the bugs anyway.
Build support for squid to map all 127.0.0.1 traffic onto ::1. The default is to build with 127.0.0.1 and ::1 being considered seperate IP. see the IPv6 details above for a better description.
+WARNING: This is an RFC violation. Use is discouraged.
+ +Allow build-time configuration of Default location for squid logs.
Enable special additions for IPv6 support in Windows XP. see the IPv6 details above for a better description.
-Enable CNAME recursion within the Internal DNS resolver stub squid uses. -This has no effect on the external DNS helper. -Please note this extension is still experimental and may encounter problems. -To see if it is actually needed you can run squid without it for a period and -check the CNAME-Only Requests statistics squid maintains. -If it produces ongoing serious problems the external helper may be needed -but please report the bugs anyway.
- -Enable error page localization for visitors.
+Absolute path to po2html executable. +Default is to automatically detect the binary.
Better support for Linux using the external DNS helper. -The helper will compile and work with dns_nameservers on more variants of Linux than previously.
+Default changed to yes.
This option now enables support for all three netfilter interception targets. -Adding TPROXY version 4+ support to squid through the TPROXY target. -This options requires a linux kernel 2.6.25 or later for embeded netfilter TPROXY targets. -Older REDIRECT and DNAT targets work as before on HTTP ports marked 'intercept'.
+This option now enables support for all three netfilter interception targets.
+Adding TPROXY version 4+ support to squid through the netfilter TPROXY target. +This options requires a linux kernel 2.6.25 or later for embeded netfilter TPROXY targets.
+Older REDIRECT and DNAT targets work as before on HTTP ports marked 'intercept'.
+ +Deprecated. Remains only to support old TPROXY version 2.2 installations.
+ +Better support for Linux using the external DNS helper. +The helper will now compile and work with dns_nameservers on more variants of Linux than previously.
The following configure options have been removed.
Replaced by --enable-linux-tproxy2 to make way for differences in TPROXY v2 and v4 support.
Replaced by error_default_language squid.conf option
+Removed.
+Removed. All languages used now for error page localization.
+ +Removed. CARP is required by several peering algoithms. Disabling is not useful.
Some squid.conf and ./configure options which were available in Squid 2.6 are no longer -or not yet available in Squid-3.1
+Some squid.conf and ./configure options which were available in Squid-2.6 and Squid-2.7 are made obsolete in Squid-3.1.
-Some options are listed as Not Yet Ported -If you need something to do then porting one of these from Squid-2 to Squid-3 is most welcome.
- -
blankpassword option for basic scheme removed.
+ +Format tag %{Header} replaced by %>{Header}
+Format tag %{Header:member} replaced by %>{Header:member}
+ +Replaced by request_header_access and reply_header_access
+ +no-connection-auth replaced by connection-auth=[on|off]. Default is ON.
+tcpkeepalive= replaced by keepalive=
+transparent option replaced by intercept
+ +Replaced by http_port disable-pmtu-discovery= option
+ +Replaced by url_rewrite_bypass
+Replaced by zph_tos_local
+ +Obsolete.
+ +Obsolete.
+ +Replaced by zph_tos_peer and zph_tos_parent
+ +Replaced by zph_tos_peer
read-only option replaced by no-store.
+ ++
Obsolete.
+Support for Solaris /dev/poll
+Replaced by automatic detection.
+ +Obsolete.
+ +Replaced by automatic detection.
+ +Obsolete.
+ +Obsolete.
+ +Obsolete. Enabled by default.
+ +Obsolete.
+ +Obsolete.
+ +Obsolete.
+ +Replaced by automatic detection.
+ +Replaced by automatic detection.
Basic POSIX select() loop without any binary fd_set optimizations.
+Replaced by automatic detection.
+ +Obsolete. Enabled by default.
+ +Obsolete.
+ +Obsolete. Disabled by default.
-Support following the X-Forwarded-For HTTP header for determining the -client IP address
Some squid.conf and ./configure options which were available in Squid 2.7 are no longer -or not yet available in Squid-3.1
+Some squid.conf and ./configure options which were available in Squid-2.7 are not yet available in Squid-3.1
-Some options are listed as Not Yet Ported -If you need something to do then porting one of these from Squid-2 to Squid-3 is most welcome.
+If you need something to do then porting one of these from Squid-2 to Squid-3 is most welcome.
-
urllogin option
+urlgroup option
+ +concurrency option
+ +min-size option
+COSS storage type is lacking stability fixes.
+COSS overwrite-percent= option
+COSS max-stripe-waste= option
+COSS membufs= option
+COSS maxfullbufs= option
+ +monitorinterval=
+monitorsize=
+monitortimeout=
+monitorurl=
+multicast-siblings
+idle=
+http11
+ +%ACL
+%DATA
+ +act-as-origin
+allow-direct
+http11
+urlgroup=
+ +%oa
+%sn
+ +stale-while-revalidate=
+ignore-stale-while-revalidate=
+max-stale=
+negative-ttl=
+ +
Although this release is deemed good enough for use in many setups, please note the existence of
The 3.1 change history can be
Squid 3.1 represents a new feature release above 3.0.
@@ -243,76 +243,71 @@ While decrypted, the traffic can be inspected using ICAP.
or can be compiled in Windows native mode using the MinGW + MSYS development environment. Windows NT 4 SP4 and later are supported. Some new command line options were 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.
+ A new -n switch specify the Windows Service Name, so multiple Squid instance are allowed.
So, to install the service, the syntax is:
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:
+ The -k switch family must be used with the appropriate -f and -n switches, so the syntax is:
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
+ 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":
+ 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
+ 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 NT PSAPI.DLL can be found as component of many applications, if you need it,
+ On Windows NT PSAPI.DLL can be found as component of many applications, if you need it,
you can find it on Windows NT Resource KIT. If you have problem, it can be
downloaded from here:
On Windows 2000 and later it is available installing the Windows Support Tools, located on the
Support\Tools folder of the installation Windows CD-ROM.
- On Windows platforms, if no value is specified in the
-
A reasonably recent release of On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache.
@@ -780,7 +769,7 @@ NOCOMMENT_START
New acl type myportname, matching the name of the http(s)_port where the request was accepted.
- New acl type peername, matching against a named cache_peer entry where the request will be attempted first.
+ New acl type peername, matching against a named cache_peer entry where the request will be attempted first.
NP: peername currently is limited to only match the first peer possible.
Default changed from 100MB on-disk UFS cache to 256MB in-memory cache.
+ Default changed to 256MB in-memory cache.
see cache_mem and maximum_object_size_in_memory for size parameters.
- 'null' storage type dropped.
+ 'null' storage type dropped. In-memory cache is always present. Remove all cache_dir options to prevent on-disk caching.
Default size increased to 256MB.
@@ -843,7 +832,7 @@ NOCOMMENT_START
Now an optional entry in squid.conf. If present it will force all visitors to receive the error pages
- contained in the directory it points at. If absent error page localization will be given a chance.
+ contained in the directory it points at. If absent, error page localization will be given a chance.
Default size limit increased to 512KB.
New default to prevent negative-caching of failure messages unless explicitly
+ New default of 0 seconds. To prevent negative-caching of failure messages unless explicitly
permitted by the message generating web server.
- This is an RFC 1616 violation and now requires --enable-http-violations
- to even be usable.
+ Changing this is an RFC 2616 violation and now requires --enable-http-violations
New set of basic patterns. These should always be listed after any custom ptterns.
They ensure RFC compliance with certain protocol and request handling in the absence
of accurate Cache-Control: and Expires: information.
Obsolete. This feature is no longer relevant to modern networks and causes boot problems. Obsolete. This feature is no longer relevant to modern networks and was causing boot problems.
+ The -D command line option used previously to suppress these tests is also obsolete.
Obsolete. All possible methods are now accepted and handled properly.
There have been some changes to Squid's build configuration since Squid-3.0.
@@ -1036,122 +1015,320 @@ This section gives an account of those changes in three categories: