comparison CHANGES @ 665:0b460e61bdcd default tip

Merge with nginx 1.0.0.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 25 Apr 2011 04:22:17 +0400
parents b4dcae568a2a
children
comparison
equal deleted inserted replaced
572:06419a2298a9 665:0b460e61bdcd
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
444
445 Changes with nginx 0.8.34 03 Mar 2010
446
447 *) Bugfix: nginx did not support all ciphers and digests used in client
448 certificates.
449 Thanks to Innocenty Enikeew.
450
451 *) Bugfix: nginx cached incorrectly FastCGI responses if there was
452 large stderr output before response.
453
454 *) Bugfix: nginx did not support HTTPS referrers.
455
456 *) Bugfix: nginx/Windows might not find file if path in configuration
457 was given in other character case; the bug had appeared in 0.8.33.
458
459 *) Bugfix: the $date_local variable has an incorrect value, if the "%s"
460 format was used.
461 Thanks to Maxim Dounin.
462
463 *) Bugfix: if ssl_session_cache was not set or was set to "none", then
464 during client certificate verify the error "session id context
465 uninitialized" might occur; the bug had appeared in 0.7.1.
466
467 *) Bugfix: a geo range returned default value if the range included two
468 or more /16 networks and did not begin at /16 network boundary.
469
470 *) Bugfix: a block used in a "stub" parameter of an "include" SSI
471 directive was output with "text/plain" MIME type.
472
473 *) Bugfix: $r->sleep() did not work; the bug had appeared in 0.8.11.
474
475
476 Changes with nginx 0.8.33 01 Feb 2010
477
478 *) Security: now nginx/Windows ignores trailing spaces in URI.
479 Thanks to Dan Crowley, Core Security Technologies.
480
481 *) Security: now nginx/Windows ignores short files names.
482 Thanks to Dan Crowley, Core Security Technologies.
483
484 *) Change: now keepalive connections after POST requests are not
485 disabled for MSIE 7.0+.
486 Thanks to Adam Lounds.
487
488 *) Workaround: now keepalive connections are disabled for Safari.
489 Thanks to Joshua Sierles.
490
491 *) Bugfix: if a proxied or FastCGI request was internally redirected to
492 another proxied or FastCGI location, then $upstream_response_time
493 variable may have abnormally large value; the bug had appeared in
494 0.8.7.
495
496 *) Bugfix: a segmentation fault might occur in a worker process, while
497 discarding a request body; the bug had appeared in 0.8.11.
498
499
500 Changes with nginx 0.8.32 11 Jan 2010
501
502 *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module.
503 Thanks to Maxim Dounin.
504
505 *) Bugfix: regular expression named captures worked for two names only.
506 Thanks to Maxim Dounin.
507
508 *) Bugfix: now the "localhost" name is used in the "Host" request
509 header line, if an unix domain socket is defined in the "auth_http"
510 directive.
511 Thanks to Maxim Dounin.
512
513 *) Bugfix: nginx did not support chunked transfer encoding for 201
514 responses.
515 Thanks to Julian Reich.
516
517 *) Bugfix: if the "expires modified" set date in the past, then a
518 negative number was set in the "Cache-Control" response header line.
519 Thanks to Alex Kapranoff.
520
521
522 Changes with nginx 0.8.31 23 Dec 2009
523
524 *) Feature: now the "error_page" directive may redirect the 301 and 302
525 responses.
526
527 *) Feature: the $geoip_city_continent_code, $geoip_latitude, and
528 $geoip_longitude variables.
529 Thanks to Arvind Sundararajan.
530
531 *) Feature: now the ngx_http_image_filter_module deletes always EXIF
532 and other application specific data if the data consume more than 5%
533 of a JPEG file.
534
535 *) Bugfix: nginx closed a connection if a cached response had an empty
536 body.
537 Thanks to Piotr Sikora.
538
539 *) Bugfix: nginx might not be built by gcc 4.x if the -O2 or higher
540 optimization option was used.
541 Thanks to Maxim Dounin and Denis F. Latypoff.
542
543 *) Bugfix: regular expressions in location were always tested in
544 case-sensitive mode; the bug had appeared in 0.8.25.
545
546 *) Bugfix: nginx cached a 304 response if there was the "If-None-Match"
547 header line in a proxied request.
548 Thanks to Tim Dettrick and David Kostal.
549
550 *) Bugfix: nginx/Windows tried to delete a temporary file twice if the
551 file should replace an already existent file.
552
553
554 Changes with nginx 0.8.30 15 Dec 2009
555
556 *) Change: now the default buffer size of the
557 "large_client_header_buffers" directive is 8K.
558 Thanks to Andrew Cholakian.
559
560 *) Feature: the conf/fastcgi.conf for simple FastCGI configurations.
561
562 *) Bugfix: nginx/Windows tried to rename a temporary file twice if the
563 file should replace an already existent file.
564
565 *) Bugfix: of "double free or corruption" error issued if host could
566 not be resolved; the bug had appeared in 0.8.22.
567 Thanks to Konstantin Svist.
568
569 *) Bugfix: in libatomic usage on some platforms.
570 Thanks to W-Mark Kubacki.
571
572
573 Changes with nginx 0.8.29 30 Nov 2009
574
575 *) Change: now the "009" status code is written to an access log for
576 proxied HTTP/0.9 responses.
577
578 *) Feature: the "addition_types", "charset_types", "gzip_types",
579 "ssi_types", "sub_filter_types", and "xslt_types" directives support
580 an "*" parameter.
581
582 *) Feature: GCC 4.1+ built-in atomic operations usage.
583 Thanks to W-Mark Kubacki.
584
585 *) Feature: the --with-libatomic[=DIR] option in the configure.
586 Thanks to W-Mark Kubacki.
587
588 *) Bugfix: listen unix domain socket had limited access rights.
589
590 *) Bugfix: cached HTTP/0.9 responses were handled incorrectly.
591
592 *) Bugfix: regular expression named captures given by "?P<...>" did not
593 work in a "server_name" directive.
594 Thanks to Maxim Dounin.
595
596
597 Changes with nginx 0.8.28 23 Nov 2009
598
599 *) Bugfix: nginx could not be built with the --without-pcre parameter;
600 the bug had appeared in 0.8.25.
601
602
603 Changes with nginx 0.8.27 17 Nov 2009
604
605 *) Bugfix: regular expressions did not work in nginx/Windows; the bug
606 had appeared in 0.8.25.
607
608
609 Changes with nginx 0.8.26 16 Nov 2009
610
611 *) Bugfix: in captures usage in "rewrite" directive; the bug had
612 appeared in 0.8.25.
613
614 *) Bugfix: nginx could not be built without the --with-debug option;
615 the bug had appeared in 0.8.25.
616
617
618 Changes with nginx 0.8.25 16 Nov 2009
619
620 *) Change: now no message is written in an error log if a variable is
621 not found by $r->variable() method.
622
623 *) Feature: the ngx_http_degradation_module.
624
625 *) Feature: regular expression named captures.
626
627 *) Feature: now URI part is not required a "proxy_pass" directive if
628 variables are used.
629
630 *) Feature: now the "msie_padding" directive works for Chrome too.
631
632 *) Bugfix: a segmentation fault occurred in a worker process on low
633 memory condition; the bug had appeared in 0.8.18.
634
635 *) Bugfix: nginx sent gzipped responses to clients those do not support
636 gzip, if "gzip_static on" and "gzip_vary off"; the bug had appeared
637 in 0.8.16.
638
639
640 Changes with nginx 0.8.24 11 Nov 2009
641
642 *) Bugfix: nginx always added "Content-Encoding: gzip" response header
643 line in 304 responses sent by ngx_http_gzip_static_module.
644
645 *) Bugfix: nginx could not be built without the --with-debug option;
646 the bug had appeared in 0.8.23.
647
648 *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive
649 inherited incorrectly from previous level.
650
651 *) Bugfix: in resolving empty name.
652
653
654 Changes with nginx 0.8.23 11 Nov 2009
655
656 *) Security: now SSL/TLS renegotiation is disabled.
657 Thanks to Maxim Dounin.
658
659 *) Bugfix: listen unix domain socket did not inherit while online
660 upgrade.
661
662 *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive
663 did not without yet another directive with any IP address.
664
665 *) Bugfix: segmentation fault and infinite looping in resolver.
666
667 *) Bugfix: in resolver.
668 Thanks to Artem Bokhan.
669
670
671 Changes with nginx 0.8.22 03 Nov 2009
672
673 *) Feature: the "proxy_bind", "fastcgi_bind", and "memcached_bind"
674 directives.
675
676 *) Feature: the "access" and the "deny" directives support IPv6.
677
678 *) Feature: the "set_real_ip_from" directive supports IPv6 addresses in
679 request headers.
680
681 *) Feature: the "unix:" parameter of the "set_real_ip_from" directive.
682
683 *) Bugfix: nginx did not delete unix domain socket after configuration
684 testing.
685
686 *) Bugfix: nginx deleted unix domain socket while online upgrade.
687
688 *) Bugfix: the "!-x" operator did not work.
689 Thanks to Maxim Dounin.
690
691 *) Bugfix: a segmentation fault might occur in a worker process, if
692 limit_rate was used in HTTPS server.
693 Thanks to Maxim Dounin.
694
695 *) Bugfix: a segmentation fault might occur in a worker process while
696 $limit_rate logging.
697 Thanks to Maxim Dounin.
698
699 *) Bugfix: a segmentation fault might occur in a worker process, if
700 there was no "listen" directive in "server" block; the bug had
701 appeared in 0.8.21.
702
703
704 Changes with nginx 0.8.21 26 Oct 2009
705
706 *) Feature: now the "-V" switch shows TLS SNI support.
707
708 *) Feature: the "listen" directive of the HTTP module supports unix
709 domain sockets.
710 Thanks to Hongli Lai.
711
712 *) Feature: the "default_server" parameter of the "listen" directive.
713
714 *) Feature: now a "default" parameter is not required to set listen
715 socket options.
716
717 *) Bugfix: nginx did not support dates in 2038 year on 32-bit platforms;
718
719 *) Bugfix: socket leak; the bug had appeared in 0.8.11.
720
721
722 Changes with nginx 0.8.20 14 Oct 2009
723
724 *) Change: now default SSL ciphers are "HIGH:!ADH:!MD5".
725
726 *) Bugfix: the ngx_http_autoindex_module did not show the trailing
727 slash in links to a directory; the bug had appeared in 0.7.15.
728
729 *) Bugfix: nginx did not close a log file set by the --error-log-path
730 configuration option; the bug had appeared in 0.7.53.
731
732 *) Bugfix: nginx did not treat a comma as separator in the
733 "Cache-Control" backend response header line.
734
735 *) Bugfix: nginx/Windows might not create temporary file, a cache file,
736 or "proxy/fastcgi_store"d file if a worker had no enough access
737 rights for top level directories.
738
739 *) Bugfix: the "Set-Cookie" and "P3P" FastCGI response header lines
740 were not hidden while caching if no "fastcgi_hide_header" directives
741 were used with any parameters.
742
743 *) Bugfix: nginx counted incorrectly disk cache size.
744
745
746 Changes with nginx 0.8.19 06 Oct 2009
747
748 *) Change: now SSLv2 protocol is disabled by default.
749
750 *) Change: now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
751
752 *) Bugfix: a "limit_req" directive did not work; the bug had appeared
753 in 0.8.18.
754
755
756 Changes with nginx 0.8.18 06 Oct 2009
757
758 *) Feature: the "read_ahead" directive.
759
760 *) Feature: now several "perl_modules" directives may be used.
761
762 *) Feature: the "limit_req_log_level" and "limit_conn_log_level"
763 directives.
764
765 *) Bugfix: now "limit_req" directive conforms to the leaky bucket
766 algorithm.
767 Thanks to Maxim Dounin.
768
769 *) Bugfix: nginx did not work on Linux/sparc.
770 Thanks to Marcus Ramberg.
771
772 *) Bugfix: nginx sent '\0' in a "Location" response header line on
773 MKCOL request.
774 Thanks to Xie Zhenye.
775
776 *) Bugfix: zero status code was logged instead of 499 status code; the
777 bug had appeared in 0.8.11.
778
779 *) Bugfix: socket leak; the bug had appeared in 0.8.11.
780
781
782 Changes with nginx 0.8.17 28 Sep 2009
783
784 *) Security: now "/../" are disabled in "Destination" request header
785 line.
786
787 *) Change: now $host variable value is always low case.
788
789 *) Feature: the $ssl_session_id variable.
790
791 *) Bugfix: socket leak; the bug had appeared in 0.8.11.
792
1 793
2 Changes with nginx 0.8.16 22 Sep 2009 794 Changes with nginx 0.8.16 22 Sep 2009
3 795
4 *) Feature: the "image_filter_transparency" directive. 796 *) Feature: the "image_filter_transparency" directive.
5 797
531 *) Bugfix: the "try_files" directive handled incorrectly a query string 1323 *) Bugfix: the "try_files" directive handled incorrectly a query string
532 in a fallback parameter. 1324 in a fallback parameter.
533 1325
534 *) Bugfix: the "try_files" directive might test incorrectly directories. 1326 *) Bugfix: the "try_files" directive might test incorrectly directories.
535 1327
536 *) 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,
537 then captures in regular expressions in a "server_name" directive 1329 then captures in regular expressions in a "server_name" directive
538 did not work. 1330 did not work.
539 1331
540 1332
541 Changes with nginx 0.7.43 18 Mar 2009 1333 Changes with nginx 0.7.43 18 Mar 2009
885 "proxy_next_upstream" directive. 1677 "proxy_next_upstream" directive.
886 1678
887 *) Bugfix: the "http_503" parameter of the "proxy_next_upstream" or 1679 *) Bugfix: the "http_503" parameter of the "proxy_next_upstream" or
888 "fastcgi_next_upstream" directives did not work. 1680 "fastcgi_next_upstream" directives did not work.
889 1681
890 *) Bugfix: nginx might send a "Transfer-Encoding: chunked" heaer line 1682 *) Bugfix: nginx might send a "Transfer-Encoding: chunked" header line
891 for HEAD requests. 1683 for HEAD requests.
892 1684
893 *) Bugfix: now accept threshold depends on worker_connections. 1685 *) Bugfix: now accept threshold depends on worker_connections.
894 1686
895 1687
4294 5086
4295 5087
4296 Changes with nginx 0.1.10 26 Nov 2004 5088 Changes with nginx 0.1.10 26 Nov 2004
4297 5089
4298 *) Bugfix: if the request without arguments contains "//", "/./", 5090 *) Bugfix: if the request without arguments contains "//", "/./",
4299 "/../" or "%XX" then the lost character in the request line was 5091 "/../" or "%XX" then the last character in the request line was
4300 lost; the bug had appeared in 0.1.9. 5092 lost; the bug had appeared in 0.1.9.
4301 5093
4302 *) 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
4303 not work. 5095 not work.
4304 5096