]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Prep for 3.2.0.1
authorAmos Jeffries <squid3@treenet.co.nz>
Mon, 2 Aug 2010 14:03:56 +0000 (02:03 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Mon, 2 Aug 2010 14:03:56 +0000 (02:03 +1200)
ChangeLog
doc/release-notes/release-3.2.html
doc/release-notes/release-3.2.sgml

index ca875a8e0e6a87100734ec7faf5fe4d0c218872e..2ec07a5bb9be65ae9b497358422d8dfebdd384eb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,49 @@
+Changes to squid-3.2.0.1 (03 Aug 2010):
+
+       - Port from 2.7: Logging infrastructure updates
+       - Port from 2.7: Unique sequence number per log line
+       - Port from 2.6: STORE_META_OBJSIZE swapout storage type
+       - Bug 2792: tcp_outgoing_addr does not work with TPROXY
+       - Bug 2631: refresh_pattern store-stale option
+       - Bug 2305: Multiple leaks and assertion crashes in authentication
+       - Bug 1239: Much needed ACL type random
+       - Bug 7: (partial): Migrate on-disk objects to cache_mem on hit/refresh and update
+       - Support full Surrogate/1.0 protocol extensions to HTTP for reverse-proxies
+       - Support SMP for essential non-caching functionality
+       - Support logging over TCP
+       - Support Solaris 10 pthreads (experimental)
+       - Support Kerberos login to peers
+       - Support EUI / MAC in more environments
+       - Support format tags in deny_info URLs
+       - Support running helpers on-demand instead of all at startup
+       - Support fully transparent login=PASSTHRU of authentication headers to peers
+       - Support multi-lingual localised FTP directory listings
+       - Support TPROXYv4 spoofing of X-Forwarded-For client address
+       - Support ICAP 206 Partial Content extension
+       - Append the _ABORTED or _TIMEDOUT suffixes to the action access.log field
+       - Add ACL support to range_offset_limit
+       - Add helpers for url_rewrite
+       - Add helper multiplexer for concurrency emulation with legacy helpers
+       - Add Perl library which facilitates parsing access logfile entries.
+       - Add a simple script to summarise traffic use per user
+       - Add templates for captive portal proxy configuration instructions
+       - Add logging of the local TCP port used by transactions with HTTP servers
+       - Update mswin_check_ad_group to version 2.0
+       - Update squid_kerb_auth helper to version 3.0.2
+       - Remove double-language error page hack (replaced by locale auto-negotiation)
+       - Remove TPROXYv2 support (replaced by TPROXYv4)
+       - Remove no_check.pl NTLM helper (replaced by ntlm_fake_auth)
+       - Re-work ./configure script for smarter auto-detect and early error checks
+       - Auto-enable all features by default
+       - Workaround com_err.h C++ brokenness triggered by OpenSSL includes
+       - Helpers naming scheme
+       - Add support for write timeouts
+       - Modify icap_service_failure_limit option to forget old ICAP errors
+       - Updated man(8) manuals including several additions and translations
+       - ... and a great many code cleanups
+       - ... and a great many testing improvements
+       - ... and many documentation updates
+
 Changes to squid-3.1.6 (02 Aug 2010):
 
        - Bug 2994, 2995: IPv4-only regressions
index 155ee9de05c3dc9e0a6d796606aaa6adc627d20b..6f8195c27f2942e329c2f7bf24e3d9ee7123b7ad 100644 (file)
@@ -2,10 +2,10 @@
 <HTML>
 <HEAD>
  <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.65">
- <TITLE>Squid 3.2.0.0 release notes</TITLE>
+ <TITLE>Squid 3.2.0.1 release notes</TITLE>
 </HEAD>
 <BODY>
-<H1>Squid 3.2.0.0 release notes</H1>
+<H1>Squid 3.2.0.1 release notes</H1>
 
 <H2>Squid Developers</H2>
 <HR>
@@ -24,10 +24,14 @@ for Applied Network Research and members of the Web Caching community.</EM>
 <H2><A NAME="toc2">2.</A> <A HREF="#s2">Major new features since Squid-3.1</A></H2>
 
 <UL>
-<LI><A NAME="toc2.1">2.1</A> <A HREF="#ss2.1">Helper Multiplexer</A>
-<LI><A NAME="toc2.2">2.2</A> <A HREF="#ss2.2">Helper Name Changes</A>
-<LI><A NAME="toc2.3">2.3</A> <A HREF="#ss2.3">Multi-Lingual manuals</A>
-<LI><A NAME="toc2.4">2.4</A> <A HREF="#ss2.4">Solaris 10 pthreads Support (Experimental)</A>
+<LI><A NAME="toc2.1">2.1</A> <A HREF="#ss2.1">SMP scalability</A>
+<LI><A NAME="toc2.2">2.2</A> <A HREF="#ss2.2">Helper Multiplexer</A>
+<LI><A NAME="toc2.3">2.3</A> <A HREF="#ss2.3">Helpers On-Demand</A>
+<LI><A NAME="toc2.4">2.4</A> <A HREF="#ss2.4">Helper Name Changes</A>
+<LI><A NAME="toc2.5">2.5</A> <A HREF="#ss2.5">Multi-Lingual manuals</A>
+<LI><A NAME="toc2.6">2.6</A> <A HREF="#ss2.6">Solaris 10 pthreads Support (Experimental)</A>
+<LI><A NAME="toc2.7">2.7</A> <A HREF="#ss2.7">Surrogate/1.0 protocol extensions to HTTP</A>
+<LI><A NAME="toc2.8">2.8</A> <A HREF="#ss2.8">Logging Infrastructure Updated</A>
 </UL>
 <P>
 <H2><A NAME="toc3">3.</A> <A HREF="#s3">Changes to squid.conf since Squid-3.1</A></H2>
@@ -64,7 +68,7 @@ for Applied Network Research and members of the Web Caching community.</EM>
 <HR>
 <H2><A NAME="s1">1.</A> <A HREF="#toc1">Notice</A></H2>
 
-<P>The Squid Team are pleased to announce the release of Squid-3.2.0.0 for testing.</P>
+<P>The Squid Team are pleased to announce the release of Squid-3.2.0.1 for testing.</P>
 <P>This new release is available for download from 
 <A HREF="http://www.squid-cache.org/Versions/v3/3.2/">http://www.squid-cache.org/Versions/v3/3.2/</A> or the 
 <A HREF="http://www.squid-cache.org/Mirrors/http-mirrors.html">mirrors</A>.</P>
@@ -90,15 +94,64 @@ for Applied Network Research and members of the Web Caching community.</EM>
 
 <P>The most important of these new features are:
 <UL>
-<LI>Helper Multiplexer</LI>
+<LI>SMP scalability</LI>
+<LI>Helper Multiplexer and On-Demand</LI>
 <LI>Helper Name Changes</LI>
 <LI>Multi-Lingual manuals</LI>
 <LI>Solaris 10 pthreads Support (Experimental)</LI>
+<LI>Surrogate/1.0 protocol extensions to HTTP</LI>
+<LI>Logging Infrastructure Updated</LI>
 </UL>
 </P>
 <P>Most user-facing changes are reflected in squid.conf (see below).</P>
 
-<H2><A NAME="ss2.1">2.1</A> <A HREF="#toc2.1">Helper Multiplexer</A>
+
+<H2><A NAME="ss2.1">2.1</A> <A HREF="#toc2.1">SMP scalability</A>
+</H2>
+
+<P>The new "workers" squid.conf option can be used to launch multiple worker
+processes and utilize multiple CPU cores. The overall intent is to make
+multiple workers look like one to an outside observer, while providing
+knobs to customize each worker behavior if needed.</P>
+
+<P>By default, all worker processes are configured identically and do what a
+single Squid instance would have done. Squid.conf macro substitutions and
+conditionals (see below) can be used to customize individual worker
+configurations. In the paragraphs below, "can share" implies "will share by
+default".</P>
+
+<P>Workers can share HTTP, HTTPS, SNMP, ICP, and HTCP listening addresses.
+Configuration related to ICP and HTCP clients must be adjusted to avoid
+source address conflicts: Modify the IP address and/or the port used for
+the protocol. Workers do not share DNS addresses by default because the OS
+assigns each worker a unique DNS port.</P>
+
+<P>Workers can share logs.</P>
+
+<P>Workers cannot share caches, for now. Cache_dir options must be adjusted to
+point each disk-caching worker to its own disk area. ICP and HTCP responses
+are based on the responding worker cache state. Overall, SMP Squid behaves
+as a Squid farm behind a load-balancer with no cache affinity awareness.
+This is perfect for non-caching Squids but inappropriate for Squids that
+must coordinate caching activities (in-between environments are in a gray
+area requiring case-by-case analysis).</P>
+
+<P>Cache manager and SNMP statistics are reported from a worker point of
+view, for now.</P>
+
+<P>Startup, reconfiguration, shutdown, and log rotation are handled as for a
+monolithic Squid. Abnormally terminated workers are restarted while
+other workers continue serving traffic.</P>
+
+<H3>Squid.conf macros and conditionals</H3>
+
+<P>Added support for process_name and process_number macros as well as simple
+if-statement conditionals in squid.conf. These features allow individual
+worker customization in SMP mode. For details, search for "Conditional
+configuration" and "SMP-Related Macros" sections in squid.conf.documented.</P>
+
+
+<H2><A NAME="ss2.2">2.2</A> <A HREF="#toc2.2">Helper Multiplexer</A>
 </H2>
 
 <P>The helper multiplexer's purpose is to relieve some of the burden
@@ -145,7 +198,44 @@ the reduction in direct helper spawned by Squid can result in a great reduction
 </UL>
 </P>
 
-<H2><A NAME="ss2.2">2.2</A> <A HREF="#toc2.2">Helper Name Changes</A>
+
+<H2><A NAME="ss2.3">2.3</A> <A HREF="#toc2.3">Helpers On-Demand</A>
+</H2>
+
+<P>Traditionally Squid has been configured with a fixed number of helpers and started them during
+it's start and reconfigure phases. This forces the hard configuration problem of how many helpers
+will be needed to be solved before starting Squid in production use.</P>
+
+<P>The on-demand helpers feature allows greater flexibility and resolves this problem by allowing
+maximum, initial and idle thresholds to be configured. Squid will start the initial set during
+start and reconfigure phases. However over the operational use new helpers up to the maxium will
+be started as load demands. The idle threshold determins how many more helpers to start if the
+currently running set is not enough to handle current request loads.</P>
+
+<P>For example, a traditional configration is
+<PRE>
+        auth_param ntlm /usr/libexec/squid/ntlm_auth
+        auth_param ntlm children 200
+   
+</PRE>
+
+the alternative on-demand configuration could be:
+<PRE>
+        auth_param ntlm /usr/libexec/squid/ntlm_auth
+        auth_param ntlm children 200 startup=10 idle=2
+   
+</PRE>
+</P>
+
+<P>The example still permits up to 200 helpers to be running at once under peak traffic loads.
+But only starts 10 when Squid is initialized resulting in a faster boot up.
+When client requests threaten to overload the running helpers an additional 2 will be started.</P>
+
+<P>NOTE: if no <EM>startup</EM> and <EM>idle</EM> values are specified the traditional behaviour
+of starting the maximum number of helpers will occur.</P>
+
+
+<H2><A NAME="ss2.4">2.4</A> <A HREF="#toc2.4">Helper Name Changes</A>
 </H2>
 
 <P>To improve the understanding of what each helper does and where it should be used the helper binaries
@@ -161,15 +251,15 @@ For several helpers the directory name used in --enable-X-helpers configure opti
 <LI>squid_db_auth - basic_db_auth - Retrieve authentication details from a simple SQL database table.</LI>
 <LI>getpwnam_auth - basic_getpwname_auth - Authenticate with local system user accounts.</LI>
 <LI>squid_ldap_auth - basic_ldap_auth - Authenticate with LDAP user accounts.</LI>
+<LI>MSNT-multi-domain - basic_msnt_multi_domain_auth - Authenticate with any one of multiple Windows Domain Controllers.</LI>
 <LI>ncsa_auth - basic_ncsa_auth - Authenticate with NCSA httpd-style password file.</LI>
+<LI>yp_auth - basic_nis_auth - Authenticate with NIS security system.</LI>
 <LI>pam_auth - basic_pam_auth - Authenticate with the system PAM infrastructure.</LI>
 <LI>pop3.pl - basic_pop3_auth - Authenticate with a mail server POP3/SMTP credentials</LI>
+<LI>squid_radius_auth - basic_radius_auth - Authenticate with RADIUS.</LI>
 <LI>squid_sasl_auth - basic_sasl_auth - Authenticate with SASL.</LI>
 <LI>smb_auth - basic_smb_auth - Authenticate with Samba SMB.</LI>
-<LI>yp_auth - basic_nis_auth - Authenticate with NIS security system.</LI>
 <LI>mswin_sspi - basic_sspi_auth - Authenticate with a Windows Domain Controller using SSPI.</LI>
-<LI>MSNT-multi-domain - basic_msnt_multi_domain_auth - Authenticate with any one of multiple Windows Domain Controllers.</LI>
-<LI>squid_radius_auth - basic_radius_auth - Authenticate with RADIUS.</LI>
 </UL>
 </P>
 
@@ -185,7 +275,13 @@ For several helpers the directory name used in --enable-X-helpers configure opti
 
 <P>
 <UL>
-<LI>(none yet converted)</LI>
+<LI>mswin_check_ad_group - ext_ad_group_acl - Check logged in users Group membership using Active Directory.</LI>
+<LI>ip_user_check - ext_file_userip_acl - Restrict users to cetain IP addresses, using a text file backend.</LI>
+<LI>squid_ldap_group - ext_ldap_group_acl - Check logged in users Group membership using LDAP.</LI>
+<LI>mswin_check_lm_group - ext_lm_group_acl - Check logged in users Group membership using LanManager.</LI>
+<LI>squid_session - ext_session_acl - Maintain a session cache of client identifiers (usually IP address).</LI>
+<LI>squid_unix_group - ext_unix_group_acl - Check logged in users Group membership using local UNIX groups.</LI>
+<LI>wbinfo_group.pl - ext_wbinfo_group_acl - Check logged in users Group membership using wbinfo.</LI>
 </UL>
 </P>
 
@@ -194,6 +290,7 @@ For several helpers the directory name used in --enable-X-helpers configure opti
 <P>
 <UL>
 <LI>squid_kerb_auth - negotiate_kerberos_auth - Authenticate with Kerberos servers.</LI>
+<LI>mswin_sspi - negotiate_sspi_auth - Authenticate with a Windows Domain Controller using SSPI.</LI>
 </UL>
 </P>
 
@@ -201,8 +298,10 @@ For several helpers the directory name used in --enable-X-helpers configure opti
 
 <P>
 <UL>
+<LI>no_check.pl - Deprecated. - Use the faster and less easily decrypted ntlm_fake_auth instead.</LI>
 <LI>fakeauth_auth - ntlm_fake_auth - Perform NTLMSSP to recover the username but don't verify the password.</LI>
 <LI>ntlm_auth - ntlm_smb_lm_auth - Perform SMB LanManager domain-less authentication over NTLM protocol.</LI>
+<LI>mswin_ntlm_auth - ntlm_sspi_auth - Perform NTLMSSP authentication using Windows native Security Support Provider Interface API.</LI>
 </UL>
 </P>
 
@@ -215,7 +314,7 @@ For several helpers the directory name used in --enable-X-helpers configure opti
 </P>
 
 
-<H2><A NAME="ss2.3">2.3</A> <A HREF="#toc2.3">Multi-Lingual manuals</A>
+<H2><A NAME="ss2.5">2.5</A> <A HREF="#toc2.5">Multi-Lingual manuals</A>
 </H2>
 
 <P>The man(8) and man(1) pages bundled with Squid are now provided online for all
@@ -228,11 +327,66 @@ versions and beginning with 3.2 they are available in languages other than engli
 This move begins the Localization of the internal administrator facing manuals.</P>
 
 
-<H2><A NAME="ss2.4">2.4</A> <A HREF="#toc2.4">Solaris 10 pthreads Support (Experimental)</A>
+<H2><A NAME="ss2.6">2.6</A> <A HREF="#toc2.6">Solaris 10 pthreads Support (Experimental)</A>
 </H2>
 
 <P>Automatic detection and use of the pthreads library available from Solaris 10</P>
 
+<P>The result of this addition means that faster more efficient AUFS cache storage mechanisims
+are now available in Solaris 10.</P>
+
+<P>Support is experimental at this stage due to lack of feedback on the results of enabling it.
+We recommend giving AUFS a try for faster disk storage and encourage feedback.</P>
+
+
+<H2><A NAME="ss2.7">2.7</A> <A HREF="#toc2.7">Surrogate/1.0 protocol extensions to HTTP</A>
+</H2>
+
+<P>The <EM>Surrogate</EM> extensions to HTTP protocol enable an origin web server to specify separate
+cache controls for a reverse proxy acting on its behalf. Previously this was closely tied with the ESI
+feature support in Squid. This release opens Surrogate support to all reverse proxies.</P>
+
+<P>Reverse proxy requests sent on to the web server include the HTTP header <EM>Surrogate-Capabilities:</EM>
+specifying the capabilities of the reverse proxy along with an ID which can be used to target reponses with
+a <EM>Surrogate-Control:</EM> HTTP header used instead of the <EM>Cache-Control:</EM> header.</P>
+
+<P>The default surrogate ID is generated automatically from the Squid site-unique hostname as found by the
+automatic detection or manual configuration of <EM>visible_hostname</EM> although can be configured
+separately with the <EM>httpd_accel_surrogate_id</EM> option.</P>
+
+<P><EM>Security Considerations:</EM> Websites sould be careful of accepting any surrogate ID.
+Older releases of Squid leak the Surrogate-Control headers to external servers.
+This 3.2 series of Squid will now prevent this leakage of its own ID destined responses, however it is possible
+and for some uses desirable to receive external reverse-proxies <EM>Surrogate-Capabilities:</EM> headers.</P>
+
+<P><EM>NOTE:</EM> Several operating system distributions historically package Squid with a forced value of
+<EM>visible_hostname localhost</EM>. If this is done on a Surrogate enabled install a manual re-configuration
+is required to prevent an unacceptable surrogate ID of 'localhost' being generated.</P>
+
+
+<H2><A NAME="ss2.8">2.8</A> <A HREF="#toc2.8">Logging Infrastructure Updated</A>
+</H2>
+
+<P>The advanced logging modules introduced in Squid-2.7 are now available from Squid-3.2.</P>
+
+<P>This feature is documented at http://wiki.squid-cache.org/Features/LogModules</P>
+
+<P>The new infrastructure currently supports several different channels types (modules) ranging from
+direct filesystem logging (stdio, daemon) to network logging (syslog, UDP and TCP). The daemon logging
+interface allows for a custom helper to be written to process logs in real-time.</P>
+
+<P>Upgrading: the <EM>access_log</EM> was previously logge via what is now called the <EM>stdio</EM> module.
+This is still supported and used by default if no module is named. For best performance particularly in SMP
+environments we recommend the <EM>daemon</EM> be used. The provided <EM>log_file_daemon</EM> helper
+performs the traditional logging to local filesystem.</P>
+
+<P>Additional to this the cache.log can now be limited to a smaller number of files stored.
+Traditionally cache.log.N has been fixed at the same number of rotated files as access.log.N through the
+<EM>logfile_rotate</EM> setting. The <EM>debug_options</EM> setting can now be used to configure the number
+of debug cache.log files to rotate through with a <EM>rotate=N</EM> option. This is particularly useful for
+logging a single cache.log at relatively high debug levels on a high-traffic system. Or one which is
+required to store a long period of access.log and needs to conserve disk space.</P>
+
 
 <H2><A NAME="s3">3.</A> <A HREF="#toc3">Changes to squid.conf since Squid-3.1</A></H2>
 
@@ -259,9 +413,21 @@ This move begins the Localization of the internal administrator facing manuals.<
 <P>Access control based on altered HTTP request following adaptation alterations (ICAP, eCAP, URL rewriter).
 An upgraded drop-in replacement for <EM>http_access2</EM> found in Squid-2.</P>
 
+<DT><B>else</B><DD>
+<P>Part of conditional SMP support syyntax. see <EM>if</EM></P>
+
+<DT><B>endif</B><DD>
+<P>Part of conditional SMP support syyntax. see <EM>if</EM></P>
+
 <DT><B>eui_lookup</B><DD>
 <P>Whether to lookup the EUI or MAC address of a connected client.</P>
 
+<DT><B>if</B><DD>
+<P>New conditional syntax for SMP multiple-worker. 
+If-statements can be used to make configuration directives depend on conditions.</P>
+<P>The else part is optional. The keywords <EM>if</EM>, <EM>else</EM> and <EM>endif</EM> 
+must be typed on their own lines, as if they were regular configuration directives.</P>
+
 <DT><B>memory_cache_mode</B><DD>
 <P>Controls which objects to keep in the memory cache (cache_mem)
 <PRE>
@@ -284,6 +450,17 @@ An upgraded drop-in replacement for <EM>http_access2</EM> found in Squid-2.</P>
 header is used for spoofing instead of the directly connected client address.
 Requires both <EM>--enable-follow-x-forwarded-for</EM> and <EM>--enable-linux-netfilter</EM></P>
 
+<DT><B>workers</B><DD>
+<P>Number of main Squid processes or "workers" to fork and maintain.
+In SMP mode, each worker does nearly all what a single Squid daemon
+does (e.g., listen on http_port and forward HTTP requests).
+<PRE>
+        0: "no daemon" mode, like running "squid -N ..."
+        1: "no SMP" mode, start one main Squid process daemon (default)
+        N: start N main Squid process daemons (i.e., SMP mode)
+        
+</PRE>
+</P>
 </DL>
 </P>
 
index f5256caeb704c81eb804371304d6bbd53519e1d9..4cc6b3382bdeb4bef3cb274b7c73dd04c154bcd8 100644 (file)
@@ -1,6 +1,6 @@
 <!doctype linuxdoc system>
 <article>
-<title>Squid 3.2.0.0 release notes</title>
+<title>Squid 3.2.0.1 release notes</title>
 <author>Squid Developers</author>
 
 <abstract>
@@ -13,7 +13,7 @@ for Applied Network Research and members of the Web Caching community.
 
 <sect>Notice
 <p>
-The Squid Team are pleased to announce the release of Squid-3.2.0.0 for testing.
+The Squid Team are pleased to announce the release of Squid-3.2.0.1 for testing.
 
 This new release is available for download from <url url="http://www.squid-cache.org/Versions/v3/3.2/"> or the <url url="http://www.squid-cache.org/Mirrors/http-mirrors.html" name="mirrors">.
 
@@ -35,14 +35,17 @@ The 3.2 change history can be <url url="http://www.squid-cache.org/Versions/v3/3
 <p>The most important of these new features are:
 <itemize>
        <item>SMP scalability
-       <item>Helper Multiplexer
+       <item>Helper Multiplexer and On-Demand
        <item>Helper Name Changes
        <item>Multi-Lingual manuals
        <item>Solaris 10 pthreads Support (Experimental)
+       <item>Surrogate/1.0 protocol extensions to HTTP
+       <item>Logging Infrastructure Updated
 </itemize>
 
 Most user-facing changes are reflected in squid.conf (see below).
 
+
 <sect1>SMP scalability
 <p>The new "workers" squid.conf option can be used to launch multiple worker
    processes and utilize multiple CPU cores. The overall intent is to make
@@ -78,7 +81,6 @@ Most user-facing changes are reflected in squid.conf (see below).
    monolithic Squid. Abnormally terminated workers are restarted while
    other workers continue serving traffic.
 
-
 <sect2>Squid.conf macros and conditionals
 <p>Added support for process_name and process_number macros as well as simple
    if-statement conditionals in squid.conf. These features allow individual
@@ -126,8 +128,38 @@ Most user-facing changes are reflected in squid.conf (see below).
        <item>SIGHUP: dump the state of all helpers to STDERR
    </itemize>
 
-<sect1>Helper Name Changes
 
+<sect1>Helpers On-Demand
+<p>Traditionally Squid has been configured with a fixed number of helpers and started them during
+  it's start and reconfigure phases. This forces the hard configuration problem of how many helpers
+  will be needed to be solved before starting Squid in production use.
+
+<p>The on-demand helpers feature allows greater flexibility and resolves this problem by allowing
+  maximum, initial and idle thresholds to be configured. Squid will start the initial set during
+  start and reconfigure phases. However over the operational use new helpers up to the maxium will
+  be started as load demands. The idle threshold determins how many more helpers to start if the
+  currently running set is not enough to handle current request loads.
+
+<p>For example, a traditional configration is
+   <verb>
+       auth_param ntlm /usr/libexec/squid/ntlm_auth
+       auth_param ntlm children 200
+   </verb>
+   the alternative on-demand configuration could be:
+   <verb>
+       auth_param ntlm /usr/libexec/squid/ntlm_auth
+       auth_param ntlm children 200 startup=10 idle=2
+   </verb>
+
+<p>The example still permits up to 200 helpers to be running at once under peak traffic loads.
+  But only starts 10 when Squid is initialized resulting in a faster boot up.
+  When client requests threaten to overload the running helpers an additional 2 will be started.
+
+<p>NOTE: if no <em>startup</em> and <em>idle</em> values are specified the traditional behaviour
+  of starting the maximum number of helpers will occur.
+
+
+<sect1>Helper Name Changes
 <p>To improve the understanding of what each helper does and where it should be used the helper binaries
    which are bundled with Squid have undergone a naming change in this release.
 
@@ -188,7 +220,6 @@ Most user-facing changes are reflected in squid.conf (see below).
 
 
 <sect1>Multi-Lingual manuals
-
 <p>The man(8) and man(1) pages bundled with Squid are now provided online for all
    versions and beginning with 3.2 they are available in languages other than english.
 
@@ -199,9 +230,59 @@ Most user-facing changes are reflected in squid.conf (see below).
 
 
 <sect1>Solaris 10 pthreads Support (Experimental)
-
 <p>Automatic detection and use of the pthreads library available from Solaris 10
 
+<p>The result of this addition means that faster more efficient AUFS cache storage mechanisims
+  are now available in Solaris 10.
+
+<p>Support is experimental at this stage due to lack of feedback on the results of enabling it.
+  We recommend giving AUFS a try for faster disk storage and encourage feedback.
+
+
+<sect1>Surrogate/1.0 protocol extensions to HTTP
+<p>The <em>Surrogate</em> extensions to HTTP protocol enable an origin web server to specify separate
+  cache controls for a reverse proxy acting on its behalf. Previously this was closely tied with the ESI
+  feature support in Squid. This release opens Surrogate support to all reverse proxies.
+
+<p>Reverse proxy requests sent on to the web server include the HTTP header <em>Surrogate-Capabilities:</em>
+  specifying the capabilities of the reverse proxy along with an ID which can be used to target reponses with
+  a <em>Surrogate-Control:</em> HTTP header used instead of the <em>Cache-Control:</em> header.
+
+<p>The default surrogate ID is generated automatically from the Squid site-unique hostname as found by the
+  automatic detection or manual configuration of <em>visible_hostname</em> although can be configured
+  separately with the <em>httpd_accel_surrogate_id</em> option.
+
+<p><em>Security Considerations:</em> Websites sould be careful of accepting any surrogate ID.
+  Older releases of Squid leak the Surrogate-Control headers to external servers.
+  This 3.2 series of Squid will now prevent this leakage of its own ID destined responses, however it is possible
+  and for some uses desirable to receive external reverse-proxies <em>Surrogate-Capabilities:</em> headers.
+
+<p><em>NOTE:</em> Several operating system distributions historically package Squid with a forced value of
+  <em>visible_hostname localhost</em>. If this is done on a Surrogate enabled install a manual re-configuration
+  is required to prevent an unacceptable surrogate ID of 'localhost' being generated.
+
+
+<sect1>Logging Infrastructure Updated
+<p>The advanced logging modules introduced in Squid-2.7 are now available from Squid-3.2.
+
+<p>This feature is documented at http://wiki.squid-cache.org/Features/LogModules
+
+<p>The new infrastructure currently supports several different channels types (modules) ranging from
+  direct filesystem logging (stdio, daemon) to network logging (syslog, UDP and TCP). The daemon logging
+  interface allows for a custom helper to be written to process logs in real-time.
+
+<p>Upgrading: the <em>access_log</em> was previously logge via what is now called the <em>stdio</em> module.
+  This is still supported and used by default if no module is named. For best performance particularly in SMP
+  environments we recommend the <em>daemon</em> be used. The provided <em>log_file_daemon</em> helper
+  performs the traditional logging to local filesystem.
+
+<p>Additional to this the cache.log can now be limited to a smaller number of files stored.
+  Traditionally cache.log.N has been fixed at the same number of rotated files as access.log.N through the
+  <em>logfile_rotate</em> setting. The <em>debug_options</em> setting can now be used to configure the number
+  of debug cache.log files to rotate through with a <em>rotate=N</em> option. This is particularly useful for
+  logging a single cache.log at relatively high debug levels on a high-traffic system. Or one which is
+  required to store a long period of access.log and needs to conserve disk space.
+
 
 <sect>Changes to squid.conf since Squid-3.1
 <p>