comparison CHANGES @ 635:e67b227c8dbb default tip

Merge with current.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 25 Apr 2011 04:07:55 +0400
parents b4dcae568a2a
children
comparison
equal deleted inserted replaced
578:f3a9e57d2e17 635:e67b227c8dbb
1
2 Changes with nginx 1.0.0 12 Apr 2011
3
4 *) Bugfix: a cache manager might hog CPU after reload.
5 Thanks to Maxim Dounin.
6
7 *) Bugfix: an "image_filter crop" directive worked incorrectly coupled
8 with an "image_filter rotate 180" directive.
9
10 *) Bugfix: a "satisfy any" directive disabled custom 401 error page.
11
12
13 Changes with nginx 0.9.7 04 Apr 2011
14
15 *) Feature: now keepalive connections may be closed premature, if there
16 are no free worker connections.
17 Thanks to Maxim Dounin.
18
19 *) Feature: the "rotate" parameter of the "image_filter" directive.
20 Thanks to Adam Bocim.
21
22 *) Bugfix: a case when a backend in "fastcgi_pass", "scgi_pass", or
23 "uwsgi_pass" directives is given by expression and refers to a
24 defined upstream.
25
26
27 Changes with nginx 0.9.6 21 Mar 2011
28
29 *) Feature: the "map" directive supports regular expressions as value
30 of the first parameter.
31
32 *) Feature: $time_iso8601 access_log variable.
33 Thanks to Michael Lustfield.
34
35
36 Changes with nginx 0.9.5 21 Feb 2011
37
38 *) Change: now nginx uses a default listen backlog value -1 on
39 Linux.
40 Thanks to Andrei Nigmatulin.
41
42 *) Feature: the "utf8" parameter of "geoip_country" and "geoip_city"
43 directives.
44 Thanks to Denis F. Latypoff.
45
46 *) Bugfix: in a default "proxy_redirect" directive if "proxy_pass"
47 directive has no URI part.
48 Thanks to Maxim Dounin.
49
50 *) Bugfix: an "error_page" directive did not work with nonstandard
51 error codes; the bug had appeared in 0.8.53.
52 Thanks to Maxim Dounin.
53
54
55 Changes with nginx 0.9.4 21 Jan 2011
56
57 *) Feature: the "server_name" directive supports the $hostname variable.
58
59 *) Feature: 494 code for "Request Header Too Large" error.
60
61
62 Changes with nginx 0.9.3 13 Dec 2010
63
64 *) Bugfix: if there was a single server for given IPv6 address:port
65 pair, then captures in regular expressions in a "server_name"
66 directive did not work.
67
68 *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
69 0.9.0.
70
71
72 Changes with nginx 0.9.2 06 Dec 2010
73
74 *) Feature: the "If-Unmodified-Since" client request header line
75 support.
76
77 *) Workaround: fallback to accept() syscall if accept4() was not
78 implemented; the issue had appeared in 0.9.0.
79
80 *) Bugfix: nginx could not be built on Cygwin; the bug had appeared in
81 0.9.0.
82
83 *) Bugfix: for OpenSSL vulnerability CVE-2010-4180.
84 Thanks to Maxim Dounin.
85
86
87 Changes with nginx 0.9.1 30 Nov 2010
88
89 *) Bugfix: "return CODE message" directives did not work; the bug had
90 appeared in 0.9.0.
91
92
93 Changes with nginx 0.9.0 29 Nov 2010
94
95 *) Feature: the "keepalive_disable" directive.
96
97 *) Feature: the "map" directive supports variables as value of a
98 defined variable.
99
100 *) Feature: the "map" directive supports empty strings as value of the
101 first parameter.
102
103 *) Feature: the "map" directive supports expressions as the first
104 parameter.
105
106 *) Feature: nginx(8) manual page.
107 Thanks to Sergey Osokin.
108
109 *) Feature: Linux accept4() support.
110 Thanks to Simon Liu.
111
112 *) Workaround: elimination of Linux linker warning about "sys_errlist"
113 and "sys_nerr"; the warning had appeared in 0.8.35.
114
115 *) Bugfix: a segmentation fault might occur in a worker process, if the
116 "auth_basic" directive was used.
117 Thanks to Michail Laletin.
118
119 *) Bugfix: compatibility with ngx_http_eval_module; the bug had
120 appeared in 0.8.42.
121
122
123 Changes with nginx 0.8.53 18 Oct 2010
124
125 *) Feature: now the "error_page" directive allows to change a status
126 code in a redirect.
127
128 *) Feature: the "gzip_disable" directive supports special "degradation"
129 mask.
130
131 *) Bugfix: a socket leak might occurred if file AIO was used.
132 Thanks to Maxim Dounin.
133
134 *) Bugfix: if the first server had no "listen" directive and there was
135 no explicit default server, then a next server with a "listen"
136 directive became the default server; the bug had appeared in 0.8.21.
137
138
139 Changes with nginx 0.8.52 28 Sep 2010
140
141 *) Bugfix: nginx used SSL mode for a listen socket if any listen option
142 was set; the bug had appeared in 0.8.51.
143
144
145 Changes with nginx 0.8.51 27 Sep 2010
146
147 *) Change: the "secure_link_expires" directive has been canceled.
148
149 *) Change: a logging level of resolver errors has been lowered from
150 "alert" to "error".
151
152 *) Feature: now a listen socket "ssl" parameter may be set several
153 times.
154
155
156 Changes with nginx 0.8.50 02 Sep 2010
157
158 *) Feature: the "secure_link", "secure_link_md5", and
159 "secure_link_expires" directives of the ngx_http_secure_link_module.
160
161 *) Feature: the -q switch.
162 Thanks to Gena Makhomed.
163
164 *) Bugfix: worker processes may got caught in an endless loop during
165 reconfiguration, if a caching was used; the bug had appeared in
166 0.8.48.
167
168 *) Bugfix: in the "gzip_disable" directive.
169 Thanks to Derrick Petzold.
170
171 *) Bugfix: nginx/Windows could not send stop, quit, reopen, and reload
172 signals to a process run in other session.
173
174
175 Changes with nginx 0.8.49 09 Aug 2010
176
177 *) Feature: the "image_filter_jpeg_quality" directive supports
178 variables.
179
180 *) Bugfix: a segmentation fault might occur in a worker process, if the
181 $geoip_region_name variables was used; the bug had appeared in
182 0.8.48.
183
184 *) Bugfix: errors intercepted by error_page were cached only for next
185 request; the bug had appeared in 0.8.48.
186
187
188 Changes with nginx 0.8.48 03 Aug 2010
189
190 *) Change: now the "server_name" directive default value is an empty
191 name "".
192 Thanks to Gena Makhomed.
193
194 *) Change: now the "server_name_in_redirect" directive default value is
195 "off".
196
197 *) Feature: the $geoip_dma_code, $geoip_area_code, and
198 $geoip_region_name variables.
199 Thanks to Christine McGonagle.
200
201 *) Bugfix: the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and
202 "scgi_pass" directives were not inherited inside "limit_except"
203 blocks.
204
205 *) Bugfix: the "proxy_cache_min_uses", "fastcgi_cache_min_uses"
206 "uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not
207 work; the bug had appeared in 0.8.46.
208
209 *) Bugfix: the "fastcgi_split_path_info" directive used incorrectly
210 captures, if only parts of an URI were captured.
211 Thanks to Yuriy Taraday and Frank Enderle.
212
213 *) Bugfix: the "rewrite" directive did not escape a ";" character
214 during copying from URI to query string.
215 Thanks to Daisuke Murase.
216
217 *) Bugfix: the ngx_http_image_filter_module closed a connection, if an
218 image was larger than "image_filter_buffer" size.
219
220
221 Changes with nginx 0.8.47 28 Jul 2010
222
223 *) Bugfix: $request_time variable had invalid values for subrequests.
224
225 *) Bugfix: errors intercepted by error_page could not be cached.
226
227 *) Bugfix: a cache manager process may got caught in an endless loop,
228 if max_size parameter was used; the bug had appeared in 0.8.46.
229
230
231 Changes with nginx 0.8.46 19 Jul 2010
232
233 *) Change: now the "proxy_no_cache", "fastcgi_no_cache",
234 "uwsgi_no_cache", and "scgi_no_cache" directives affect on a cached
235 response saving only.
236
237 *) Feature: the "proxy_cache_bypass", "fastcgi_cache_bypass",
238 "uwsgi_cache_bypass", and "scgi_cache_bypass" directives.
239
240 *) Bugfix: nginx did not free memory in cache keys zones if there was
241 an error during working with backend: the memory was freed only
242 after inactivity time or on memory low condition.
243
244
245 Changes with nginx 0.8.45 13 Jul 2010
246
247 *) Feature: ngx_http_xslt_filter improvements.
248 Thanks to Laurence Rowe.
249
250 *) Bugfix: SSI response might be truncated after include with
251 wait="yes"; the bug had appeared in 0.7.25.
252 Thanks to Maxim Dounin.
253
254 *) Bugfix: the "listen" directive did not support the "setfib=0"
255 parameter.
256
257
258 Changes with nginx 0.8.44 05 Jul 2010
259
260 *) Change: now nginx does not cache by default backend responses, if
261 they have a "Set-Cookie" header line.
262
263 *) Feature: the "listen" directive supports the "setfib" parameter.
264 Thanks to Andrew Filonov.
265
266 *) Bugfix: the "sub_filter" directive might change character case on
267 partial match.
268
269 *) Bugfix: compatibility with HP/UX.
270
271 *) Bugfix: compatibility with AIX xlC_r compiler.
272
273 *) Bugfix: nginx treated large SSLv2 packets as plain requests.
274 Thanks to Miroslaw Jaworski.
275
276
277 Changes with nginx 0.8.43 30 Jun 2010
278
279 *) Feature: large geo ranges base loading speed-up.
280
281 *) Bugfix: an error_page redirection to "location /zero {return 204;}"
282 without changing status code kept the error body; the bug had
283 appeared in 0.8.42.
284
285 *) Bugfix: nginx might close IPv6 listen socket during
286 reconfiguration.
287 Thanks to Maxim Dounin.
288
289 *) Bugfix: the $uid_set variable may be used at any request processing
290 stage.
291
292
293 Changes with nginx 0.8.42 21 Jun 2010
294
295 *) Change: now nginx tests locations given by regular expressions, if
296 request was matched exactly by a location given by a prefix string.
297 The previous behavior has been introduced in 0.7.1.
298
299 *) Feature: the ngx_http_scgi_module.
300 Thanks to Manlio Perillo.
301
302 *) Feature: a text answer may be added to a "return" directive.
303
304
305 Changes with nginx 0.8.41 15 Jun 2010
306
307 *) Security: nginx/Windows worker might be terminated abnormally if a
308 requested file name has invalid UTF-8 encoding.
309
310 *) Change: now nginx allows to use spaces in a request line.
311
312 *) Bugfix: the "proxy_redirect" directive changed incorrectly a backend
313 "Refresh" response header line.
314 Thanks to Andrey Andreew and Max Sogin.
315
316 *) Bugfix: nginx did not support path without host name in
317 "Destination" request header line.
318
319
320 Changes with nginx 0.8.40 07 Jun 2010
321
322 *) Security: now nginx/Windows ignores default file stream name.
323 Thanks to Jose Antonio Vazquez Gonzalez.
324
325 *) Feature: the ngx_http_uwsgi_module.
326 Thanks to Roberto De Ioris.
327
328 *) Feature: a "fastcgi_param" directive with value starting with
329 "HTTP_" overrides a client request header line.
330
331 *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request
332 header lines were passed to FastCGI-server while caching.
333
334 *) Bugfix: listen unix domain socket could not be changed during
335 reconfiguration.
336 Thanks to Maxim Dounin.
337
338
339 Changes with nginx 0.8.39 31 May 2010
340
341 *) Bugfix: an inherited "alias" directive worked incorrectly in
342 inclusive location.
343
344 *) Bugfix: in "alias" with variables and "try_files" directives
345 combination.
346
347 *) Bugfix: listen unix domain and IPv6 sockets did not inherit while
348 online upgrade.
349 Thanks to Maxim Dounin.
350
351
352 Changes with nginx 0.8.38 24 May 2010
353
354 *) Feature: the "proxy_no_cache" and "fastcgi_no_cache" directives.
355
356 *) Feature: now the "rewrite" directive does a redirect automatically
357 if the $scheme variable is used.
358 Thanks to Piotr Sikora.
359
360 *) Bugfix: now "limit_req" delay directive conforms to the described
361 algorithm.
362 Thanks to Maxim Dounin.
363
364 *) Bugfix: the $uid_got variable might not be used in the SSI and perl
365 modules.
366
367
368 Changes with nginx 0.8.37 17 May 2010
369
370 *) Feature: the ngx_http_split_clients_module.
371
372 *) Feature: the "map" directive supports keys more than 255 characters.
373
374 *) Bugfix: nginx ignored the "private" and "no-store" values in the
375 "Cache-Control" backend response header line.
376
377 *) Bugfix: a "stub" parameter of an "include" SSI directive was not
378 used, if empty response has 200 status code.
379
380 *) Bugfix: if a proxied or FastCGI request was internally redirected to
381 another proxied or FastCGI location, then a segmentation fault might
382 occur in a worker process; the bug had appeared in 0.8.33.
383 Thanks to Yichun Zhang.
384
385 *) Bugfix: IMAP connections may hang until they timed out while talking
386 to Zimbra server.
387 Thanks to Alan Batie.
388
389
390 Changes with nginx 0.8.36 22 Apr 2010
391
392 *) Bugfix: the ngx_http_dav_module handled incorrectly the DELETE,
393 COPY, and MOVE methods for symlinks.
394
395 *) Bugfix: values of the $query_string, $arg_..., etc. variables cached
396 in main request were used by the SSI module in subrequests.
397
398 *) Bugfix: a variable value was repeatedly encoded after each an "echo"
399 SSI-command output; the bug had appeared in 0.6.14.
400
401 *) Bugfix: a worker process hung if a FIFO file was requested.
402 Thanks to Vicente Aguilar and Maxim Dounin.
403
404 *) Bugfix: OpenSSL-1.0.0 compatibility on 64-bit Linux.
405 Thanks to Maxim Dounin.
406
407 *) Bugfix: nginx could not be built --without-http-cache; the bug had
408 appeared in 0.8.35.
409
410
411 Changes with nginx 0.8.35 01 Apr 2010
412
413 *) Change: now the charset filter runs before the SSI filter.
414
415 *) Feature: the "chunked_transfer_encoding" directive.
416
417 *) Bugfix: an "&" character was not escaped when it was copied in
418 arguments part in a rewrite rule.
419
420 *) Bugfix: nginx might be terminated abnormally while a signal
421 processing or if the directive "timer_resolution" was used on
422 platforms which do not support kqueue or eventport notification
423 methods.
424 Thanks to George Xie and Maxim Dounin.
425
426 *) Bugfix: if temporary files and permanent storage area resided at
427 different file systems, then permanent file modification times were
428 incorrect.
429 Thanks to Maxim Dounin.
430
431 *) Bugfix: ngx_http_memcached_module might issue the error message
432 "memcached sent invalid trailer".
433 Thanks to Maxim Dounin.
434
435 *) Bugfix: nginx could not built zlib-1.2.4 library using the library
436 sources.
437 Thanks to Maxim Dounin.
438
439 *) Bugfix: a segmentation fault occurred in a worker process, if there
440 was large stderr output before FastCGI response; the bug had
441 appeared in 0.8.34.
442 Thanks to Maxim Dounin.
443
1 444
2 Changes with nginx 0.8.34 03 Mar 2010 445 Changes with nginx 0.8.34 03 Mar 2010
3 446
4 *) Bugfix: nginx did not support all ciphers and digests used in client 447 *) Bugfix: nginx did not support all ciphers and digests used in client
5 certificates. 448 certificates.
9 large stderr output before response. 452 large stderr output before response.
10 453
11 *) Bugfix: nginx did not support HTTPS referrers. 454 *) Bugfix: nginx did not support HTTPS referrers.
12 455
13 *) Bugfix: nginx/Windows might not find file if path in configuration 456 *) Bugfix: nginx/Windows might not find file if path in configuration
14 was given in other character case; the bug had appeared in 0.8.34. 457 was given in other character case; the bug had appeared in 0.8.33.
15 458
16 *) Bugfix: the $date_local variable has an incorrect value, if the "%s" 459 *) Bugfix: the $date_local variable has an incorrect value, if the "%s"
17 format was used. 460 format was used.
18 Thanks to Maxim Dounin. 461 Thanks to Maxim Dounin.
19 462
880 *) Bugfix: the "try_files" directive handled incorrectly a query string 1323 *) Bugfix: the "try_files" directive handled incorrectly a query string
881 in a fallback parameter. 1324 in a fallback parameter.
882 1325
883 *) Bugfix: the "try_files" directive might test incorrectly directories. 1326 *) Bugfix: the "try_files" directive might test incorrectly directories.
884 1327
885 *) Bugfix: if there is the single server for given address:port pair, 1328 *) Bugfix: if there was a single server for given address:port pair,
886 then captures in regular expressions in a "server_name" directive 1329 then captures in regular expressions in a "server_name" directive
887 did not work. 1330 did not work.
888 1331
889 1332
890 Changes with nginx 0.7.43 18 Mar 2009 1333 Changes with nginx 0.7.43 18 Mar 2009
1234 "proxy_next_upstream" directive. 1677 "proxy_next_upstream" directive.
1235 1678
1236 *) Bugfix: the "http_503" parameter of the "proxy_next_upstream" or 1679 *) Bugfix: the "http_503" parameter of the "proxy_next_upstream" or
1237 "fastcgi_next_upstream" directives did not work. 1680 "fastcgi_next_upstream" directives did not work.
1238 1681
1239 *) Bugfix: nginx might send a "Transfer-Encoding: chunked" heaer line 1682 *) Bugfix: nginx might send a "Transfer-Encoding: chunked" header line
1240 for HEAD requests. 1683 for HEAD requests.
1241 1684
1242 *) Bugfix: now accept threshold depends on worker_connections. 1685 *) Bugfix: now accept threshold depends on worker_connections.
1243 1686
1244 1687
4643 5086
4644 5087
4645 Changes with nginx 0.1.10 26 Nov 2004 5088 Changes with nginx 0.1.10 26 Nov 2004
4646 5089
4647 *) Bugfix: if the request without arguments contains "//", "/./", 5090 *) Bugfix: if the request without arguments contains "//", "/./",
4648 "/../" or "%XX" then the lost character in the request line was 5091 "/../" or "%XX" then the last character in the request line was
4649 lost; the bug had appeared in 0.1.9. 5092 lost; the bug had appeared in 0.1.9.
4650 5093
4651 *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did 5094 *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did
4652 not work. 5095 not work.
4653 5096