]> git.ipfire.org Git - thirdparty/squid.git/blob - doc/release-notes/release-4.html
MemBuf implements Packable interface
[thirdparty/squid.git] / doc / release-notes / release-4.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2 <HTML>
3 <HEAD>
4 <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.69">
5 <TITLE>Squid 4.0.0 release notes</TITLE>
6 </HEAD>
7 <BODY>
8 <H1>Squid 4.0.0 release notes</H1>
9
10 <H2>Squid Developers</H2>
11 <HR>
12 <EM>This document contains the release notes for version 4 of Squid.
13 Squid is a WWW Cache application developed by the National Laboratory
14 for Applied Network Research and members of the Web Caching community.</EM>
15 <HR>
16 <P>
17 <H2><A NAME="toc1">1.</A> <A HREF="#s1">Notice</A></H2>
18
19 <UL>
20 <LI><A NAME="toc1.1">1.1</A> <A HREF="#ss1.1">Known issues</A>
21 <LI><A NAME="toc1.2">1.2</A> <A HREF="#ss1.2">Changes since earlier releases of Squid-4</A>
22 </UL>
23 <P>
24 <H2><A NAME="toc2">2.</A> <A HREF="#s2">Major new features since Squid-3.5</A></H2>
25
26 <UL>
27 <LI><A NAME="toc2.1">2.1</A> <A HREF="#ss2.1">Configurable helper queue size</A>
28 <LI><A NAME="toc2.2">2.2</A> <A HREF="#ss2.2">Helper concurrency channels changes</A>
29 <LI><A NAME="toc2.3">2.3</A> <A HREF="#ss2.3">SSLv2 support removal</A>
30 <LI><A NAME="toc2.4">2.4</A> <A HREF="#ss2.4">MSNT-multi-domain helper removal</A>
31 </UL>
32 <P>
33 <H2><A NAME="toc3">3.</A> <A HREF="#s3">Changes to squid.conf since Squid-3.5</A></H2>
34
35 <UL>
36 <LI><A NAME="toc3.1">3.1</A> <A HREF="#ss3.1">New tags</A>
37 <LI><A NAME="toc3.2">3.2</A> <A HREF="#ss3.2">Changes to existing tags</A>
38 <LI><A NAME="toc3.3">3.3</A> <A HREF="#ss3.3">Removed tags</A>
39 </UL>
40 <P>
41 <H2><A NAME="toc4">4.</A> <A HREF="#s4">Changes to ./configure options since Squid-3.5</A></H2>
42
43 <UL>
44 <LI><A NAME="toc4.1">4.1</A> <A HREF="#ss4.1">New options</A>
45 <LI><A NAME="toc4.2">4.2</A> <A HREF="#ss4.2">Changes to existing options</A>
46 <LI><A NAME="toc4.3">4.3</A> <A HREF="#ss4.3">Removed options</A>
47 </UL>
48 <P>
49 <H2><A NAME="toc5">5.</A> <A HREF="#s5">Regressions since Squid-2.7</A></H2>
50
51 <UL>
52 <LI><A NAME="toc5.1">5.1</A> <A HREF="#ss5.1">Missing squid.conf options available in Squid-2.7</A>
53 </UL>
54 <P>
55 <H2><A NAME="toc6">6.</A> <A HREF="#s6">Copyright</A></H2>
56
57
58 <HR>
59 <H2><A NAME="s1">1.</A> <A HREF="#toc1">Notice</A></H2>
60
61 <P>The Squid Team are pleased to announce the release of Squid-4.0.0 for testing.</P>
62 <P>This new release is available for download from
63 <A HREF="http://www.squid-cache.org/Versions/v4/">http://www.squid-cache.org/Versions/v4/</A> or the
64 <A HREF="http://www.squid-cache.org/Download/http-mirrors.html">mirrors</A>.</P>
65
66 <P>While this release is not deemed ready for production use, we believe it is ready for wider testing by the community.</P>
67
68 <P>We welcome feedback and bug reports. If you find a bug, please see
69 <A HREF="http://wiki.squid-cache.org/SquidFaq/BugReporting">http://wiki.squid-cache.org/SquidFaq/BugReporting</A>
70 for how to submit a report with a stack trace.</P>
71
72 <H2><A NAME="ss1.1">1.1</A> <A HREF="#toc1.1">Known issues</A>
73 </H2>
74
75 <P>Although this release is deemed good enough for use in many setups, please note the existence of
76 <A HREF="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=4">open bugs against Squid-4</A>.</P>
77
78 <H2><A NAME="ss1.2">1.2</A> <A HREF="#toc1.2">Changes since earlier releases of Squid-4</A>
79 </H2>
80
81 <P>The Squid-4 change history can be
82 <A HREF="http://www.squid-cache.org/Versions/v4/changesets/">viewed here</A>.</P>
83
84
85 <H2><A NAME="s2">2.</A> <A HREF="#toc2">Major new features since Squid-3.5</A></H2>
86
87 <P>Squid 4 represents a new feature release above 3.5.</P>
88
89 <P>The most important of these new features are:
90 <UL>
91 <LI>Helper concurrency channels changes</LI>
92 <LI>Configurable helper queue size</LI>
93 <LI>SSLv2 support removal</LI>
94 <LI>MSNT-multi-domain helper removal</LI>
95 </UL>
96 </P>
97 <P>Most user-facing changes are reflected in squid.conf (see below).</P>
98
99
100 <H2><A NAME="ss2.1">2.1</A> <A HREF="#toc2.1">Configurable helper queue size</A>
101 </H2>
102
103 <P>The new queue-size=N option to helpers configuration, allows users
104 to configure the maximum number of queued requests to busy helpers.</P>
105
106 <H2><A NAME="ss2.2">2.2</A> <A HREF="#toc2.2">Helper concurrency channels changes</A>
107 </H2>
108
109 <P> helper-mux.pl we have been distributing for the past few years to
110 encourage use of concurrency is no longer compatible with Squid. If
111 used it will spawn up to 2^64 helpers and DoS the Squid server.</P>
112
113 <P> Helpers utilizing arrays to handle fixed amounts of concurrency
114 channels MUST be re-written to use queues and capable of handling a
115 64-bit int as index or they will be vulnerable to buffer overrun and
116 arbitrary memory accesses.</P>
117
118 <P> 32-bit helpers need re-writing to handle the concurrency channel ID
119 as a 64-bit integer value. If not updated they will cause proxies to
120 return unexpected results or timeout once crossing the 32-bit wrap
121 boundary. Leading to undefined behaviour in the client HTTP traffic.</P>
122
123 <H2><A NAME="ss2.3">2.3</A> <A HREF="#toc2.3">SSLv2 support removal</A>
124 </H2>
125
126 <P>Details in
127 <A HREF="https://tools.ietf.org/html/rfc6176">RFC 6176</A></P>
128
129 <P>SSLv2 is not fit for purpose. Squid no longer supports being configured with
130 any settings regarding this protocol. That includes settings manually disabling
131 its use since it is now forced to disable by default. Also settings enabling
132 various client/server workarounds specific to SSLv2 are removed.</P>
133
134
135 <H2><A NAME="ss2.4">2.4</A> <A HREF="#toc2.4">MSNT-multi-domain helper removal</A>
136 </H2>
137
138 <P>The <EM>basic_msnt_multi_domain_auth</EM> helper has been removed. The
139 <EM>basic_smb_lm_auth</EM> helper performs the same actions without extra
140 Perl and Samba dependencies.</P>
141
142
143 <H2><A NAME="s3">3.</A> <A HREF="#toc3">Changes to squid.conf since Squid-3.5</A></H2>
144
145 <P>There have been changes to Squid's configuration file since Squid-3.5.</P>
146 <P>This section gives a thorough account of those changes in three categories:</P>
147 <P>
148 <UL>
149 <LI>
150 <A HREF="#newtags">New tags</A></LI>
151 <LI>
152 <A HREF="#modifiedtags">Changes to existing tags</A></LI>
153 <LI>
154 <A HREF="#removedtags">Removed tags</A></LI>
155 </UL>
156 </P>
157
158
159 <H2><A NAME="newtags"></A> <A NAME="ss3.1">3.1</A> <A HREF="#toc3.1">New tags</A>
160 </H2>
161
162 <P>
163 <DL>
164 <DT><B>tls_outgoing_options</B><DD>
165 <P>New tag to define TLS security context options for outgoing
166 connections. For example to HTTPS servers.</P>
167
168 <DT><B>url_rewrite_timeout</B><DD>
169 <P>Squid times active requests to redirector. This option sets
170 the timeout value and the Squid reaction to a timed out
171 request.</P>
172
173 </DL>
174 </P>
175
176 <H2><A NAME="modifiedtags"></A> <A NAME="ss3.2">3.2</A> <A HREF="#toc3.2">Changes to existing tags</A>
177 </H2>
178
179 <P>
180 <DL>
181 <DT><B>auth_param</B><DD>
182 <P>New parameter <EM>queue-size=</EM> to set the maximum number
183 of queued requests.</P>
184
185 <DT><B>cache_peer</B><DD>
186 <P>All <EM>ssloption=</EM> and <EM>sslversion=</EM> values for
187 SSLv2 configuration or disabling have been removed.</P>
188 <P>Manual squid.conf update may be required on upgrade.</P>
189
190 <DT><B>external_acl_type</B><DD>
191 <P>New parameter <EM>queue-size=</EM> to set the maximum number
192 of queued requests.</P>
193
194 <DT><B>http_port</B><DD>
195 <P>All <EM>version=</EM> <EM>option=</EM> values for SSLv2
196 configuration or disabling have been removed.</P>
197 <P>Manual squid.conf update may be required on upgrade.</P>
198
199 <DT><B>https_port</B><DD>
200 <P>All <EM>version=</EM> <EM>option=</EM> values for SSLv2
201 configuration or disabling have been removed.</P>
202 <P>Manual squid.conf update may be required on upgrade.</P>
203
204 <DT><B>sslcrtd_children</B><DD>
205 <P>New parameter <EM>queue-size=</EM> to set the maximum number
206 of queued requests.</P>
207
208 <DT><B>sslcrtvalidator_children</B><DD>
209 <P>New parameter <EM>queue-size=</EM> to set the maximum number
210 of queued requests.</P>
211
212 <DT><B>sslproxy_options</B><DD>
213 <P>All values for SSLv2 configuration or disabling have been removed.</P>
214 <P>Manual squid.conf update may be required on upgrade.</P>
215
216 <DT><B>sslproxy_version</B><DD>
217 <P>Value '2' for SSLv2-only operation is no longer supported.</P>
218
219 <DT><B>url_rewrite_children</B><DD>
220 <P>New parameter <EM>queue-size=</EM> to set the maximum number
221 of queued requests.</P>
222
223 </DL>
224 </P>
225
226 <H2><A NAME="removedtags"></A> <A NAME="ss3.3">3.3</A> <A HREF="#toc3.3">Removed tags</A>
227 </H2>
228
229 <P>
230 <DL>
231 <DT><B>cache_peer_domain</B><DD>
232 <P>Superceded by <EM>cache_peer_access</EM>. Use dstdomain ACL
233 in the access control list to restrict domains requested.</P>
234
235 <DT><B>refresh_pattern</B><DD>
236 <P>Option <EM>ignore-auth</EM> removed. Its original intent was
237 to improve caching. HTTP/1.1 permits caching of authenticated
238 messages under conditions which Squid does check for and obey.</P>
239
240 <DT><B>sslproxy_cafile</B><DD>
241 <P>Replaced by <EM>tls_outgoing_options cafile=</EM>.</P>
242
243 <DT><B>sslproxy_capath</B><DD>
244 <P>Replaced by <EM>tls_outgoing_options capath=</EM>.</P>
245
246 <DT><B>sslproxy_cipher</B><DD>
247 <P>Replaced by <EM>tls_outgoing_options cipher=</EM>.</P>
248
249 <DT><B>sslproxy_client_certificate</B><DD>
250 <P>Replaced by <EM>tls_outgoing_options cert=</EM>.</P>
251
252 <DT><B>sslproxy_client_key</B><DD>
253 <P>Replaced by <EM>tls_outgoing_options key=</EM>.</P>
254
255 <DT><B>sslproxy_flags</B><DD>
256 <P>Replaced by <EM>tls_outgoing_options flags=</EM>.</P>
257
258 <DT><B>sslproxy_options</B><DD>
259 <P>Replaced by <EM>tls_outgoing_options options=</EM>.</P>
260
261 <DT><B>sslproxy_version</B><DD>
262 <P>Replaced by <EM>tls_outgoing_options version=</EM>.</P>
263
264 </DL>
265 </P>
266
267
268 <H2><A NAME="s4">4.</A> <A HREF="#toc4">Changes to ./configure options since Squid-3.5</A></H2>
269
270 <P>There have been some changes to Squid's build configuration since Squid-3.5.</P>
271 <P>This section gives an account of those changes in three categories:</P>
272 <P>
273 <UL>
274 <LI>
275 <A HREF="#newoptions">New options</A></LI>
276 <LI>
277 <A HREF="#modifiedoptions">Changes to existing options</A></LI>
278 <LI>
279 <A HREF="#removedoptions">Removed options</A></LI>
280 </UL>
281 </P>
282
283
284 <H2><A NAME="newoptions"></A> <A NAME="ss4.1">4.1</A> <A HREF="#toc4.1">New options</A>
285 </H2>
286
287 <P>
288 <DL>
289
290 </DL>
291 </P>
292
293 <H2><A NAME="modifiedoptions"></A> <A NAME="ss4.2">4.2</A> <A HREF="#toc4.2">Changes to existing options</A>
294 </H2>
295
296 <P>
297 <DL>
298 <DT><B>--enable-auth-basic</B><DD>
299 <P>The <EM>MSNT-multi-domain</EM> helper has been removed.</P>
300
301 </DL>
302 </P>
303 <H2><A NAME="removedoptions"></A> <A NAME="ss4.3">4.3</A> <A HREF="#toc4.3">Removed options</A>
304 </H2>
305
306 <P>
307 <DL>
308
309 </DL>
310 </P>
311
312
313 <H2><A NAME="s5">5.</A> <A HREF="#toc5">Regressions since Squid-2.7</A></H2>
314
315 <P>Some squid.conf options which were available in Squid-2.7 are not yet available in Squid-4</P>
316
317 <P>If you need something to do then porting one of these from Squid-2 to Squid-3 is most welcome.</P>
318
319 <H2><A NAME="ss5.1">5.1</A> <A HREF="#toc5.1">Missing squid.conf options available in Squid-2.7</A>
320 </H2>
321
322 <P>
323 <DL>
324 <DT><B>broken_vary_encoding</B><DD>
325 <P>Not yet ported from 2.6</P>
326
327 <DT><B>cache_peer</B><DD>
328 <P><EM>monitorinterval=</EM> not yet ported from 2.6</P>
329 <P><EM>monitorsize=</EM> not yet ported from 2.6</P>
330 <P><EM>monitortimeout=</EM> not yet ported from 2.6</P>
331 <P><EM>monitorurl=</EM> not yet ported from 2.6</P>
332
333 <DT><B>cache_vary</B><DD>
334 <P>Not yet ported from 2.6</P>
335
336 <DT><B>error_map</B><DD>
337 <P>Not yet ported from 2.6</P>
338
339 <DT><B>external_refresh_check</B><DD>
340 <P>Not yet ported from 2.7</P>
341
342 <DT><B>location_rewrite_access</B><DD>
343 <P>Not yet ported from 2.6</P>
344
345 <DT><B>location_rewrite_children</B><DD>
346 <P>Not yet ported from 2.6</P>
347
348 <DT><B>location_rewrite_concurrency</B><DD>
349 <P>Not yet ported from 2.6</P>
350
351 <DT><B>location_rewrite_program</B><DD>
352 <P>Not yet ported from 2.6</P>
353
354 <DT><B>refresh_pattern</B><DD>
355 <P><EM>stale-while-revalidate=</EM> not yet ported from 2.7</P>
356 <P><EM>ignore-stale-while-revalidate=</EM> not yet ported from 2.7</P>
357 <P><EM>negative-ttl=</EM> not yet ported from 2.7</P>
358
359 <DT><B>refresh_stale_hit</B><DD>
360 <P>Not yet ported from 2.7</P>
361
362 <DT><B>update_headers</B><DD>
363 <P>Not yet ported from 2.7</P>
364
365 </DL>
366 </P>
367
368 <H2><A NAME="s6">6.</A> <A HREF="#toc6">Copyright</A></H2>
369
370 <P>Copyright (C) 1996-2015 The Squid Software Foundation and contributors</P>
371 <P>Squid software is distributed under GPLv2+ license and includes
372 contributions from numerous individuals and organizations.
373 Please see the COPYING and CONTRIBUTORS files for details.</P>
374
375 </BODY>
376 </HTML>