]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - doc/release-notes/release-3.4.sgml
Docs: Copyright updates for 2018 (#114)
[thirdparty/squid.git] / doc / release-notes / release-3.4.sgml
index 821038972a88f5ffaf13c4c56ecbae36368ef652..7b1608db753d6ddc26f6fc8b0d903a8963ced9e3 100644 (file)
@@ -1,6 +1,6 @@
 <!doctype linuxdoc system>
 <article>
-<title>Squid 3.4.0.0 release notes</title>
+<title>Squid 3.4.14 release notes</title>
 <author>Squid Developers</author>
 
 <abstract>
@@ -13,14 +13,15 @@ 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.4.0.0 for testing.
+The Squid Team are pleased to announce the release of Squid-3.4.14.
 
-This new release is available for download from <url url="http://www.squid-cache.org/Versions/v3/3.HEAD/"> or the
- <url url="http://www.squid-cache.org/Mirrors/http-mirrors.html" name="mirrors">.
+This new release is available for download from <url url="http://www.squid-cache.org/Versions/v3/3.4/"> or the
+ <url url="http://www.squid-cache.org/Download/http-mirrors.html" name="mirrors">.
 
-While this release is not deemed ready for production use, we believe it is ready for wider testing by the community.
+<p>Some interesting new features adding system flexibility have been added along with general improvements all around.
+   While this release is not fully bug-free we believe it is ready for use in production on many systems.
 
-We welcome feedback and bug reports. If you find a bug, please see <url url="http://wiki.squid-cache.org/SquidFaq/BugReporting">
+<p>We welcome feedback and bug reports. If you find a bug, please see <url url="http://wiki.squid-cache.org/SquidFaq/BugReporting">
  for how to submit a report with a stack trace.
 
 <sect1>Known issues
@@ -28,10 +29,10 @@ We welcome feedback and bug reports. If you find a bug, please see <url url="htt
 Although this release is deemed good enough for use in many setups, please note the existence of 
 <url url="http://bugs.squid-cache.org/buglist.cgi?query_format=advanced&amp;product=Squid&amp;bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;version=3.4" name="open bugs against Squid-3.4">.
 
-
 <sect1>Changes since earlier releases of Squid-3.4
 <p>
-The 3.4 change history can be <url url="http://www.squid-cache.org/Versions/v3/3.HEAD/changesets/" name="viewed here">.
+The 3.4 change history can be <url url="http://www.squid-cache.org/Versions/v3/3.4/changesets/" name="viewed here">.
+
 
 <sect>Major new features since Squid-3.3
 <p>Squid 3.4 represents a new feature release above 3.3.
@@ -43,6 +44,7 @@ The 3.4 change history can be <url url="http://www.squid-cache.org/Versions/v3/3
        <item>Store-ID
        <item>TPROXY Support for OpenBSD 5.1+ and FreeBSD 9+
        <item>Transaction Annotations
+       <item>Multicast DNS
 </itemize>
 
 Most user-facing changes are reflected in squid.conf (see below).
@@ -62,7 +64,7 @@ Most user-facing changes are reflected in squid.conf (see below).
 
 <p>Arbitrary key-value pairs can be returned from any helper.
    Allowing future helpers to be forward- and backward- compatible
-   with this and future version of Squid.
+   with this and future versions of Squid.
 
 
 <sect1>SSL Server Certificate Validator
@@ -110,10 +112,10 @@ Most user-facing changes are reflected in squid.conf (see below).
    helpers to provide Squid with an alternative key name for any URL.
 
 <p>When any client request is received which requires a cache lookup the URL is passed to
-   a helper specified with the <em>store_id_rewrite_program</em> directive to check for
-   an alternative Store ID. This allows the helper to identify URLs which refer to duplicate
-   resources and de-duplicate the cache content. <em>store_id_access</em> is provided to
-   allow ACL-based tuning of which traffic gets sent to the helper and reduce overheads.
+   a helper specified with the <em>store_id_program</em> directive to check for an alternative
+   Store ID. This allows the helper to identify URLs which refer to duplicate resources and
+   de-duplicate the cache content. <em>store_id_access</em> is provided to allow ACL-based
+   tuning of which traffic gets sent to the helper and reduce overheads.
 
 <p>One subtle and noteworthy difference between Squid-2 and Squid-3 which is highlighted by
    this feature is that <em>refresh_pattern</em> applies its regex argument against the Store
@@ -121,7 +123,7 @@ Most user-facing changes are reflected in squid.conf (see below).
    affects which <em>refresh_pattern</em> directive will be matched.
 
 <p>Store-ID helpers bundled with Squid can be built with the --enable-storeid-rewrite-helpers
-   options which is added in this version. Currently there is a <em>file</em> helper
+   option which is added in this version. Currently there is a <em>file</em> helper
    provided.
 
 
@@ -145,6 +147,7 @@ Most user-facing changes are reflected in squid.conf (see below).
    which do not yet support the getsockname() API.
    These systems require <em>--with-nat-devpf</em> to enable /dev/pf support when using PF firewall.
 
+
 <sect1>Transaction Annotations
 <p>Previously the only annotation methods available were ICAP/eCAP HTTP header insertions
    or external ACL <em>tag=</em> result code. Each of which had only limited possibilities
@@ -174,10 +177,38 @@ Most user-facing changes are reflected in squid.conf (see below).
         and the external ACL interface does not yet send annotations to the helper.
 
 
+<sect1>Multicast DNS
+<p>The internal DNS component of Squid now supports multicast DNS (mDNS) resolution in
+    accordance with RFC 6762.
+
+<p>The <em>dns_multicast_local</em> directive must be set to <em>on</em> to enable this
+   feature.
+
+<p>The multicast DNS group IP addresses for IPv4 and IPv6 resolving are added to the set
+   of available DNS resolvers and used automatically for domain names ending in <em>.local</em>
+   and reverse-DNS lookups before attempting a secondary resolution on the configured
+   resolvers. Domains without <em>.local</em> are resolved using only the configured resolvers.
+
+<p>Statistics for multicast DNS resolution can be found on the <em>idns</em> cache manager
+   report.
+
+<p><em>NOTE</em> that the external DNS helper interface is now deprecated and has been
+  removed from future Squid versions. Any installations still using it for local hostname
+  resolution need to upgrade to mDNS resolution with this Squid version.
+
+
 <sect>Changes to squid.conf since Squid-3.3
 <p>
 There have been changes to Squid's configuration file since Squid-3.3.
 
+<p>Squid supports reading configuration option parameters from external
+   files using the syntax <em>parameters("/path/filename")</em>. For example:
+<verb>
+    acl whitelist dstdomain parameters("/etc/squid/whitelist.txt")
+</verb>
+
+<p>There have also been changes to individual directives in the config file.
+
 This section gives a thorough account of those changes in three categories:
 
 <itemize>
@@ -190,6 +221,15 @@ This section gives a thorough account of those changes in three categories:
 <sect1>New tags<label id="newtags">
 <p>
 <descrip>
+       <tag>configuration_includes_quoted_values</tag>
+       <p>Whether Squid supports directive parameters with spaces, quotes, and other
+          special characters. Surround such parameters with "double quotes" and
+          also set this directive on/off around the relevant squid.conf line(s)
+          making use of such quoting.
+
+       <tag>dns_multicast_local</tag>
+       <p>Use multicast DNS for <em>.local</em> domains and reverse-DNS resolution.
+
        <tag>note</tag>
        <p>Use ACLs to annotate a transaction with customized annotations
           which can be logged in access.log
@@ -204,6 +244,27 @@ This section gives a thorough account of those changes in three categories:
        <tag>sslcrtvalidator_program</tag>
        <p>Specifies the location of a SSL server certificate validator helper.
 
+       <tag>store_id_access</tag>
+       <p>Whether the URL for a given request is passed to the Store-ID helper process.
+          Used to improve StoreID performance by quickly eliminating helper delays using ACL tests.
+       <p>Ported equivalent to <em>storeurl_access</em> from 2.7
+
+       <tag>store_id_bypass</tag>
+       <p>Whether the StoreID helper may be bypassed when overloaded.
+
+       <tag>store_id_children</tag>
+       <p>Controls the number of StoreID helper processes.
+        <p>Options <em>startup=N</em>, <em>idle=N</em>, <em>concurrency=N</em>
+        <itemize>
+                <item>startup=N allow finer tuning of how many helpers are started initially.
+                <item>idle=N allow fine tuning of how many helper to retain as buffer against sudden traffic loads.
+                <item>concurrency=N was previously called url_rewrite_concurrency as a distinct directive.
+        </itemize>
+
+       <tag>store_id_rewrite_program</tag>
+       <p>A helper program to provide cache storage internal key ID value for a request.
+       <p>Ported equivalent to <em>storeurl_rewrite_program</em> from 2.7
+
 </descrip>
 
 <sect1>Changes to existing tags<label id="modifiedtags">
@@ -256,10 +317,19 @@ This section gives a thorough account of those changes in three categories:
        <tag>logformat</tag>
        <p>New format code <em>%note</em> to log a transaction annotation linked to the
           transaction by ICAP, eCAP, a helper, or the <em>note</em> squid.conf directive.
+       <p>New format code <em>%&gt;qos</em> to log client connection TOS/DSCP value set by Squid.
+       <p>New format code <em>%&lt;qos</em> to log server connection TOS/DSCP value set by Squid.
+       <p>New format code <em>%&gt;nfmark</em> to log client connection netfilter mark set by Squid.
+       <p>New format code <em>%&lt;nfmark</em> to log server connection netfilter mark set by Squid.
 
        <tag>pipeline_prefetch</tag>
        <p>Updated to take a numeric count of prefetched pipeline requests instead of ON/OFF.
 
+       <tag>refresh_pattern</tag>
+       <p><em>NOTE:</em> the regular expression pattern operates on the cache Store-ID value.
+          Which by default is identical to the requested URL, but may differ for some
+          objects if the Store-ID feature is in use.
+
        <tag>unlinkd_program</tag>
        <p>New helper response format utilizing result codes <em>OK</em> and <em>BH</em>,
           to signal helper lookup results. Also, key-value response values to return
@@ -277,8 +347,24 @@ This section gives a thorough account of those changes in three categories:
 <sect1>Removed tags<label id="removedtags">
 <p>
 <descrip>
-       <p><em>There are no removed squid.conf tags in Squid-3.4.</em>
+       <tag>log_access</tag>
+       <p>Removed. Use access_log with ACLs instead
+
+       <tag>log_icap</tag>
+       <p>Removed. Use icap_log with ACLs instead
+
+       <tag>storeurl_access</tag>
+       <p>Replaced by <em>store_id_access</em>.
+
+       <tag>storeurl_rewrite_children</tag>
+       <p>Replaced by <em>store_id_children</em>.
 
+       <tag>storeurl_rewrite_concurrency</tag>
+       <p>Replaced by <em>store_id_children</em> with <em>concurrency=N</em> option.
+
+       <tag>storeurl_rewrite_program</tag>
+       <p>Replaced by <em>store_id_program</em>.
+       
 </descrip>
 
 
@@ -304,7 +390,14 @@ This section gives an account of those changes in three categories:
           omit to get all helper auto-detected.
        <p>Currenly only a helper using <em>file</em> for backend is provided.
 
-       <tag>--with-nat-pf</tag>
+       <tag>--disable-arch-native</tag>
+       <p>New option to disable use of -march=native compiler flag.
+       <p>The new flag auto-enables CPU-specific optimizations in GCC and is
+         required by Clang++ v3.2 for correct 64-bit environment detection.
+         It does not always work well however, so this build option is provided
+         to remove it when necessary.
+
+       <tag>--with-nat-devpf</tag>
        <p>New option to alter the behaviour of <em>http_port ... intercept</em> option
           in squid.conf.
        <p>When this option is used Squid performs the /dev/pf lookups required to
@@ -327,6 +420,11 @@ This section gives an account of those changes in three categories:
           the getsockname() API in recent PF versions require <em>--with-nat-devpf</em>
           to re-enable /dev/pf support when using PF firewall.
 
+       <tag>--disable-translation</tag>
+       <p>Default changed to prevent translating error page templates during build.
+           Use --enable-translation to explicitly build and install the templates.
+       <p>The latest pre-translated templates can be downloaded from <url url="http://www.squid-cache.org/Versions/langpack/">
+
 </descrip>
 </p>
 
@@ -340,7 +438,7 @@ This section gives an account of those changes in three categories:
 
 <sect>Regressions since Squid-2.7
 
-<p>Some squid.conf and ./configure options which were available in Squid-2.7 are not yet available in Squid-3.3
+<p>Some squid.conf options which were available in Squid-2.7 are not yet available in Squid-3.4
 
 <p>If you need something to do then porting one of these from Squid-2 to Squid-3 is most welcome.
 
@@ -376,9 +474,6 @@ This section gives an account of those changes in three categories:
        <tag>external_refresh_check</tag>
        <p>Not yet ported from 2.7
 
-       <tag>ignore_ims_on_miss</tag>
-       <p>Not yet ported from 2.7
-
        <tag>location_rewrite_access</tag>
        <p>Not yet ported from 2.6
 
@@ -399,21 +494,17 @@ This section gives an account of those changes in three categories:
        <tag>refresh_stale_hit</tag>
        <p>Not yet ported from 2.7
 
-       <tag>storeurl_access</tag>
-       <p>Not yet ported from 2.7
-
-       <tag>storeurl_rewrite_children</tag>
-       <p>Not yet ported from 2.7
-
-       <tag>storeurl_rewrite_concurrency</tag>
-       <p>Not yet ported from 2.7
-
-       <tag>storeurl_rewrite_program</tag>
-       <p>Not yet ported from 2.7
-       
        <tag>update_headers</tag>
        <p>Not yet ported from 2.7
 
 </descrip>
 
+<sect>Copyright
+<p>
+Copyright (C) 1996-2018 The Squid Software Foundation and contributors
+<p>
+Squid software is distributed under GPLv2+ license and includes
+contributions from numerous individuals and organizations.
+Please see the COPYING and CONTRIBUTORS files for details.
+
 </article>