]> git.ipfire.org Git - thirdparty/squid.git/blob - doc/release-notes/release-5.sgml
C++11: Remove GnuRegex and all -lregex related code
[thirdparty/squid.git] / doc / release-notes / release-5.sgml
1 <!doctype linuxdoc system>
2 <article>
3 <title>Squid 5.0.0 release notes</title>
4 <author>Squid Developers</author>
5
6 <abstract>
7 This document contains the release notes for version 4 of Squid.
8 Squid is a WWW Cache application developed by the National Laboratory
9 for Applied Network Research and members of the Web Caching community.
10 </abstract>
11
12 <toc>
13
14 <sect>Notice
15 <p>The Squid Team are pleased to announce the release of Squid-5.0.0 for testing.
16
17 This new release is available for download from <url url="http://www.squid-cache.org/Versions/v5/"> or the
18 <url url="http://www.squid-cache.org/Download/http-mirrors.html" name="mirrors">.
19
20 <p>While this release is not deemed ready for production use, we believe it is ready for wider testing by the community.
21
22 <p>We welcome feedback and bug reports. If you find a bug, please see <url url="http://wiki.squid-cache.org/SquidFaq/BugReporting">
23 for how to submit a report with a stack trace.
24
25 <sect1>Known issues
26 <p>Although this release is deemed good enough for use in many setups, please note the existence of
27 <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=5" name="open bugs against Squid-5">.
28
29 <sect1>Changes since earlier releases of Squid-5
30 <p>
31 The Squid-4 change history can be <url url="http://www.squid-cache.org/Versions/v5/changesets/" name="viewed here">.
32
33
34 <sect>Major new features since Squid-4
35 <p>Squid-5 represents a new feature release above Squid-4.
36
37 <p>The most important of these new features are:
38 <itemize>
39 <item>ICAP Trailers
40 </itemize>
41
42 Most user-facing changes are reflected in squid.conf (see below).
43
44
45 <sect1>ICAP Trailers
46 <p>Details in <url url="https://datatracker.ietf.org/doc/draft-rousskov-icap-trailers/" name="Draft: ICAP Trailers">
47
48 <p>The <em>Trailers</em> feature from HTTP is being proposed for addition to ICAP,
49 with some modifications.
50
51 <p>This implementation complies with version -01 of that draft:
52 <itemize>
53 <item>Announces ICAP Trailer support via the ICAP Allow request header field.
54 <item>Parses the ICAP response trailer if and only if the ICAP server signals
55 its presence by sending both Trailer header and Allow/trailers in the
56 ICAP response.
57 </itemize>
58
59 <p>For now Squid logs and ignores all parsed ICAP header fields.
60
61
62 <sect>Changes to squid.conf since Squid-4
63 <p>
64 There have been changes to Squid's configuration file since Squid-4.
65
66 This section gives a thorough account of those changes in three categories:
67
68 <itemize>
69 <item><ref id="newdirectives" name="New directives">
70 <item><ref id="modifieddirectives" name="Changes to existing directives">
71 <item><ref id="removeddirectives" name="Removed directives">
72 </itemize>
73 <p>
74
75 <sect1>New directives<label id="newdirectives">
76 <p>
77 <descrip>
78 <p>No new directives in this version.
79
80 </descrip>
81
82 <sect1>Changes to existing directives<label id="modifieddirectives">
83 <p>
84 <descrip>
85 <tag>acl</tag>
86 <p>Due to differences between GNU Regex and libc regular expressions
87 patterns escaping the double quote (") character escaped by a slash (\)
88 will now be rejected. Use without the escaping is still accepted.
89 This affects all *_regex and regular expression based ACL types.
90
91 <tag>refresh_pattern</tag>
92 <p>Due to differences between GNU Regex and libc regular expressions
93 patterns escaping the double quote (") character with a slash (\)
94 will now be rejected. Use without the escaping is still accepted.
95
96 </descrip>
97
98 <sect1>Removed directives<label id="removeddirectives">
99 <p>
100 <descrip>
101 <p>No removed directives in this version.
102
103 </descrip>
104
105
106 <sect>Changes to ./configure options since Squid-4
107 <p>
108 There have been some changes to Squid's build configuration since Squid-4.
109
110 This section gives an account of those changes in three categories:
111
112 <itemize>
113 <item><ref id="newoptions" name="New options">
114 <item><ref id="modifiedoptions" name="Changes to existing options">
115 <item><ref id="removedoptions" name="Removed options">
116 </itemize>
117
118
119 <sect1>New options<label id="newoptions">
120 <p>
121 <descrip>
122 <p>No new options in this version.
123
124 </descrip>
125
126 <sect1>Changes to existing options<label id="modifiedoptions">
127 <p>
128 <descrip>
129 <p>No changes to existing options in this version.
130
131 </descrip>
132 </p>
133
134 <sect1>Removed options<label id="removedoptions">
135 <p>
136 <descrip>
137 <tag>--enable-gnuregex</tag>
138 <p>Squid now uses C++11 std::regex instead of GNU Regex. Removed.
139
140 <tag>LDFLAGS</tag>
141 <p>Squid now uses C++11 std::regex API instead of the C regex.h API.
142 This means that linker overrides for -lregex and regex.h no longer exist.
143 <p>Custom regex libraries need to provide bindings for the std::regex
144 API to link with Squid. This may require additional -I path to be
145 provided in CXXFLAGS to the library headers. Refer to the chosen
146 library documentation for more details.
147 <p>Note that popular modern high performance regex libraries should
148 already be used by the STL internal implementation and no longer
149 need manually linking.
150
151 </descrip>
152
153
154 <sect>Regressions since Squid-2.7
155
156 <p>Some squid.conf options which were available in Squid-2.7 are not yet available in Squid-5
157
158 <p>If you need something to do then porting one of these from Squid-2 is most welcome.
159
160 <sect1>Missing squid.conf options available in Squid-2.7
161 <p>
162 <descrip>
163 <tag>broken_vary_encoding</tag>
164 <p>Not yet ported from 2.6
165
166 <tag>cache_peer</tag>
167 <p><em>monitorinterval=</em> not yet ported from 2.6
168 <p><em>monitorsize=</em> not yet ported from 2.6
169 <p><em>monitortimeout=</em> not yet ported from 2.6
170 <p><em>monitorurl=</em> not yet ported from 2.6
171
172 <tag>cache_vary</tag>
173 <p>Not yet ported from 2.6
174
175 <tag>error_map</tag>
176 <p>Not yet ported from 2.6
177
178 <tag>external_refresh_check</tag>
179 <p>Not yet ported from 2.7
180
181 <tag>location_rewrite_access</tag>
182 <p>Not yet ported from 2.6
183
184 <tag>location_rewrite_children</tag>
185 <p>Not yet ported from 2.6
186
187 <tag>location_rewrite_concurrency</tag>
188 <p>Not yet ported from 2.6
189
190 <tag>location_rewrite_program</tag>
191 <p>Not yet ported from 2.6
192
193 <tag>refresh_pattern</tag>
194 <p><em>stale-while-revalidate=</em> not yet ported from 2.7
195 <p><em>ignore-stale-while-revalidate=</em> not yet ported from 2.7
196 <p><em>negative-ttl=</em> not yet ported from 2.7
197
198 <tag>refresh_stale_hit</tag>
199 <p>Not yet ported from 2.7
200
201 <tag>update_headers</tag>
202 <p>Not yet ported from 2.7
203
204 </descrip>
205
206 <sect>Copyright
207 <p>
208 Copyright (C) 1996-2016 The Squid Software Foundation and contributors
209 <p>
210 Squid software is distributed under GPLv2+ license and includes
211 contributions from numerous individuals and organizations.
212 Please see the COPYING and CONTRIBUTORS files for details.
213
214 </article>