upstream nginx-0.7.37
[nginx.git] / nginx / CHANGES
1
2 Changes with nginx 0.7.37                                        21 Feb 2009
3
4     *) Bugfix: directive using upstreams did not work; the bug had appeared 
5        in 0.7.36.
6
7
8 Changes with nginx 0.7.36                                        21 Feb 2009
9
10     *) Feature: a preliminary IPv6 support; the "listen" directive of the 
11        HTTP module supports IPv6.
12
13     *) Bugfix: the $ancient_browser variable did not work for browsers 
14        preset by a "modern_browser" directives.
15
16
17 Changes with nginx 0.7.35                                        16 Feb 2009
18
19     *) Bugfix: a "ssl_engine" directive did not use a SSL-accelerator for 
20        asymmetric ciphers.
21        Thanks to Marcin Gozdalik.
22
23     *) Bugfix: a "try_files" directive set MIME type depending on an 
24        original request extension.
25
26     *) Bugfix: "*domain.tld" names were handled incorrectly in 
27        "server_name", "valid_referers", and "map" directives, if an 
28        ".domain.tld" and ".subdomain.domain.tld" wildcards were used; 
29        the bug had appeared in 0.7.9.
30
31
32 Changes with nginx 0.7.34                                        10 Feb 2009
33
34     *) Feature: the "off" parameter of the "if_modified_since" directive.
35
36     *) Feature: now nginx sends an HELO/EHLO command after a XCLIENT 
37        command.
38        Thanks to Maxim Dounin.
39
40     *) Feature: Microsoft specific "AUTH LOGIN with User Name" mode support 
41        in mail proxy server.
42        Thanks to Maxim Dounin.
43
44     *) Bugfix: in a redirect rewrite directive original arguments were 
45        concatenated with new arguments by an "?" rather than an "&";
46        the bug had appeared in 0.1.18.
47        Thanks to Maxim Dounin.
48
49     *) Bugfix: nginx could not be built on AIX.
50
51
52 Changes with nginx 0.7.33                                        02 Feb 2009
53
54     *) Bugfix: a double response might be returned if the epoll or rtsig 
55        methods are used and a redirect was returned to a request with 
56        body.
57        Thanks to Eden Li.
58
59     *) Bugfix: the $sent_http_location variable was empty for some 
60        redirects types.
61
62     *) Bugfix: a segmentation fault might occur in worker process if 
63        "resolver" directive was used in SMTP proxy.
64
65
66 Changes with nginx 0.7.32                                        26 Jan 2009
67
68     *) Feature: now a directory existence testing can be set explicitly in 
69        the "try_files" directive.
70
71     *) Bugfix: fastcgi_store stored files not always.
72
73     *) Bugfix: in geo ranges.
74
75     *) Bugfix: in shared memory allocations if nginx was built without 
76        debugging.
77        Thanks to Andrey Kvasov.
78
79
80 Changes with nginx 0.7.31                                        19 Jan 2009
81
82     *) Change: now the "try_files" directive tests files only and ignores 
83        directories.
84
85     *) Feature: the "fastcgi_split_path_info" directive.
86
87     *) Bugfixes in an "Expect" request header line support.
88
89     *) Bugfixes in geo ranges.
90
91     *) Bugfix: in a miss case ngx_http_memcached_module returned the "END" 
92        line as response body instead of default 404 page body; the bug had 
93        appeared in 0.7.18.
94        Thanks to Maxim Dounin.
95
96     *) Bugfix: while SMTP proxying nginx issued message "250 2.0.0 OK" 
97        instead of "235 2.0.0 OK"; the bug had appeared in 0.7.22.
98        Thanks to Maxim Dounin.
99
100
101 Changes with nginx 0.7.30                                        24 Dec 2008
102
103     *) Bugfix: a segmentation fault occurred in worker process, if 
104        variables were used in the "fastcgi_pass" or "proxy_pass" directives 
105        and host name must be resolved; the bug had appeared in 0.7.29.
106
107
108 Changes with nginx 0.7.29                                        24 Dec 2008
109
110     *) Bugfix: the "fastcgi_pass" and "proxy_pass" directives did not 
111        support variables if unix domain sockets were used.
112
113     *) Bugfixes in subrequest processing; the bugs had appeared in 0.7.25.
114
115     *) Bugfix: a "100 Continue" response was issued for HTTP/1.0 
116        requests;
117        Thanks to Maxim Dounin.
118
119     *) Bugfix: in memory allocation in the ngx_http_gzip_filter_module on 
120        Cygwin.
121
122
123 Changes with nginx 0.7.28                                        22 Dec 2008
124
125     *) Change: in memory allocation in the ngx_http_gzip_filter_module.
126
127     *) Change: the default "gzip_buffers" directive values have been 
128        changed to 32 4k or 16 8k from 4 4k/8k.
129
130
131 Changes with nginx 0.7.27                                        15 Dec 2008
132
133     *) Feature: the "try_files" directive.
134
135     *) Feature: variables support in the "fastcgi_pass" directive.
136
137     *) Feature: now the $geo variable may get an address from a 
138        variable.
139        Thanks to Andrei Nigmatulin.
140
141     *) Feature: now a location's modifier may be used without space before 
142        name.
143
144     *) Feature: the $upstream_response_length variable.
145
146     *) Bugfix: now a "add_header" directive does not add an empty value.
147
148     *) Bugfix: if zero length static file was requested, then nginx just 
149        closed connection; the bug had appeared in 0.7.25.
150
151     *) Bugfix: a MOVE method could not move file in non-existent directory.
152
153     *) Bugfix: a segmentation fault occurred in worker process, if no one 
154        named location was defined in server, but some one was used in an 
155        error_page directive.
156        Thanks to Sergey Bochenkov.
157
158
159 Changes with nginx 0.7.26                                        08 Dec 2008
160
161     *) Bugfix: in subrequest processing; the bug had appeared in 0.7.25.
162
163
164 Changes with nginx 0.7.25                                        08 Dec 2008
165
166     *) Change: in subrequest processing.
167
168     *) Change: now POSTs without "Content-Length" header line are allowed.
169
170     *) Bugfix: now the "limit_req" and "limit_conn" directives log a 
171        prohibition reason.
172
173     *) Bugfix: in the "delete" parameter of the "geo" directive.
174
175
176 Changes with nginx 0.7.24                                        01 Dec 2008
177
178     *) Feature: the "if_modified_since" directive.
179
180     *) Bugfix: nginx did not process a FastCGI server response, if the 
181        server send too many messages to stderr before response.
182
183     *) Bugfix: the "$cookie_..." variables did not work in the SSI and the 
184        perl module.
185
186
187 Changes with nginx 0.7.23                                        27 Nov 2008
188
189     *) Feature: the "delete" and "ranges" parameters in the "geo" directive.
190
191     *) Feature: speeding up loading of geo base with large number of values.
192
193     *) Feature: decrease of memory required for geo base load.
194
195
196 Changes with nginx 0.7.22                                        20 Nov 2008
197
198     *) Feature: the "none" parameter in the "smtp_auth" directive.
199        Thanks to Maxim Dounin.
200
201     *) Feature: the "$cookie_..." variables.
202
203     *) Bugfix: the "directio" directive did not work in XFS filesystem.
204
205     *) Bugfix: the resolver did not understand big DNS responses.
206        Thanks to Zyb.
207
208
209 Changes with nginx 0.7.21                                        11 Nov 2008
210
211     *) Changes in the ngx_http_limit_req_module.
212
213     *) Feature: the EXSLT support in the ngx_http_xslt_module.
214        Thanks to Denis F. Latypoff.
215
216     *) Workaround: compatibility with glibc 2.3.
217        Thanks to Eric Benson and Maxim Dounin.
218
219     *) Bugfix: nginx could not run on MacOSX 10.4 and earlier; the bug had 
220        appeared in 0.7.6.
221
222
223 Changes with nginx 0.7.20                                        10 Nov 2008
224
225     *) Changes in the ngx_http_gzip_filter_module.
226
227     *) Feature: the ngx_http_limit_req_module.
228
229     *) Bugfix: worker processes might exit on a SIGBUS signal on sparc and 
230        ppc platforms; the bug had appeared in 0.7.3.
231        Thanks to Maxim Dounin.
232
233     *) Bugfix: the "proxy_pass http://host/some:uri" directives did not 
234        work; the bug had appeared in 0.7.12.
235
236     *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" 
237        error.
238
239     *) Bugfix: the ngx_http_secure_link_module did not work inside 
240        locations, whose names are less than 3 characters.
241
242     *) Bugfix: $server_addr variable might have no value.
243
244
245 Changes with nginx 0.7.19                                        13 Oct 2008
246
247     *) Bugfix: version number update.
248
249
250 Changes with nginx 0.7.18                                        13 Oct 2008
251
252     *) Change: the "underscores_in_headers" directive; now nginx does not 
253        allows underscores in a client request header line names.
254
255     *) Feature: the ngx_http_secure_link_module.
256
257     *) Feature: the "real_ip_header" directive supports any header.
258
259     *) Feature: the "log_subrequest" directive.
260
261     *) Feature: the $realpath_root variable.
262
263     *) Feature: the "http_502" and "http_504" parameters of the 
264        "proxy_next_upstream" directive.
265
266     *) Bugfix: the "http_503" parameter of the "proxy_next_upstream" or 
267        "fastcgi_next_upstream" directives did not work.
268
269     *) Bugfix: nginx might send a "Transfer-Encoding: chunked" heaer line 
270        for HEAD requests.
271
272     *) Bugfix: now accept threshold depends on worker_connections.
273
274
275 Changes with nginx 0.7.17                                        15 Sep 2008
276
277     *) Feature: now the "directio" directive works on Linux.
278
279     *) Feature: the $pid variable.
280
281     *) Bugfix: the "directio" optimization that had appeared in 0.7.15 did 
282        not work with open_file_cache.
283
284     *) Bugfix: the "access_log" with variables did not work on Linux; the 
285        bug had appeared in 0.7.7.
286
287     *) Bugfix: the ngx_http_charset_module did not understand quoted 
288        charset name received from backend.
289
290
291 Changes with nginx 0.7.16                                        08 Sep 2008
292
293     *) Bugfix: nginx could not be built on 64-bit platforms; the bug had 
294        appeared in 0.7.15.
295
296
297 Changes with nginx 0.7.15                                        08 Sep 2008
298
299     *) Feature: the ngx_http_random_index_module.
300
301     *) Feature: the "directio" directive has been optimized for file 
302        requests starting from arbitrary position.
303
304     *) Feature: the "directio" directive turns off sendfile if it is 
305        necessary.
306
307     *) Feature: now nginx allows underscores in a client request header 
308        line names.
309
310
311 Changes with nginx 0.7.14                                        01 Sep 2008
312
313     *) Change: now the ssl_certificate and ssl_certificate_key directives 
314        have not default values.
315
316     *) Feature: the "listen" directive supports the "ssl" parameter.
317
318     *) Feature: now nginx takes into account a time zone change while 
319        reconfiguration on FreeBSD and Linux.
320
321     *) Bugfix: the "listen" directive parameters such as "backlog", 
322        "rcvbuf", etc. were not set, if a default server was not the first 
323        one.
324
325     *) Bugfix: if URI part captured by a "rewrite" directive was used as a 
326        query string, then the query string was not escaped.
327
328     *) Bugfix: configuration file validity test improvements.
329
330
331 Changes with nginx 0.7.13                                        26 Aug 2008
332
333     *) Bugfix: nginx could not be built on Linux and Solaris; the bug had 
334        appeared in 0.7.12.
335
336
337 Changes with nginx 0.7.12                                        26 Aug 2008
338
339     *) Feature: the "server_name" directive supports empty name "".
340
341     *) Feature: the "gzip_disable" directive supports special "msie6" mask.
342
343     *) Bugfix: if the "max_fails=0" parameter was used in upstream with 
344        several servers, then a worker process exited on a SIGFPE signal.
345        Thanks to Maxim Dounin.
346
347     *) Bugfix: a request body was dropped while redirection via an 
348        "error_page" directive.
349
350     *) Bugfix: a full response was returned for request method HEAD while 
351        redirection via an "error_page" directive.
352
353     *) Bugfix: the $r->header_in() method did not return value of the 
354        "Host", "User-Agent", and "Connection" request header lines; the bug 
355        had appeared in 0.7.0.
356
357
358 Changes with nginx 0.7.11                                        18 Aug 2008
359
360     *) Change: now ngx_http_charset_module does not work by default with 
361        text/css MIME type.
362
363     *) Feature: now nginx returns the 405 status code for POST method 
364        requesting a static file only if the file exists.
365
366     *) Feature: the "proxy_ssl_session_reuse" directive.
367
368     *) Bugfix: a "proxy_pass" directive without URI part might use original 
369        request after the "X-Accel-Redirect" redirection was used;
370
371     *) Bugfix: if a directory has search only rights and the first index 
372        file was absent, then nginx returned the 500 status code.
373
374     *) Bugfix: in inclusive locations; the bugs had appeared in 0.7.1.
375
376
377 Changes with nginx 0.7.10                                        13 Aug 2008
378
379     *) Bugfix: in the "addition_types", "charset_types", "gzip_types", 
380        "ssi_types", "sub_filter_types", and "xslt_types" directives; the 
381        bugs had appeared in 0.7.9.
382
383     *) Bugfix: of recursive error_page for 500 status code.
384
385     *) Bugfix: now the ngx_http_realip_module sets address not for whole 
386        keepalive connection, but for each request passed via the connection.
387
388
389 Changes with nginx 0.7.9                                         12 Aug 2008
390
391     *) Change: now ngx_http_charset_module works by default with following 
392        MIME types: text/html, text/css, text/xml, text/plain, 
393        text/vnd.wap.wml, application/x-javascript, and application/rss+xml.
394
395     *) Feature: the "charset_types" and "addition_types" directives.
396
397     *) Feature: now the "gzip_types", "ssi_types", and "sub_filter_types" 
398        directives use hash.
399
400     *) Feature: the ngx_cpp_test_module.
401
402     *) Feature: the "expires" directive supports daily time.
403
404     *) Feature: the ngx_http_xslt_module improvements and bug fixing.
405        Thanks to Denis F. Latypoff and Maxim Dounin.
406
407     *) Bugfix: the "log_not_found" directive did not work for index files 
408        tests.
409
410     *) Bugfix: HTTPS connections might hang, if kqueue, epoll, rtsig, or 
411        eventport methods were used; the bug had appeared in 0.7.7.
412
413     *) Bugfix: if the "server_name", "valid_referers", and "map" directives 
414        used an "*.domain.tld" wildcard and exact name "domain.tld" was not 
415        set, then the exact name was matched by the wildcard; the bug had 
416        appeared in 0.3.18.
417
418
419 Changes with nginx 0.7.8                                         04 Aug 2008
420
421     *) Feature: the ngx_http_xslt_module.
422
423     *) Feature: the "$arg_..." variables.
424
425     *) Feature: Solaris directio support.
426        Thanks to Ivan Debnar.
427
428     *) Bugfix: now if FastCGI server sends a "Location" header line without 
429        status line, then nginx uses 302 status code.
430        Thanks to Maxim Dounin.
431
432
433 Changes with nginx 0.7.7                                         30 Jul 2008
434
435     *) Change: now the EAGAIN error returned by connect() is not considered 
436        as temporary error.
437
438     *) Change: now the $ssl_client_cert variable value is a certificate 
439        with TAB character intended before each line except first one; an 
440        unchanged certificate is available in the $ssl_client_raw_cert 
441        variable.
442
443     *) Feature: the "ask" parameter in the "ssl_verify_client" directive.
444
445     *) Feature: byte-range processing improvements.
446        Thanks to Maxim Dounin.
447
448     *) Feature: the "directio" directive.
449        Thanks to Jiang Hong.
450
451     *) Feature: MacOSX 10.5 sendfile() support.
452
453     *) Bugfix: now in MacOSX and Cygwin locations are tested in case 
454        insensitive mode; however, the compare is provided by single-byte 
455        locales only.
456
457     *) Bugfix: mail proxy SSL connections hanged, if select, poll, or 
458        /dev/poll methods were used.
459
460     *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module.
461
462
463 Changes with nginx 0.7.6                                         07 Jul 2008
464
465     *) Bugfix: now if variables are used in the "access_log" directive a 
466        request root existence is always tested.
467
468     *) Bugfix: the ngx_http_flv_module did not support several values in a 
469        query string.
470
471
472 Changes with nginx 0.7.5                                         01 Jul 2008
473
474     *) Bugfixes in variables support in the "access_log" directive; the 
475        bugs had appeared in 0.7.4.
476
477     *) Bugfix: nginx could not be built --without-http_gzip_module; the bug 
478        had appeared in 0.7.3.
479        Thanks to Kirill A. Korinskiy.
480
481     *) Bugfix: if sub_filter and SSI were used together, then responses 
482        might were transferred incorrectly.
483
484
485 Changes with nginx 0.7.4                                         30 Jun 2008
486
487     *) Feature: variables support in the "access_log" directive.
488
489     *) Feature: the "open_log_file_cache" directive.
490
491     *) Feature: the -g switch.
492
493     *) Feature: the "Expect" request header line support.
494
495     *) Bugfix: large SSI inclusions might be truncated.
496
497
498 Changes with nginx 0.7.3                                         23 Jun 2008
499
500     *) Change: the "rss" extension MIME type has been changed to 
501        "application/rss+xml".
502
503     *) Change: now the "gzip_vary" directive turned on issues a 
504        "Vary: Accept-Encoding" header line for uncompressed responses too.
505
506     *) Feature: now the "rewrite" directive does a redirect automatically 
507        if the "https://" protocol is used.
508
509     *) Bugfix: the "proxy_pass" directive did not work with the HTTPS 
510        protocol; the bug had appeared in 0.6.9.
511
512
513 Changes with nginx 0.7.2                                         16 Jun 2008
514
515     *) Feature: now nginx supports EDH key exchange ciphers.
516
517     *) Feature: the "ssl_dhparam" directive.
518
519     *) Feature: the $ssl_client_cert variable.
520        Thanks to Manlio Perillo.
521
522     *) Bugfix: after changing URI via a "rewrite" directive nginx did not 
523        search a new location; the bug had appeared in 0.7.1.
524        Thanks to Maxim Dounin.
525
526     *) Bugfix: nginx could not be built without PCRE library; the bug had 
527        appeared in 0.7.1.
528
529     *) Bugfix: when a request to a directory was redirected with the slash 
530        added, nginx dropped a query string from the original request.
531
532
533 Changes with nginx 0.7.1                                         26 May 2008
534
535     *) Change: now locations are searched in a tree.
536
537     *) Change: the "optimize_server_names" directive was canceled due to 
538        the "server_name_in_redirect" directive introduction.
539
540     *) Change: some long deprecated directives are not supported anymore.
541
542     *) Change: the "none" parameter in the "ssl_session_cache" directive; 
543        now this is default parameter.
544        Thanks to Rob Mueller.
545
546     *) Bugfix: worker processes might not catch reconfiguration and log 
547        rotation signals.
548
549     *) Bugfix: nginx could not be built on latest Fedora 9 Linux.
550        Thanks to Roxis.
551
552
553 Changes with nginx 0.7.0                                         19 May 2008
554
555     *) Change: now the 0x00-0x1F, '"' and '\' characters are escaped as 
556        \xXX in an access_log.
557        Thanks to Maxim Dounin.
558
559     *) Change: now nginx allows several "Host" request header line.
560
561     *) Feature: the "modified" flag in the "expires" directive.
562
563     *) Feature: the $uid_got and $uid_set variables may be used at any 
564        request processing stage.
565
566     *) Feature: the $hostname variable.
567        Thanks to Andrei Nigmatulin.
568
569     *) Feature: DESTDIR support.
570        Thanks to Todd A. Fisher and Andras Voroskoi.
571
572     *) Bugfix: a segmentation fault might occur in worker process on Linux, 
573        if keepalive was enabled.
574
575
576 Changes with nginx 0.6.31                                        12 May 2008
577
578     *) Bugfix: nginx did not process FastCGI response if header was at the 
579        end of FastCGI record; the bug had appeared in 0.6.2.
580        Thanks to Sergey Serov.
581
582     *) Bugfix: a segmentation fault might occur in worker process if a file 
583        was deleted and the "open_file_cache_errors" directive was off.
584
585
586 Changes with nginx 0.6.30                                        29 Apr 2008
587
588     *) Change: now if an "include" directive pattern does not match any 
589        file, then nginx does not issue an error.
590
591     *) Feature: now the time in directives may be specified without spaces, 
592        for example, "1h50m".
593
594     *) Bugfix: memory leaks if the "ssl_verify_client" directive was on.
595        Thanks to Chavelle Vincent.
596
597     *) Bugfix: the "sub_filter" directive might set text to change into 
598        output.
599
600     *) Bugfix: the "error_page" directive did not take into account 
601        arguments in redirected URI.
602
603     *) Bugfix: now nginx always opens files in binary mode under Cygwin.
604
605     *) Bugfix: nginx could not be built on OpenBSD; the bug had appeared in 
606        0.6.15.
607
608
609 Changes with nginx 0.6.29                                        18 Mar 2008
610
611     *) Feature: the ngx_google_perftools_module.
612
613     *) Bugfix: the ngx_http_perl_module could not be built on 64-bit 
614        platforms; the bug had appeared in 0.6.27.
615
616
617 Changes with nginx 0.6.28                                        13 Mar 2008
618
619     *) Bugfix: the rtsig method could not be built; the bug had appeared in 
620        0.6.27.
621
622
623 Changes with nginx 0.6.27                                        12 Mar 2008
624
625     *) Change: now by default the rtsig method is not built on 
626        Linux 2.6.18+.
627
628     *) Change: now a request method is not changed while redirection to a 
629        named location via an "error_page" directive.
630
631     *) Feature: the "resolver" and "resolver_timeout" directives in SMTP 
632        proxy.
633
634     *) Feature: the "post_action" directive supports named locations.
635
636     *) Bugfix: a segmentation fault occurred in worker process, if a 
637        request was redirected from proxy, FastCGI, or memcached location to 
638        static named locations.
639
640     *) Bugfix: browsers did not repeat SSL handshake if there is no valid 
641        client certificate in first handshake. 
642        Thanks to Alexander V. Inyukhin.
643
644     *) Bugfix: if response code 495-497 was redirected via an "error_page" 
645        directive without code change, then nginx tried to allocate too many 
646        memory.
647
648     *) Bugfix: memory leak in long-lived non buffered connections.
649
650     *) Bugfix: memory leak in resolver.
651
652     *) Bugfix: a segmentation fault occurred in worker process, if a 
653        request was redirected from proxy, FastCGI, or memcached location to 
654        static named locations.
655
656     *) Bugfix: in the $proxy_host and $proxy_port variables caching.
657        Thanks to Sergey Bochenkov.
658
659     *) Bugfix: a "proxy_pass" directive with variables used incorrectly the 
660        same port as in another "proxy_pass" directive with the same host 
661        name and without variables.
662        Thanks to Sergey Bochenkov.
663
664     *) Bugfix: an alert "sendmsg() failed (9: Bad file descriptor)" on some 
665        64-bit platforms while reconfiguration.
666
667     *) Bugfix: a segmentation fault occurred in worker process, if empty 
668        stub block was used second time in SSI.
669
670     *) Bugfix: in copying URI part contained escaped symbols into arguments.
671
672
673 Changes with nginx 0.6.26                                        11 Feb 2008
674
675     *) Bugfix: the "proxy_store" and "fastcgi_store" directives did not 
676        check a response length.
677
678     *) Bugfix: a segmentation fault occurred in worker process, if big 
679        value was used in a "expires" directive.
680        Thanks to Joaquin Cuenca Abela.
681
682     *) Bugfix: nginx incorrectly detected cache line size on Pentium 4.
683        Thanks to Gena Makhomed.
684
685     *) Bugfix: in proxied or FastCGI subrequests a client original method 
686        was used instead of the GET method.
687
688     *) Bugfix: socket leak in HTTPS mode if deferred accept was used.
689        Thanks to Ben Maurer.
690
691     *) Bugfix: nginx issued the bogus error message "SSL_shutdown() failed 
692        (SSL: )"; the bug had appeared in 0.6.23.
693
694     *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" 
695        error; the bug had appeared in 0.6.23.
696
697
698 Changes with nginx 0.6.25                                        08 Jan 2008
699
700     *) Change: now the "server_name_in_redirect" directive is used instead 
701        of the "server_name" directive's special "*" parameter.
702
703     *) Change: now wildcard and regex names can be used as main name in a 
704        "server_name" directive.
705
706     *) Change: the "satisfy_any" directive was replaced by the "satisfy" 
707        directive.
708
709     *) Workaround: old worker processes might hog CPU after reconfiguration 
710        if they was run under Linux OpenVZ.
711
712     *) Feature: the "min_delete_depth" directive.
713
714     *) Bugfix: the COPY and MOVE methods did not work with single files.
715
716     *) Bugfix: the ngx_http_gzip_static_module did not allow the 
717        ngx_http_dav_module to work; the bug had appeared in 0.6.23.
718
719     *) Bugfix: socket leak in HTTPS mode if deferred accept was used.
720        Thanks to Ben Maurer.
721
722     *) Bugfix: nginx could not be built without PCRE library; the bug had 
723        appeared in 0.6.23.
724
725
726 Changes with nginx 0.6.24                                        27 Dec 2007
727
728     *) Bugfix: a segmentation fault might occur in worker process if HTTPS 
729        was used; the bug had appeared in 0.6.23.
730
731
732 Changes with nginx 0.6.23                                        27 Dec 2007
733
734     *) Change: the "off" parameter in the "ssl_session_cache" directive; 
735        now this is default parameter.
736
737     *) Change: the "open_file_cache_retest" directive was renamed to the 
738        "open_file_cache_valid".
739
740     *) Feature: the "open_file_cache_min_uses" directive.
741
742     *) Feature: the ngx_http_gzip_static_module.
743
744     *) Feature: the "gzip_disable" directive.
745
746     *) Feature: the "memcached_pass" directive may be used inside the "if" 
747        block.
748
749     *) Bugfix: a segmentation fault occurred in worker process, if the 
750        "memcached_pass" and "if" directives were used in the same location.
751
752     *) Bugfix: if a "satisfy_any on" directive was used and not all access 
753        and auth modules directives were set, then other given access and 
754        auth directives were not tested;
755
756     *) Bugfix: regex parameters in a "valid_referers" directive were not 
757        inherited from previous level.
758
759     *) Bugfix: a "post_action" directive did run if a request was completed 
760        with 499 status code.
761
762     *) Bugfix: optimization of 16K buffer usage in a SSL connection.
763        Thanks to Ben Maurer.
764
765     *) Bugfix: the STARTTLS in SMTP mode did not work.
766        Thanks to Oleg Motienko.
767
768     *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" 
769        error; the bug had appeared in 0.5.13.
770
771
772 Changes with nginx 0.6.22                                        19 Dec 2007
773
774     *) Change: now all ngx_http_perl_module methods return values copied to 
775        perl's allocated memory.
776
777     *) Bugfix: if nginx was built with ngx_http_perl_module, the perl 
778        before 5.8.6 was used, and perl supported threads, then during 
779        reconfiguration the master process aborted; the bug had appeared in 
780        0.5.9.
781        Thanks to Boris Zhmurov.
782
783     *) Bugfix: the ngx_http_perl_module methods may get invalid values of 
784        the regex captures.
785
786     *) Bugfix: a segmentation fault occurred in worker process, if the 
787        $r->has_request_body() method was called for a request whose small 
788        request body was already received.
789
790     *) Bugfix: large_client_header_buffers did not freed before going to 
791        keep-alive state.
792        Thanks to Olexander Shtepa.
793
794     *) Bugfix: the last address was missed in the $upstream_addr variable; 
795        the bug had appeared in 0.6.18.
796
797     *) Bugfix: the "fastcgi_catch_stderr" directive did return error code; 
798        now it returns 502 code, that can be rerouted to a next server using 
799        the "fastcgi_next_upstream invalid_header" directive.
800
801     *) Bugfix: a segmentation fault occurred in master process if the 
802        "fastcgi_catch_stderr" directive was used; the bug had appeared in 
803        0.6.10.
804        Thanks to Manlio Perillo.
805
806
807 Changes with nginx 0.6.21                                        03 Dec 2007
808
809     *) Change: if variable values used in a "proxy_pass" directive contain 
810        IP-addresses only, then a "resolver" directive is not mandatory.
811
812     *) Bugfix: a segmentation fault might occur in worker process if a 
813        "proxy_pass" directive with URI-part was used; the bug had appeared 
814        in 0.6.19.
815
816     *) Bugfix: if resolver was used on platform that does not support 
817        kqueue, then nginx issued an alert "name is out of response".
818        Thanks to Andrei Nigmatulin.
819
820     *) Bugfix: if the $server_protocol was used in FastCGI parameters and a 
821        request line length was near to the "client_header_buffer_size" 
822        directive value, then nginx issued an alert "fastcgi: the request 
823        record is too big".
824
825     *) Bugfix: if a plain text HTTP/0.9 version request was made to HTTPS 
826        server, then nginx returned usual response.
827
828
829 Changes with nginx 0.6.20                                        28 Nov 2007
830
831     *) Bugfix: a segmentation fault might occur in worker process if a 
832        "proxy_pass" directive with URI-part was used; the bug had appeared 
833        in 0.6.19.
834
835
836 Changes with nginx 0.6.19                                        27 Nov 2007
837
838     *) Bugfix: the 0.6.18 version could not be built.
839
840
841 Changes with nginx 0.6.18                                        27 Nov 2007
842
843     *) Change: now the ngx_http_userid_module adds start time microseconds 
844        to the cookie field contains a pid value.
845
846     *) Change: now the full request line instead of URI only is written to 
847        error_log.
848
849     *) Feature: variables support in the "proxy_pass" directive.
850
851     *) Feature: the "resolver" and "resolver_timeout" directives.
852
853     *) Feature: now the directive "add_header last-modified ''" deletes a 
854        "Last-Modified" response header line.
855
856     *) Bugfix: the "limit_rate" directive did not allow to use full 
857        throughput, even if limit value was very high.
858
859
860 Changes with nginx 0.6.17                                        15 Nov 2007
861
862     *) Feature: the "If-Range" request header line support.
863        Thanks to Alexander V. Inyukhin.
864
865     *) Bugfix: URL double escaping in a redirect of the "msie_refresh" 
866        directive; the bug had appeared in 0.6.4.
867
868     *) Bugfix: the "autoindex" directive did not work with the "alias /" 
869        directive.
870
871     *) Bugfix: a segmentation fault might occur in worker process if 
872        subrequests were used.
873
874     *) Bugfix: the big responses may be transferred truncated if SSL and 
875        gzip were used.
876
877     *) Bugfix: the $status variable was equal to 0 if a proxied server 
878        returned response in HTTP/0.9 version.
879
880
881 Changes with nginx 0.6.16                                        29 Oct 2007
882
883     *) Change: now the uname(2) is used on Linux instead of procfs.
884        Thanks to Ilya Novikov.
885
886     *) Bugfix: if the "?" character was in a "error_page" directive, then 
887        it was escaped in a proxied request; the bug had appeared in 0.6.11.
888
889     *) Bugfix: compatibility with mget.
890
891
892 Changes with nginx 0.6.15                                        22 Oct 2007
893
894     *) Feature: Cygwin compatibility.
895        Thanks to Vladimir Kutakov.
896
897     *) Feature: the "merge_slashes" directive.
898
899     *) Feature: the "gzip_vary" directive.
900
901     *) Feature: the "server_tokens" directive.
902
903     *) Bugfix: nginx did not unescape URI in the "include" SSI command.
904
905     *) Bugfix: the segmentation fault was occurred on start or while 
906        reconfiguration if variable was used in the "charset" or 
907        "source_charset" directives.
908
909     *) Bugfix: nginx returned the 400 response on requests like 
910        "GET http://www.domain.com HTTP/1.0".
911        Thanks to James Oakley.
912
913     *) Bugfix: if request with request body was redirected using the 
914        "error_page" directive, then nginx tried to read the request body 
915        again; the bug had appeared in 0.6.7.
916
917     *) Bugfix: a segmentation fault occurred in worker process if no 
918        server_name was explicitly defined for server processing request; 
919        the bug had appeared in 0.6.7.
920
921
922 Changes with nginx 0.6.14                                        15 Oct 2007
923
924     *) Change: now by default the "echo" SSI command uses entity encoding.
925
926     *) Feature: the "encoding" parameter in the "echo" SSI command.
927
928     *) Feature: the "access_log" directive may be used inside the 
929        "limit_except" block.
930
931     *) Bugfix: if all upstream servers were failed, then all servers had 
932        got weight the was equal one until servers became alive; the bug had 
933        appeared in 0.6.6.
934
935     *) Bugfix: a segmentation fault occurred in worker process if 
936        $date_local and $date_gmt were used outside the 
937        ngx_http_ssi_filter_module.
938
939     *) Bugfix: a segmentation fault might occur in worker process if debug 
940        log was enabled.
941        Thanks to Andrei Nigmatulin.
942
943     *) Bugfix: ngx_http_memcached_module did not set 
944        $upstream_response_time.
945        Thanks to Maxim Dounin.
946
947     *) Bugfix: a worker process may got caught in an endless loop, if the 
948        memcached was used.
949
950     *) Bugfix: nginx supported low case only "close" and "keep-alive" 
951        values in the "Connection" request header line; the bug had appeared 
952        in 0.6.11.
953
954     *) Bugfix: sub_filter did not work with empty substitution.
955
956     *) Bugfix: in sub_filter parsing.
957
958
959 Changes with nginx 0.6.13                                        24 Sep 2007
960
961     *) Bugfix: nginx did not close directory file on HEAD request if 
962        autoindex was used.
963        Thanks to Arkadiusz Patyk.
964
965
966 Changes with nginx 0.6.12                                        21 Sep 2007
967
968     *) Change: mail proxy was split on three modules: pop3, imap and smtp.
969
970     *) Feature: the --without-mail_pop3_module, --without-mail_imap_module, 
971        and --without-mail_smtp_module configuration parameters.
972
973     *) Feature: the "smtp_greeting_delay" and "smtp_client_buffer" 
974        directives of the ngx_mail_smtp_module.
975
976     *) Bugfix: the trailing wildcards did not work; the bug had appeared in 
977        0.6.9.
978
979     *) Bugfix: nginx could not start on Solaris if the shared PCRE library 
980        located in non-standard place was used.
981
982     *) Bugfix: the "proxy_hide_header" and "fastcgi_hide_header" directives 
983        did not hide response header lines whose name was longer than 32 
984        characters.
985        Thanks to Manlio Perillo.
986
987
988 Changes with nginx 0.6.11                                        11 Sep 2007
989
990     *) Bugfix: active connection counter always increased if mail proxy was 
991        used.
992
993     *) Bugfix: if backend returned response header only using non-buffered 
994        proxy, then nginx closed backend connection on timeout.
995
996     *) Bugfix: nginx did not support several "Connection" request header 
997        lines.
998
999     *) Bugfix: if the "max_fails" was set for upstream server, then after 
1000        first failure server weight was always one; the bug had appeared in 
1001        0.6.6.
1002
1003
1004 Changes with nginx 0.6.10                                        03 Sep 2007
1005
1006     *) Feature: the "open_file_cache", "open_file_cache_retest", and 
1007        "open_file_cache_errors" directives.
1008
1009     *) Bugfix: socket leak; the bug had appeared in 0.6.7.
1010
1011     *) Bugfix: a charset set by the "charset" directive was not appended to 
1012        the "Content-Type" header set by $r->send_http_header().
1013
1014     *) Bugfix: a segmentation fault might occur in worker process if 
1015        /dev/poll method was used.
1016
1017
1018 Changes with nginx 0.6.9                                         28 Aug 2007
1019
1020     *) Bugfix: a worker process may got caught in an endless loop, if the 
1021        HTTPS protocol was used; the bug had appeared in 0.6.7.
1022
1023     *) Bugfix: if server listened on two addresses or ports and trailing 
1024        wildcard was used, then nginx did not run.
1025
1026     *) Bugfix: the "ip_hash" directive might incorrectly mark servers as 
1027        down.
1028
1029     *) Bugfix: nginx could not be built on amd64; the bug had appeared in 
1030        0.6.8.
1031
1032
1033 Changes with nginx 0.6.8                                         20 Aug 2007
1034
1035     *) Change: now nginx tries to set the "worker_priority", 
1036        "worker_rlimit_nofile", "worker_rlimit_core", and 
1037        "worker_rlimit_sigpending" without super-user privileges.
1038
1039     *) Change: now nginx escapes space and "%" in request to a mail proxy 
1040        authentication server.
1041
1042     *) Change: now nginx escapes "%" in $memcached_key variable.
1043
1044     *) Bugfix: nginx used path relative to configuration prefix for 
1045        non-absolute configuration file path specified in the "-c" key; the 
1046        bug had appeared in 0.6.6.
1047
1048     *) Bugfix: nginx did not work on FreeBSD/sparc64.
1049
1050
1051 Changes with nginx 0.6.7                                         15 Aug 2007
1052
1053     *) Change: now the paths specified in the "include", 
1054        "auth_basic_user_file", "perl_modules", "ssl_certificate", 
1055        "ssl_certificate_key", and "ssl_client_certificate" directives are 
1056        relative to directory of nginx configuration file nginx.conf, but 
1057        not to nginx prefix directory.
1058
1059     *) Change: the --sysconfdir=PATH option in configure was canceled.
1060
1061     *) Change: the special make target "upgrade1" was defined for online 
1062        upgrade of 0.1.x versions.
1063
1064     *) Feature: the "server_name" and "valid_referers" directives support 
1065        regular expressions.
1066
1067     *) Feature: the "server" directive in the "upstream" context supports 
1068        the "backup" parameter.
1069
1070     *) Feature: the ngx_http_perl_module supports the 
1071        $r->discard_request_body.
1072
1073     *) Feature: the "add_header Last-Modified ..." directive changes the 
1074        "Last-Modified" response header line.
1075
1076     *) Bugfix: if a response different than 200 was returned to a request 
1077        with body and connection went to the keep-alive state after the 
1078        request, then nginx returned 400 for the next request.
1079
1080     *) Bugfix: a segmentation fault occurred in worker process if invalid 
1081        address was set in the "auth_http" directive.
1082
1083     *) Bugfix: now nginx uses default listen backlog value 511 on all 
1084        platforms except FreeBSD.
1085        Thanks to Jiang Hong.
1086
1087     *) Bugfix: a worker process may got caught in an endless loop, if a 
1088        "server" inside "upstream" block was marked as "down"; the bug had 
1089        appeared in 0.6.6.
1090
1091     *) Bugfix: now Solaris sendfilev() is not used to transfer the client 
1092        request body to FastCGI-server via the unix domain socket.
1093
1094
1095 Changes with nginx 0.6.6                                         30 Jul 2007
1096
1097     *) Feature: the --sysconfdir=PATH option in configure.
1098
1099     *) Feature: named locations.
1100
1101     *) Feature: the $args variable can be set with the "set" directive.
1102
1103     *) Feature: the $is_args variable.
1104
1105     *) Bugfix: fair big weight upstream balancer.
1106
1107     *) Bugfix: if a client has closed connection to mail proxy then nginx 
1108        might not close connection to backend.
1109
1110     *) Bugfix: if the same host without specified port was used as backend 
1111        for HTTP and HTTPS, then nginx used only one port - 80 or 443.
1112
1113     *) Bugfix: fix building on Solaris/amd64 by Sun Studio 11 and early 
1114        versions; the bug had appeared in 0.6.4.
1115
1116
1117 Changes with nginx 0.6.5                                         23 Jul 2007
1118
1119     *) Feature: $nginx_version variable.
1120        Thanks to Nick S. Grechukh.
1121
1122     *) Feature: the mail proxy supports AUTHENTICATE in IMAP mode.
1123        Thanks to Maxim Dounin.
1124
1125     *) Feature: the mail proxy supports STARTTLS in SMTP mode.
1126        Thanks to Maxim Dounin.
1127
1128     *) Bugfix: now nginx escapes space in $memcached_key variable.
1129
1130     *) Bugfix: nginx was incorrectly built by Sun Studio on 
1131        Solaris/amd64.
1132        Thanks to Jiang Hong.
1133
1134     *) Bugfix: of minor potential bugs.
1135        Thanks to Coverity's Scan.
1136
1137
1138 Changes with nginx 0.6.4                                         17 Jul 2007
1139
1140     *) Security: the "msie_refresh" directive allowed XSS.
1141        Thanks to Maxim Boguk.
1142
1143     *) Change: the "proxy_store" and "fastcgi_store" directives were 
1144        changed.
1145
1146     *) Feature: the "proxy_store_access" and "fastcgi_store_access" 
1147        directives.
1148
1149     *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun 
1150        Studio.
1151        Thanks to Andrei Nigmatulin.
1152
1153     *) Workaround: for Sun Studio 12.
1154        Thanks to Jiang Hong.
1155
1156
1157 Changes with nginx 0.6.3                                         12 Jul 2007
1158
1159     *) Feature: the "proxy_store" and "fastcgi_store" directives.
1160
1161     *) Bugfix: a segmentation fault might occur in worker process if the 
1162        "auth_http_header" directive was used.
1163        Thanks to Maxim Dounin.
1164
1165     *) Bugfix: a segmentation fault occurred in worker process if the 
1166        CRAM-MD5 authentication method was used, but it was not enabled.
1167
1168     *) Bugfix: a segmentation fault might occur in worker process when the 
1169        HTTPS protocol was used in the "proxy_pass" directive.
1170
1171     *) Bugfix: a segmentation fault might occur in worker process if the 
1172        eventport method was used.
1173
1174     *) Bugfix: the "proxy_ignore_client_abort" and 
1175        "fastcgi_ignore_client_abort" directives did not work; the bug had 
1176        appeared in 0.5.13.
1177
1178
1179 Changes with nginx 0.6.2                                         09 Jul 2007
1180
1181     *) Bugfix: if the FastCGI header was split in records, then nginx 
1182        passed garbage in the header to a client.
1183
1184
1185 Changes with nginx 0.6.1                                         17 Jun 2007
1186
1187     *) Bugfix: in SSI parsing.
1188
1189     *) Bugfix: if remote SSI subrequest was used, then posterior local file 
1190        subrequest might transferred to client in wrong order.
1191
1192     *) Bugfix: large SSI inclusions buffered in temporary files were 
1193        truncated.
1194
1195     *) Bugfix: the perl $$ variable value in ngx_http_perl_module was equal 
1196        to the master process identification number.
1197
1198
1199 Changes with nginx 0.6.0                                         14 Jun 2007
1200
1201     *) Feature: the "server_name", "map", and "valid_referers" directives 
1202        support the "www.example.*" wildcards.
1203
1204
1205 Changes with nginx 0.5.25                                        11 Jun 2007
1206
1207     *) Bugfix: nginx could not be built with the 
1208        --without-http_rewrite_module parameter; the bug had appeared in 
1209        0.5.24.
1210
1211
1212 Changes with nginx 0.5.24                                        06 Jun 2007
1213
1214     *) Security: the "ssl_verify_client" directive did not work if request 
1215        was made using HTTP/0.9.
1216
1217     *) Bugfix: a part of response body might be passed uncompressed if gzip 
1218        was used; the bug had appeared in 0.5.23.
1219
1220
1221 Changes with nginx 0.5.23                                        04 Jun 2007
1222
1223     *) Feature: the ngx_http_ssl_module supports Server Name Indication TLS 
1224        extension.
1225
1226     *) Feature: the "fastcgi_catch_stderr" directive.
1227        Thanks to Nick S. Grechukh, OWOX project.
1228
1229     *) Bugfix: a segmentation fault occurred in master process if two 
1230        virtual servers should bind() to the overlapping ports.
1231
1232     *) Bugfix: if nginx was built with ngx_http_perl_module and perl 
1233        supported threads, then during second reconfiguration the error 
1234        messages "panic: MUTEX_LOCK" and "perl_parse() failed" were issued.
1235
1236     *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
1237
1238
1239 Changes with nginx 0.5.22                                        29 May 2007
1240
1241     *) Bugfix: a big request body might not be passed to backend; the bug 
1242        had appeared in 0.5.21.
1243
1244
1245 Changes with nginx 0.5.21                                        28 May 2007
1246
1247     *) Bugfix: if server has more than about ten locations, then regex 
1248        locations might be choosen not in that order as they were specified.
1249
1250     *) Bugfix: a worker process may got caught in an endless loop on 64-bit 
1251        platform, if the 33-rd or next in succession backend has failed.
1252        Thanks to Anton Povarov.
1253
1254     *) Bugfix: a bus error might occur on Solaris/sparc64 if the PCRE 
1255        library was used.
1256        Thanks to Andrei Nigmatulin.
1257
1258     *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
1259
1260
1261 Changes with nginx 0.5.20                                        07 May 2007
1262
1263     *) Feature: the "sendfile_max_chunk" directive.
1264
1265     *) Feature: the "$http_...", "$sent_http_...", and "$upstream_http_..." 
1266        variables may be changed using the "set" directive.
1267
1268     *) Bugfix: a segmentation fault might occur in worker process if the 
1269        SSI command 'if expr="$var = /"' was used.
1270
1271     *) Bugfix: trailing boundary of multipart range response was 
1272        transferred incorrectly.
1273        Thanks to Evan Miller.
1274
1275     *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun 
1276        Studio.
1277        Thanks to Andrei Nigmatulin.
1278
1279     *) Bugfix: the ngx_http_perl_module could not be built by Solaris 
1280        make.
1281        Thanks to Andrei Nigmatulin.
1282
1283
1284 Changes with nginx 0.5.19                                        24 Apr 2007
1285
1286     *) Change: now the $request_time variable has millisecond precision.
1287
1288     *) Change: the method $r->rflush of ngx_http_perl_module was renamed to 
1289        the $r->flush.
1290
1291     *) Feature: the $upstream_addr variable.
1292
1293     *) Feature: the "proxy_headers_hash_max_size" and 
1294        "proxy_headers_hash_bucket_size" directives.
1295        Thanks to Volodymyr Kostyrko.
1296
1297     *) Bugfix: the files more than 2G could not be transferred using 
1298        sendfile and limit_rate on 64-bit platforms.
1299
1300     *) Bugfix: the files more than 2G could not be transferred using 
1301        sendfile on 64-bit Linux.
1302
1303
1304 Changes with nginx 0.5.18                                        19 Apr 2007
1305
1306     *) Feature: the ngx_http_sub_filter_module.
1307
1308     *) Feature: the "$upstream_http_..." variables.
1309
1310     *) Feature: now the $upstream_status and $upstream_response_time 
1311        variables keep data about all upstreams before X-Accel-Redirect.
1312
1313     *) Bugfix: a segmentation fault occurred in master process after first 
1314        reconfiguration and receiving any signal if nginx was built with 
1315        ngx_http_perl_module and perl did not support multiplicity; the bug 
1316        had appeared in 0.5.9.
1317
1318     *) Bugfix: if perl did not support multiplicity, then after 
1319        reconfiguration perl code did not work; the bug had appeared in 
1320        0.3.38.
1321
1322
1323 Changes with nginx 0.5.17                                        02 Apr 2007
1324
1325     *) Change: now nginx always returns the 405 status for the TRACE method.
1326
1327     *) Feature: now nginx supports the "include" directive inside the 
1328        "types" block.
1329
1330     *) Bugfix: the $document_root variable usage in the "root" and "alias" 
1331        directives is disabled: this caused recursive stack overflow.
1332
1333     *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
1334
1335     *) Bugfix: in some cases non-cachable variables (such as $uri variable) 
1336        returned old cached value.
1337
1338
1339 Changes with nginx 0.5.16                                        26 Mar 2007
1340
1341     *) Bugfix: the C-class network was not used as hash key in the 
1342        "ip_hash" directive.
1343        Thanks to Pavel Yarkovoy.
1344
1345     *) Bugfix: a segmentation fault might occur in worker process if a 
1346        charset was set in the "Content-Type" header line and the line has 
1347        trailing ";"; the bug had appeared in 0.3.50.
1348
1349     *) Bugfix: the "[alert] zero size buf" error when FastCGI server was 
1350        used and a request body written in a temporary file was multiple of 
1351        32K.
1352
1353     *) Bugfix: nginx could not be built on Solaris without the --with-debug 
1354        option; the bug had appeared in 0.5.15.
1355
1356
1357 Changes with nginx 0.5.15                                        19 Mar 2007
1358
1359     *) Feature: the mail proxy supports authenticated SMTP proxying and the 
1360        "smtp_auth", "smtp_capablities", and "xclient" directives.
1361        Thanks to Anton Yuzhaninov and Maxim Dounin.
1362
1363     *) Feature: now the keep-alive connections are closed just after 
1364        receiving the reconfiguration signal.
1365
1366     *) Change: the "imap" and "auth" directives were renamed to the "mail" 
1367        and "pop3_auth" directives.
1368
1369     *) Bugfix: a segmentation fault occurred in worker process if the 
1370        CRAM-MD5 authentication method was used and the APOP method was 
1371        disabled.
1372
1373     *) Bugfix: if the "starttls only" directive was used in POP3 protocol, 
1374        then nginx allowed authentication without switching to the SSL mode.
1375
1376     *) Bugfix: worker processes did not exit after reconfiguration and did 
1377        not rotate logs if the eventport method was used.
1378
1379     *) Bugfix: a worker process may got caught in an endless loop, if the 
1380        "ip_hash" directive was used.
1381
1382     *) Bugfix: now nginx does not log some alerts if eventport or /dev/poll 
1383        methods are used.
1384
1385
1386 Changes with nginx 0.5.14                                        23 Feb 2007
1387
1388     *) Bugfix: nginx ignored superfluous closing "}" in the end of 
1389        configuration file.
1390
1391
1392 Changes with nginx 0.5.13                                        19 Feb 2007
1393
1394     *) Feature: the COPY and MOVE methods.
1395
1396     *) Bugfix: the ngx_http_realip_module set garbage for requests passed 
1397        via keep-alive connection.
1398
1399     *) Bugfix: nginx did not work on big-endian 64-bit Linux.
1400        Thanks to Andrei Nigmatulin.
1401
1402     *) Bugfix: now when IMAP/POP3 proxy receives too long command it closes 
1403        the connection right away, but not after timeout.
1404
1405     *) Bugfix: if the "epoll" method was used and a client closed a 
1406        connection prematurely, then nginx closed the connection after a 
1407        send timeout only.
1408
1409     *) Bugfix: nginx could not be built on platforms different from i386, 
1410        amd64, sparc, and ppc; the bug had appeared in 0.5.8.
1411
1412
1413 Changes with nginx 0.5.12                                        12 Feb 2007
1414
1415     *) Bugfix: nginx could not be built on platforms different from i386, 
1416        amd64, sparc, and ppc; the bug had appeared in 0.5.8.
1417
1418     *) Bugfix: a segmentation fault might occur in worker process if the 
1419        temporarily files were used while working with FastCGI server; the 
1420        bug had appeared in 0.5.8.
1421
1422     *) Bugfix: a segmentation fault might occur in worker process if the 
1423        $fastcgi_script_name variable was logged.
1424
1425     *) Bugfix: ngx_http_perl_module could not be built on Solaris.
1426
1427
1428 Changes with nginx 0.5.11                                        05 Feb 2007
1429
1430     *) Feature: now configure detects system PCRE library in MacPorts.
1431        Thanks to Chris McGrath.
1432
1433     *) Bugfix: the response was incorrect if several ranges were requested; 
1434        the bug had appeared in 0.5.6.
1435
1436     *) Bugfix: the "create_full_put_path" directive could not create the 
1437        intermediate directories if no "dav_access" directive was set.
1438        Thanks to Evan Miller.
1439
1440     *) Bugfix: the "0" response code might be logged in the access_log 
1441        instead of the "400" and "408" error codes.
1442
1443     *) Bugfix: a segmentation fault might occur in worker process if nginx 
1444        was built with -O2 optimization.
1445
1446
1447 Changes with nginx 0.5.10                                        26 Jan 2007
1448
1449     *) Bugfix: while online executable file upgrade the new master process 
1450        did not inherit the listening sockets; the bug had appeared in 0.5.9.
1451
1452     *) Bugfix: a segmentation fault might occur in worker process if nginx 
1453        was built with -O2 optimization; the bug had appeared in 0.5.1.
1454
1455
1456 Changes with nginx 0.5.9                                         25 Jan 2007
1457
1458     *) Change: now the ngx_http_memcached_module uses the $memcached_key 
1459        variable value as a key.
1460
1461     *) Feature: the $memcached_key variable.
1462
1463     *) Feature: the "clean" parameter in the "client_body_in_file_only" 
1464        directive.
1465
1466     *) Feature: the "env" directive.
1467
1468     *) Feature: the "sendfile" directive is available inside the "if" block.
1469
1470     *) Feature: now on failure of the writing to access nginx logs a 
1471        message to error_log, but not more often than once a minute.
1472
1473     *) Bugfix: the "access_log off" directive did not always turn off the 
1474        logging.
1475
1476
1477 Changes with nginx 0.5.8                                         19 Jan 2007
1478
1479     *) Bugfix: a segmentation fault might occur if 
1480        "client_body_in_file_only on" was used and a request body was small.
1481
1482     *) Bugfix: a segmentation fault occurred if 
1483        "client_body_in_file_only on" and "proxy_pass_request_body off" or 
1484        "fastcgi_pass_request_body off" directives were used, and nginx 
1485        switched to a next upstream.
1486
1487     *) Bugfix: if the "proxy_buffering off" directive was used and a client 
1488        connection was non-active, then the connection was closed after send 
1489        timeout; the bug had appeared in 0.4.7.
1490
1491     *) Bugfix: if the "epoll" method was used and a client closed a 
1492        connection prematurely, then nginx closed the connection after a 
1493        send timeout only.
1494
1495     *) Bugfix: the "[alert] zero size buf" error when FastCGI server was 
1496        used.
1497
1498     *) Bugfixes in the "limit_zone" directive.
1499
1500
1501 Changes with nginx 0.5.7                                         15 Jan 2007
1502
1503     *) Feature: the ssl_session_cache storage optimization.
1504
1505     *) Bugfixes in the "ssl_session_cache" and "limit_zone" directives.
1506
1507     *) Bugfix: the segmentation fault was occurred on start or while 
1508        reconfiguration if the "ssl_session_cache" or "limit_zone" 
1509        directives were used on 64-bit platforms.
1510
1511     *) Bugfix: a segmentation fault occurred if the "add_before_body" or 
1512        "add_after_body" directives were used and there was no 
1513        "Content-Type" header line in response.
1514
1515     *) Bugfix: the OpenSSL library was always built with the threads 
1516        support.
1517        Thanks to Den Ivanov.
1518
1519     *) Bugfix: the PCRE-6.5+ library and the icc compiler compatibility.
1520
1521
1522 Changes with nginx 0.5.6                                         09 Jan 2007
1523
1524     *) Change: now the ngx_http_index_module ignores all methods except the 
1525        GET, HEAD, and POST methods.
1526
1527     *) Feature: the ngx_http_limit_zone_module.
1528
1529     *) Feature: the $binary_remote_addr variable.
1530
1531     *) Feature: the "ssl_session_cache" directives of the 
1532        ngx_http_ssl_module and ngx_imap_ssl_module.
1533
1534     *) Feature: the DELETE method supports recursive removal.
1535
1536     *) Bugfix: the byte-ranges were transferred incorrectly if the 
1537        $r->sendfile() was used.
1538
1539
1540 Changes with nginx 0.5.5                                         24 Dec 2006
1541
1542     *) Change: the -v switch does not show compiler information any more.
1543
1544     *) Feature: the -V switch.
1545
1546     *) Feature: the "worker_rlimit_core" directive supports size in K, M, 
1547        and G.
1548
1549     *) Bugfix: the nginx.pm module now could be installed by an 
1550        unprivileged user.
1551
1552     *) Bugfix: a segmentation fault might occur if the $r->request_body or 
1553        $r->request_body_file methods were used.
1554
1555     *) Bugfix: the ppc platform specific bugs.
1556
1557
1558 Changes with nginx 0.5.4                                         15 Dec 2006
1559
1560     *) Feature: the "perl" directive may be used inside the "limit_except" 
1561        block.
1562
1563     *) Bugfix: the ngx_http_dav_module required the "Date" request header 
1564        line for the DELETE method.
1565
1566     *) Bugfix: if one only parameter was used in the "dav_access" 
1567        directive, then nginx might report about configuration error.
1568
1569     *) Bugfix: a segmentation fault might occur if the $host variable was 
1570        used; the bug had appeared in 0.4.14.
1571
1572
1573 Changes with nginx 0.5.3                                         13 Dec 2006
1574
1575     *) Feature: the ngx_http_perl_module supports the $r->status, 
1576        $r->log_error, and $r->sleep methods.
1577
1578     *) Feature: the $r->variable method supports variables that do not 
1579        exist in nginx configuration.
1580
1581     *) Bugfix: the $r->has_request_body method did not work.
1582
1583
1584 Changes with nginx 0.5.2                                         11 Dec 2006
1585
1586     *) Bugfix: if the "proxy_pass" directive used the name of the 
1587        "upstream" block, then nginx tried to resolve the name; the bug had 
1588        appeared in 0.5.1.
1589
1590
1591 Changes with nginx 0.5.1                                         11 Dec 2006
1592
1593     *) Bugfix: the "post_action" directive might not run after a 
1594        unsuccessful completion of a request.
1595
1596     *) Workaround: for Eudora for Mac; the bug had appeared in 0.4.11.
1597        Thanks to Bron Gondwana.
1598
1599     *) Bugfix: if the "upstream" name was used in the "fastcgi_pass", then 
1600        the message "no port in upstream" was issued; the bug had appeared 
1601        in 0.5.0.
1602
1603     *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the 
1604        same servers but different ports, then these directives uses the 
1605        first described port; the bug had appeared in 0.5.0.
1606
1607     *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the 
1608        unix domain sockets, then these directives used first described 
1609        socket; the bug had appeared in 0.5.0.
1610
1611     *) Bugfix: ngx_http_auth_basic_module ignored the user if it was in the 
1612        last line in the password file and there was no the carriage return, 
1613        the line feed, or the ":" symbol after the password.
1614
1615     *) Bugfix: the $upstream_response_time variable might be equal to 
1616        "0.000", although response time was more than 1 millisecond.
1617
1618
1619 Changes with nginx 0.5.0                                         04 Dec 2006
1620
1621     *) Change: the parameters in the "%name" form in the "log_format" 
1622        directive are not supported anymore.
1623
1624     *) Change: the "proxy_upstream_max_fails", 
1625        "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", 
1626        "fastcgi_upstream_fail_timeout", "memcached_upstream_max_fails", and 
1627        "memcached_upstream_fail_timeout" directives are not supported 
1628        anymore.
1629
1630     *) Feature: the "server" directive in the "upstream" context supports 
1631        the "max_fails", "fail_timeout", and "down" parameters.
1632
1633     *) Feature: the "ip_hash" directive inside the "upstream" block.
1634
1635     *) Feature: the WAIT status in the "Auth-Status" header line of the 
1636        IMAP/POP3 proxy authentication server response.
1637
1638     *) Bugfix: nginx could not be built on 64-bit platforms; the bug had 
1639        appeared in 0.4.14.
1640
1641
1642 Changes with nginx 0.4.14                                        27 Nov 2006
1643
1644     *) Feature: the "proxy_pass_error_message" directive in IMAP/POP3 proxy.
1645
1646     *) Feature: now configure detects system PCRE library on FreeBSD, 
1647        Linux, and NetBSD.
1648
1649     *) Bugfix: ngx_http_perl_module did not work with perl built with the 
1650        threads support; the bug had appeared in 0.3.38.
1651
1652     *) Bugfix: ngx_http_perl_module did not work if perl was called 
1653        recursively.
1654
1655     *) Bugfix: nginx ignored a host name in a request line.
1656
1657     *) Bugfix: a worker process may got caught in an endless loop, if a 
1658        FastCGI server sent too many data to the stderr.
1659
1660     *) Bugfix: the $upstream_response_time variable may be negative if the 
1661        system time was changed backward.
1662
1663     *) Bugfix: the "Auth-Login-Attempt" parameter was not sent to IMAP/POP3 
1664        proxy authentication server when POP3 was used.
1665
1666     *) Bugfix: a segmentation fault might occur if connect to IMAP/POP3 
1667        proxy authentication server failed.
1668
1669
1670 Changes with nginx 0.4.13                                        15 Nov 2006
1671
1672     *) Feature: the "proxy_pass" directive may be used inside the 
1673        "limit_except" block.
1674
1675     *) Feature: the "limit_except" directive supports all WebDAV methods.
1676
1677     *) Bugfix: if the "add_before_body" directive was used without the 
1678        "add_after_body" directive, then a response did not transferred 
1679        complete.
1680
1681     *) Bugfix: a large request body did not receive if the epoll method and 
1682        the deferred accept() were used.
1683
1684     *) Bugfix: a charset could not be set for ngx_http_autoindex_module 
1685        responses; the bug had appeared in 0.3.50.
1686
1687     *) Bugfix: the "[alert] zero size buf" error when FastCGI server was 
1688        used;
1689
1690     *) Bugfix: the --group= configuration parameter was ignored.
1691        Thanks to Thomas Moschny.
1692
1693     *) Bugfix: the 50th subrequest in SSI response did not work; the bug 
1694        had appeared in 0.3.50.
1695
1696
1697 Changes with nginx 0.4.12                                        31 Oct 2006
1698
1699     *) Feature: the ngx_http_perl_module supports the $r->variable method.
1700
1701     *) Bugfix: if a big static file was included using SSI in a response, 
1702        then the response may be transferred incomplete.
1703
1704     *) Bugfix: nginx did not omit the "#fragment" part in URI.
1705
1706
1707 Changes with nginx 0.4.11                                        25 Oct 2006
1708
1709     *) Feature: the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5.
1710
1711     *) Feature: the ngx_http_perl_module supports the $r->allow_ranges 
1712        method.
1713
1714     *) Bugfix: if the APOP was enabled in the POP3 proxy, then the 
1715        USER/PASS commands might not work; the bug had appeared in 0.4.10.
1716
1717
1718 Changes with nginx 0.4.10                                        23 Oct 2006
1719
1720     *) Feature: the POP3 proxy supports the APOP command.
1721
1722     *) Bugfix: if the select, poll or /dev/poll methods were used, then 
1723        while waiting authentication server response the IMAP/POP3 proxy 
1724        hogged CPU.
1725
1726     *) Bugfix: a segmentation fault might occur if the $server_addr 
1727        variable was used in the "map" directive.
1728
1729     *) Bugfix: the ngx_http_flv_module did not support the byte ranges for 
1730        full responses; the bug had appeared in 0.4.7.
1731
1732     *) Bugfix: nginx could not be built on Debian amd64; the bug had 
1733        appeared in 0.4.9.
1734
1735
1736 Changes with nginx 0.4.9                                         13 Oct 2006
1737
1738     *) Feature: the "set" parameter in the "include" SSI command.
1739
1740     *) Feature: the ngx_http_perl_module now tests the nginx.pm module 
1741        version.
1742
1743
1744 Changes with nginx 0.4.8                                         11 Oct 2006
1745
1746     *) Bugfix: if an "include" SSI command were before another "include" 
1747        SSI command with a "wait" parameter, then the "wait" parameter might 
1748        not work.
1749
1750     *) Bugfix: the ngx_http_flv_module added the FLV header to the full 
1751        responses.
1752        Thanks to Alexey Kovyrin.
1753
1754
1755 Changes with nginx 0.4.7                                         10 Oct 2006
1756
1757     *) Feature: the ngx_http_flv_module.
1758
1759     *) Feature: the $request_body_file variable.
1760
1761     *) Feature: the "charset" and "source_charset" directives support the 
1762        variables.
1763
1764     *) Bugfix: if an "include" SSI command were before another "include" 
1765        SSI command with a "wait" parameter, then the "wait" parameter might 
1766        not work.
1767
1768     *) Bugfix: if the "proxy_buffering off" directive was used or while 
1769        working with memcached the connections might not be closed on 
1770        timeout.
1771
1772     *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64, 
1773        and ppc64.
1774
1775
1776 Changes with nginx 0.4.6                                         06 Oct 2006
1777
1778     *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64, 
1779        and ppc64.
1780
1781     *) Bugfix: nginx sent the chunked response for HTTP/1.1 request,
1782        if its length was set by text string in the 
1783        $r->headers_out("Content-Length", ...) method.
1784
1785     *) Bugfix: after redirecting error by an "error_page" directive any 
1786        ngx_http_rewrite_module directive returned this error code; the bug 
1787        had appeared in 0.4.4.
1788
1789
1790 Changes with nginx 0.4.5                                         02 Oct 2006
1791
1792     *) Bugfix: nginx could not be built on Linux and Solaris; the bug had 
1793        appeared in 0.4.4.
1794
1795
1796 Changes with nginx 0.4.4                                         02 Oct 2006
1797
1798     *) Feature: the $scheme variable.
1799
1800     *) Feature: the "expires" directive supports the "max" parameter.
1801
1802     *) Feature: the "include" directive supports the "*" mask.
1803        Thanks to Jonathan Dance.
1804
1805     *) Bugfix: the "return" directive always overrode the "error_page" 
1806        response code redirected by the "error_page" directive.
1807
1808     *) Bugfix: a segmentation fault occurred if zero-length body was in PUT 
1809        method.
1810
1811     *) Bugfix: the redirect was changed incorrectly if the variables were 
1812        used in the "proxy_redirect" directive.
1813
1814
1815 Changes with nginx 0.4.3                                         26 Sep 2006
1816
1817     *) Change: now the 499 error could not be redirected using an 
1818        "error_page" directive.
1819
1820     *) Feature: the Solaris 10 event ports support.
1821
1822     *) Feature: the ngx_http_browser_module.
1823
1824     *) Bugfix: a segmentation fault may occur while redirecting the 400 
1825        error to the proxied server using a "proxy_pass" directive.
1826
1827     *) Bugfix: a segmentation fault occurred if an unix domain socket was 
1828        used in a "proxy_pass" directive; the bug had appeared in 0.3.47.
1829
1830     *) Bugfix: SSI did work with memcached and nonbuffered responses.
1831
1832     *) Workaround: of the Sun Studio PAUSE hardware capability bug.
1833
1834
1835 Changes with nginx 0.4.2                                         14 Sep 2006
1836
1837     *) Bugfix: the O_NOATIME flag support on Linux was canceled; the bug 
1838        had appeared in 0.4.1.
1839
1840
1841 Changes with nginx 0.4.1                                         14 Sep 2006
1842
1843     *) Bugfix: the DragonFlyBSD compatibility.
1844        Thanks to Pavel Nazarov.
1845
1846     *) Workaround: of bug in 64-bit Linux sendfile(), when file is more 
1847        than 2G.
1848
1849     *) Feature: now on Linux nginx uses O_NOATIME flag for static 
1850        requests.
1851        Thanks to Yusuf Goolamabbas.
1852
1853
1854 Changes with nginx 0.4.0                                         30 Aug 2006
1855
1856     *) Change in internal API: the HTTP modules initialization was moved 
1857        from the init module phase to the HTTP postconfiguration phase.
1858
1859     *) Change: now the request body is not read beforehand for the 
1860        ngx_http_perl_module: it's required to start the reading using the 
1861        $r->has_request_body method.
1862
1863     *) Feature: the ngx_http_perl_module supports the DECLINED return code.
1864
1865     *) Feature: the ngx_http_dav_module supports the incoming "Date" header 
1866        line for the PUT method.
1867
1868     *) Feature: the "ssi" directive is available inside the "if" block.
1869
1870     *) Bugfix: a segmentation fault occurred if there was an "index" 
1871        directive with variables and the first index name was without 
1872        variables; the bug had appeared in 0.1.29.
1873
1874
1875 Changes with nginx 0.3.61                                        28 Aug 2006
1876
1877     *) Change: now the "tcp_nodelay" directive is turned on by default.
1878
1879     *) Feature: the "msie_refresh" directive.
1880
1881     *) Feature: the "recursive_error_pages" directive.
1882
1883     *) Bugfix: the "rewrite" directive returned incorrect redirect, if the 
1884        redirect had the captured escaped symbols from original URI.
1885
1886
1887 Changes with nginx 0.3.60                                        18 Aug 2006
1888
1889     *) Bugfix: a worker process may got caught in an endless loop while an 
1890        error redirection; the bug had appeared in 0.3.59.
1891
1892
1893 Changes with nginx 0.3.59                                        16 Aug 2006
1894
1895     *) Feature: now is possible to do several redirection using the 
1896        "error_page" directive.
1897
1898     *) Bugfix: the "dav_access" directive did not support three parameters.
1899
1900     *) Bugfix: the "error_page" directive did not changes the 
1901        "Content-Type" header line after the "X-Accel-Redirect" was used; 
1902        the bug had appeared in 0.3.58.
1903
1904
1905 Changes with nginx 0.3.58                                        14 Aug 2006
1906
1907     *) Feature: the "error_page" directive supports the variables.
1908
1909     *) Change: now the procfs interface instead of sysctl is used on Linux.
1910
1911     *) Change: now the "Content-Type" header line is inherited from first 
1912        response when the "X-Accel-Redirect" was used.
1913
1914     *) Bugfix: the "error_page" directive did not redirect the 413 error.
1915
1916     *) Bugfix: the trailing "?" did not remove old arguments if no new 
1917        arguments were added to a rewritten URI.
1918
1919     *) Bugfix: nginx could not run on 64-bit FreeBSD 7.0-CURRENT.
1920
1921
1922 Changes with nginx 0.3.57                                        09 Aug 2006
1923
1924     *) Feature: the $ssl_client_serial variable.
1925
1926     *) Bugfix: in the "!-e" operator of the "if" directive.
1927        Thanks to Andrian Budanstov.
1928
1929     *) Bugfix: while a client certificate verification nginx did not send 
1930        to a client the required certificates information.
1931
1932     *) Bugfix: the $document_root variable did not support the variables in 
1933        the "root" directive.
1934
1935
1936 Changes with nginx 0.3.56                                        04 Aug 2006
1937
1938     *) Feature: the "dav_access" directive.
1939
1940     *) Feature: the "if" directive supports the "-d", "!-d", "-e", "!-e", 
1941        "-x", and "!-x" operators.
1942
1943     *) Bugfix: a segmentation fault occurred if a request returned a 
1944        redirect and some sent to client header lines were logged in the 
1945        access log.
1946
1947
1948 Changes with nginx 0.3.55                                        28 Jul 2006
1949
1950     *) Feature: the "stub" parameter in the "include" SSI command.
1951
1952     *) Feature: the "block" SSI command.
1953
1954     *) Feature: the unicode2nginx script was added to contrib.
1955
1956     *) Bugfix: if a "root" was specified by variable only, then the root 
1957        was relative to a server prefix.
1958
1959     *) Bugfix: if the request contained "//" or "/./" and escaped symbols 
1960        after them, then the proxied request was sent unescaped.
1961
1962     *) Bugfix: the $r->header_in("Cookie") of the ngx_http_perl_module now 
1963        returns all "Cookie" header lines.
1964
1965     *) Bugfix: a segmentation fault occurred if 
1966        "client_body_in_file_only on" was used and nginx switched to a next 
1967        upstream.
1968
1969     *) Bugfix: on some condition while reconfiguration character codes 
1970        inside the "charset_map" may be treated invalid; the bug had 
1971        appeared in 0.3.50.
1972
1973
1974 Changes with nginx 0.3.54                                        11 Jul 2006
1975
1976     *) Feature: nginx now logs the subrequest information to the error log.
1977
1978     *) Feature: the "proxy_next_upstream", "fastcgi_next_upstream", and 
1979        "memcached_next_upstream" directives support the "off" parameter.
1980
1981     *) Feature: the "debug_connection" directive supports the CIDR address 
1982        form.
1983
1984     *) Bugfix: if a response of proxied server or FastCGI server was 
1985        converted from UTF-8 or back, then it may be transferred incomplete.
1986
1987     *) Bugfix: the $upstream_response_time variable had the time of the 
1988        first request to a backend only.
1989
1990     *) Bugfix: nginx could not be built on amd64 platform; the bug had 
1991        appeared in 0.3.53.
1992
1993
1994 Changes with nginx 0.3.53                                        07 Jul 2006
1995
1996     *) Change: the "add_header" directive adds the string to 204, 301, and 
1997        302 responses.
1998
1999     *) Feature: the "server" directive in the "upstream" context supports 
2000        the "weight" parameter.
2001
2002     *) Feature: the "server_name" directive supports the "*" wildcard.
2003
2004     *) Feature: nginx supports the request body size more than 2G.
2005
2006     *) Bugfix: if a client was successfully authorized using "satisfy_any 
2007        on", then anyway the message "access forbidden by rule" was written 
2008        in the log.
2009
2010     *) Bugfix: the "PUT" method may erroneously not create a file and 
2011        return the 409 code.
2012
2013     *) Bugfix: if the IMAP/POP3 backend returned an error, then nginx 
2014        continued proxying anyway.
2015
2016
2017 Changes with nginx 0.3.52                                        03 Jul 2006
2018
2019     *) Change: the ngx_http_index_module behavior for the "POST /" requests 
2020        is reverted to the 0.3.40 version state: the module now does not 
2021        return the 405 error.
2022
2023     *) Bugfix: the worker process may got caught in an endless loop if the 
2024        limit rate was used; the bug had appeared in 0.3.37.
2025
2026     *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even 
2027        if the recoding was not needed; the bug had appeared in 0.3.50.
2028
2029     *) Bugfix: if a code response of the PUT request was 409, then a 
2030        temporary file was not removed.
2031
2032
2033 Changes with nginx 0.3.51                                        30 Jun 2006
2034
2035     *) Bugfix: the "<" symbols might disappeared some conditions in the 
2036        SSI; the bug had appeared in 0.3.50.
2037
2038
2039 Changes with nginx 0.3.50                                        28 Jun 2006
2040
2041     *) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors" 
2042        directives was renamed to the "proxy_intercept_errors" and 
2043        "fastcgi_intercept_errors" directives.
2044
2045     *) Feature: the ngx_http_charset_module supports the recoding from the 
2046        single byte encodings to the UTF-8 encoding and back.
2047
2048     *) Feature: the "X-Accel-Charset" response header line is supported in 
2049        proxy and FastCGI mode.
2050
2051     *) Bugfix: the "\" escape symbol in the "\"" and "\'" pairs in the SSI 
2052        command was removed only if the command also has the "$" symbol.
2053
2054     *) Bugfix: the "<!--" string might be added on some conditions in the 
2055        SSI after inclusion.
2056
2057     *) Bugfix: if the "Content-Length: 0" header line was in response, then 
2058        in nonbuffered proxying mode the client connection was not closed.
2059
2060
2061 Changes with nginx 0.3.49                                        31 May 2006
2062
2063     *) Bugfix: in the "set" directive.
2064
2065     *) Bugfix: if two or more FastCGI subrequests was in SSI, then first 
2066        subrequest output was included instead of second and following 
2067        subrequests.
2068
2069
2070 Changes with nginx 0.3.48                                        29 May 2006
2071
2072     *) Change: now the ngx_http_charset_module works for subrequests, if 
2073        the response has no "Content-Type" header line.
2074
2075     *) Bugfix: if the "proxy_pass" directive has no URI part, then the 
2076        "proxy_redirect default" directive add the unnecessary slash in 
2077        start of the rewritten redirect.
2078
2079     *) Bugfix: the internal redirect always transform client's HTTP method 
2080        to GET, now the transformation is made for the "X-Accel-Redirect" 
2081        redirects only and if the method is not HEAD; the bug had appeared 
2082        in 0.3.42.
2083
2084     *) Bugfix: the ngx_http_perl_module could not be built, if the perl was 
2085        built with the threads support; the bug had appeared in 0.3.46.
2086
2087
2088 Changes with nginx 0.3.47                                        23 May 2006
2089
2090     *) Feature: the "upstream" directive.
2091
2092     *) Change: now the "\" escape symbol in the "\"" and "\'" pairs in the 
2093        SSI command is always removed.
2094
2095
2096 Changes with nginx 0.3.46                                        11 May 2006
2097
2098     *) Feature: the "proxy_hide_header", "proxy_pass_header", 
2099        "fastcgi_hide_header", and "fastcgi_pass_header" directives.
2100
2101     *) Change: the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and 
2102        "proxy_pass_server" directives were canceled.
2103
2104     *) Feature: the "X-Accel-Buffering" response header line is supported 
2105        in proxy mode.
2106
2107     *) Bugfix: the reconfiguration bug and memory leaks in the 
2108        ngx_http_perl_module.
2109
2110
2111 Changes with nginx 0.3.45                                        06 May 2006
2112
2113     *) Feature: the "ssl_verify_client", "ssl_verify_depth", and 
2114        "ssl_client_certificate" directives.
2115
2116     *) Change: the $request_method variable now returns the main request 
2117        method.
2118
2119     *) Change: the &deg; symbol codes were changed in koi-win conversion 
2120        table.
2121
2122     *) Feature: the euro and N symbols were added to koi-win conversion 
2123        table.
2124
2125     *) Bugfix: if nginx distributed the requests among several backends and 
2126        some backend failed, then requests intended for this backend was 
2127        directed to one live backend only instead of being distributed among 
2128        the rest.
2129
2130
2131 Changes with nginx 0.3.44                                        04 May 2006
2132
2133     *) Feature: the "wait" parameter in the "include" SSI command.
2134
2135     *) Feature: the Ukrainian and Byelorussian characters were added to 
2136        koi-win conversion table.
2137
2138     *) Bugfix: in the SSI.
2139
2140
2141 Changes with nginx 0.3.43                                        26 Apr 2006
2142
2143     *) Bugfix: in the SSI.
2144
2145
2146 Changes with nginx 0.3.42                                        26 Apr 2006
2147
2148     *) Feature: the "bind" option of the "listen" directive in IMAP/POP3 
2149        proxy.
2150
2151     *) Bugfix: if the same capture in the "rewrite" directive was used more 
2152        then once.
2153
2154     *) Bugfix: the $sent_http_content_type, $sent_http_content_length, 
2155        $sent_http_last_modified, $sent_http_connection, 
2156        $sent_http_keep_alive, and $sent_http_transfer_encoding variables 
2157        were not written to access log.
2158
2159     *) Bugfix: the $sent_http_cache_control returned value of the single 
2160        "Cache-Control" response header line.
2161
2162
2163 Changes with nginx 0.3.41                                        21 Apr 2006
2164
2165     *) Feature: the -v switch.
2166
2167     *) Bugfix: the segmentation fault may occurred if the SSI page has 
2168        remote subrequests.
2169
2170     *) Bugfix: in FastCGI handling.
2171
2172     *) Bugfix: if the perl modules path was not set using 
2173        --with-perl_modules_path=PATH or the "perl_modules", then the 
2174        segmentation fault was occurred.
2175
2176
2177 Changes with nginx 0.3.40                                        19 Apr 2006
2178
2179     *) Feature: the ngx_http_dav_module supports the MKCOL method.
2180
2181     *) Feature: the "create_full_put_path" directive.
2182
2183     *) Feature: the "$limit_rate" variable.
2184
2185
2186 Changes with nginx 0.3.39                                        17 Apr 2006
2187
2188     *) Feature: the "uninitialized_variable_warn" directive; the logging 
2189        level of the "uninitialized variable" message was lowered from 
2190        "alert" to "warn".
2191
2192     *) Feature: the "override_charset" directive.
2193
2194     *) Change: now if the unknown variable is used in the "echo" and "if 
2195        expr='$name'" SSI-commands, then the "unknown variable" message is 
2196        not logged.
2197
2198     *) Bugfix: the active connection counter increased on the exceeding of 
2199        the connection limit specified by the "worker_connections" 
2200        directive; the bug had appeared in 0.2.0.
2201
2202     *) Bugfix: the limit rate might not work on some condition; the bug had 
2203        appeared in 0.3.38.
2204
2205
2206 Changes with nginx 0.3.38                                        14 Apr 2006
2207
2208     *) Feature: the ngx_http_dav_module.
2209
2210     *) Change: the ngx_http_perl_module optimizations.
2211        Thanks to Sergey Skvortsov.
2212
2213     *) Feature: the ngx_http_perl_module supports the $r->request_body_file 
2214        method.
2215
2216     *) Feature: the "client_body_in_file_only" directive.
2217
2218     *) Workaround: now on disk overflow nginx tries to write access logs 
2219        once a second only.
2220        Thanks to Anton Yuzhaninov and Maxim Dounin.
2221
2222     *) Bugfix: now the "limit_rate" directive more precisely limits rate if 
2223        rate is more than 100 Kbyte/s.
2224        Thanks to ForJest.
2225
2226     *) Bugfix: now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in 
2227        login and password to pass authorization server.
2228        Thanks to Maxim Dounin.
2229
2230
2231 Changes with nginx 0.3.37                                        07 Apr 2006
2232
2233     *) Feature: the "limit_except" directive.
2234
2235     *) Feature: the "if" directive supports the "!~", "!~*", "-f", and 
2236        "!-f" operators.
2237
2238     *) Feature: the ngx_http_perl_module supports the $r->request_body 
2239        method.
2240
2241     *) Bugfix: in the ngx_http_addition_filter_module.
2242
2243
2244 Changes with nginx 0.3.36                                        05 Apr 2006
2245
2246     *) Feature: the ngx_http_addition_filter_module.
2247
2248     *) Feature: the "proxy_pass" and "fastcgi_pass" directives may be used 
2249        inside the "if" block.
2250
2251     *) Feature: the "proxy_ignore_client_abort" and 
2252        "fastcgi_ignore_client_abort" directives.
2253
2254     *) Feature: the "$request_completion" variable.
2255
2256     *) Feature: the ngx_http_perl_module supports the $r->request_method 
2257        and $r->remote_addr.
2258
2259     *) Feature: the ngx_http_ssi_module supports the "elif" command.
2260
2261     *) Bugfix: the "\/" string in the expression of the "if" command of the 
2262        ngx_http_ssi_module was treated incorrectly.
2263
2264     *) Bugfix: in the regular expressions in the "if" command of the 
2265        ngx_http_ssi_module.
2266
2267     *) Bugfix: if the relative path was specified in the 
2268        "client_body_temp_path", "proxy_temp_path", "fastcgi_temp_path", and 
2269        "perl_modules" directives, then the directory was used relatively to 
2270        a current path but not to a server prefix.
2271
2272
2273 Changes with nginx 0.3.35                                        22 Mar 2006
2274
2275     *) Bugfix: the accept-filter and the TCP_DEFER_ACCEPT option were set 
2276        for first "listen" directive only; the bug had appeared in 0.3.31.
2277
2278     *) Bugfix: in the "proxy_pass" directive without the URI part in a 
2279        subrequest.
2280
2281
2282 Changes with nginx 0.3.34                                        21 Mar 2006
2283
2284     *) Feature: the "add_header" directive supports the variables.
2285
2286
2287 Changes with nginx 0.3.33                                        15 Mar 2006
2288
2289     *) Feature: the "http_503" parameter of the "proxy_next_upstream" or 
2290        "fastcgi_next_upstream" directives.
2291
2292     *) Bugfix: ngx_http_perl_module did not work with inlined in the 
2293        configuration code, if it was not started with the "sub" word.
2294
2295     *) Bugfix: in the "post_action" directive.
2296
2297
2298 Changes with nginx 0.3.32                                        11 Mar 2006
2299
2300     *) Bugfix: the debug logging on startup and reconfiguration time was 
2301        removed; the bug had appeared in 0.3.31.
2302
2303
2304 Changes with nginx 0.3.31                                        10 Mar 2006
2305
2306     *) Change: now nginx passes the malformed proxied backend responses.
2307
2308     *) Feature: the "listen" directives support the address in the "*:port" 
2309        form.
2310
2311     *) Feature: the EVFILER_TIMER support in MacOSX 10.4.
2312
2313     *) Workaround: for MacOSX 64-bit kernel kqueue millisecond timeout 
2314        bug.
2315        Thanks to Andrei Nigmatulin.
2316
2317     *) Bugfix: if there were several "listen" directives listening one 
2318        various addresses inside one server, then server names like 
2319        "*.domain.tld" worked for first address only; the bug had appeared 
2320        in 0.3.18.
2321
2322     *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive 
2323        and the request body was in temporarily file then the request was 
2324        not transferred.
2325
2326     *) Bugfix: perl 5.8.8 compatibility.
2327
2328
2329 Changes with nginx 0.3.30                                        22 Feb 2006
2330
2331     *) Change: the ECONNABORTED error log level was changed to "error" from 
2332        "crit".
2333
2334     *) Bugfix: the ngx_http_perl_module could not be build without the 
2335        ngx_http_ssi_filter_module.
2336
2337     *) Bugfix: nginx could not be built on i386 platform, if the PIC was 
2338        used; the bug had appeared in 0.3.27.
2339
2340
2341 Changes with nginx 0.3.29                                        20 Feb 2006
2342
2343     *) Feature: now nginx uses less memory, if PHP in FastCGI mode sends 
2344        many warnings before the response.
2345
2346     *) Bugfix: the "Transfer-Encoding: chunked" header line was issued in 
2347        the 204 responses for the HTTP/1.1 requests.
2348
2349     *) Bugfix: nginx returned the 502 response, if the complete response 
2350        header lines were transferred in a separate FastCGI records.
2351
2352     *) Bugfix: if the proxied URI was specified in the "post_action" 
2353        directive, then it ran only after a successful completion of a 
2354        request.
2355
2356
2357 Changes with nginx 0.3.28                                        16 Feb 2006
2358
2359     *) Feature: the "restrict_host_names" directive was canceled.
2360
2361     *) Feature: the --with-cpu-opt=ppc64 configuration parameter.
2362
2363     *) Bugfix: on some condition the proxied connection with a client was 
2364        terminated prematurely.
2365        Thanks to Vladimir Shutoff.
2366
2367     *) Bugfix: the "X-Accel-Limit-Rate" header line was not taken into 
2368        account if the request was redirected using the "X-Accel-Redirect" 
2369        header line.
2370
2371     *) Bugfix: the "post_action" directive ran only after a successful 
2372        completion of a request.
2373
2374     *) Bugfix: the proxied response body generated by the "post_action" 
2375        directive was transferred to a client.
2376
2377
2378 Changes with nginx 0.3.27                                        08 Feb 2006
2379
2380     *) Change: the "variables_hash_max_size" and 
2381        "variables_hash_bucket_size" directives.
2382
2383     *) Feature: the $body_bytes_sent variable can be used not only in the 
2384        "log_format" directive.
2385
2386     *) Feature: the $ssl_protocol and $ssl_cipher variables.
2387
2388     *) Feature: the cache line size detection for widespread CPUs at start 
2389        time.
2390
2391     *) Feature: now the "accept_mutex" directive is supported using 
2392        fcntl(2) on platforms different from i386, amd64, sparc64, and ppc.
2393
2394     *) Feature: the "lock_file" directive and the --with-lock-path=PATH 
2395        autoconfiguration directive.
2396
2397     *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive 
2398        then the requests with the body was not transferred.
2399
2400
2401 Changes with nginx 0.3.26                                        03 Feb 2006
2402
2403     *) Change: the "optimize_host_names" directive was renamed to the 
2404        "optimize_server_names".
2405
2406     *) Bugfix: if in the "proxy_pass" directive was no the URI part, then 
2407        the main request URI was transferred to a backend while proxying the 
2408        SSI subrequest.
2409
2410
2411 Changes with nginx 0.3.25                                        01 Feb 2006
2412
2413     *) Bugfix: the segmentation fault was occurred on start or while 
2414        reconfiguration if there was invalid configuration; the bug had 
2415        appeared in 0.3.24.
2416
2417
2418 Changes with nginx 0.3.24                                        01 Feb 2006
2419
2420     *) Workaround: for bug in FreeBSD kqueue.
2421
2422     *) Bugfix: now a response generated by the "post_action" directive is 
2423        not transferred to a client.
2424
2425     *) Bugfix: the memory leaks were occurring if many log files were used.
2426
2427     *) Bugfix: the first "proxy_redirect" directive was working inside one 
2428        location.
2429
2430     *) Bugfix: on 64-bit platforms segmentation fault may occurred on start 
2431        if the many names were used in the "server_name" directives; the bug 
2432        had appeared in 0.3.18.
2433
2434
2435 Changes with nginx 0.3.23                                        24 Jan 2006
2436
2437     *) Feature: the "optimize_host_names" directive.
2438
2439     *) Bugfix: in using of the variables in the "path" and "alias" 
2440        directives.
2441
2442     *) Bugfix: the ngx_http_perl_module was incorrectly built on Linux and 
2443        Solaris.
2444
2445
2446 Changes with nginx 0.3.22                                        17 Jan 2006
2447
2448     *) Feature: the ngx_http_perl_module supports the $r->args and 
2449        $r->unescape methods.
2450
2451     *) Feature: the method $r->query_string of ngx_http_perl_module was 
2452        canceled.
2453
2454     *) Bugfix: segmentation fault was occurred if the "none" or "blocked" 
2455        values was specified in the "valid_referers" directive; the bug had 
2456        appeared in 0.3.18.
2457
2458
2459 Changes with nginx 0.3.21                                        16 Jan 2006
2460
2461     *) Feature: the ngx_http_perl_module.
2462
2463     *) Change: the "valid_referers" directive allows the referreres without 
2464        URI part.
2465
2466
2467 Changes with nginx 0.3.20                                        11 Jan 2006
2468
2469     *) Bugfix: in SSI handling.
2470
2471     *) Bugfix: the ngx_http_memcached_module did not support the keys in 
2472        the "/usr?args" form.
2473
2474
2475 Changes with nginx 0.3.19                                        28 Dec 2005
2476
2477     *) Feature: the "path" and "alias" directives support the variables.
2478
2479     *) Change: now the "valid_referers" directive again checks the URI part.
2480
2481     *) Bugfix: in SSI handling.
2482
2483
2484 Changes with nginx 0.3.18                                        26 Dec 2005
2485
2486     *) Feature: the "server_names" directive supports the ".domain.tld" 
2487        names.
2488
2489     *) Feature: the "server_names" directive uses the hash for the 
2490        "*.domain.tld" names and more effective hash for usual names.
2491
2492     *) Change: the "server_names_hash_max_size" and 
2493        "server_names_hash_bucket_size" directives.
2494
2495     *) Change: the "server_names_hash" and "server_names_hash_threshold" 
2496        directives were canceled.
2497
2498     *) Feature: the "valid_referers" directive uses the hash site names.
2499
2500     *) Change: now the "valid_referers" directive checks the site names 
2501        only without the URI part.
2502
2503     *) Bugfix: some ".domain.tld" names incorrectly processed by the 
2504        ngx_http_map_module.
2505
2506     *) Bugfix: segmentation fault was occurred if configuration file did 
2507        not exist; the bug had appeared in 0.3.12.
2508
2509     *) Bugfix: on 64-bit platforms segmentation fault may occurred on 
2510        start; the bug had appeared in 0.3.16.
2511
2512
2513 Changes with nginx 0.3.17                                        18 Dec 2005
2514
2515     *) Change: now on Linux configure checks the presence of epoll and 
2516        sendfile64() in kernel.
2517
2518     *) Feature: the "map" directive supports domain names in the 
2519        ".domain.tld" form.
2520
2521     *) Bugfix: the timeouts were not used in SSL handshake; the bug had 
2522        appeared in 0.2.4.
2523
2524     *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
2525
2526     *) Bugfix: when the HTTPS protocol was used in the "proxy_pass" 
2527        directive the port 80 was used by default.
2528
2529
2530 Changes with nginx 0.3.16                                        16 Dec 2005
2531
2532     *) Feature: the ngx_http_map_module.
2533
2534     *) Feature: the "types_hash_max_size" and "types_hash_bucket_size" 
2535        directives.
2536
2537     *) Feature: the "ssi_value_length" directive.
2538
2539     *) Feature: the "worker_rlimit_core" directive.
2540
2541     *) Workaround: the connection number in logs was always 1 if nginx was 
2542        built by the icc 8.1 or 9.0 compilers with optimization for 
2543        Pentium 4.
2544
2545     *) Bugfix: the "config timefmt" SSI command set incorrect time format.
2546
2547     *) Bugfix: nginx did not close connection to IMAP/POP3 backend for the 
2548        SSL connections; the bug had appeared in 0.3.13.
2549        Thanks to Rob Mueller.
2550
2551     *) Bugfix: segmentation fault may occurred in at SSL shutdown; the bug 
2552        had appeared in 0.3.13.
2553
2554
2555 Changes with nginx 0.3.15                                        07 Dec 2005
2556
2557     *) Feature: the new 444 code of the "return" directive to close 
2558        connection.
2559
2560     *) Feature: the "so_keepalive" directive in IMAP/POP3 proxy.
2561
2562     *) Bugfix: if there are unclosed connection nginx now calls abort() 
2563        only on gracefull quit and active "debug_points" directive.
2564
2565
2566 Changes with nginx 0.3.14                                        05 Dec 2005
2567
2568     *) Bugfix: in the 304 response the body was transferred; the bug had 
2569        appeared in 0.3.13.
2570
2571
2572 Changes with nginx 0.3.13                                        05 Dec 2005
2573
2574     *) Feature: the IMAP/POP3 proxy supports STARTTLS and STLS.
2575
2576     *) Bugfix: the IMAP/POP3 proxy did not work with the select, poll, and 
2577        /dev/poll methods.
2578
2579     *) Bugfix: in SSI handling.
2580
2581     *) Bugfix: now Solaris sendfilev() is not used to transfer the client 
2582        request body to FastCGI-server via the unix domain socket.
2583
2584     *) Bugfix: the "auth_basic" directive did not disable the 
2585        authorization; the bug had appeared in 0.3.11.
2586
2587
2588 Changes with nginx 0.3.12                                        26 Nov 2005
2589
2590     *) Security: if nginx was built with the ngx_http_realip_module and the 
2591        "satisfy_any on" directive was used, then access and authorization 
2592        directives did not work. The ngx_http_realip_module was not built 
2593        and is not built by default.
2594
2595     *) Change: the "$time_gmt" variable name was changed to "$time_local".
2596
2597     *) Change: the "proxy_header_buffer_size" and 
2598        "fastcgi_header_buffer_size" directives was renamed to the 
2599        "proxy_buffer_size" and "fastcgi_buffer_size" directives.
2600
2601     *) Feature: the ngx_http_memcached_module.
2602
2603     *) Feature: the "proxy_buffering" directive.
2604
2605     *) Bugfix: the changes in accept mutex handling when the "rtsig" method 
2606        was used; the bug had appeared in 0.3.0.
2607
2608     *) Bugfix: if the client sent the "Transfer-Encoding: chunked" header 
2609        line, then nginx returns the 411 error.
2610
2611     *) Bugfix: if the "auth_basic" directive was inherited from the http 
2612        level, then the realm in the "WWW-Authenticate" header line was 
2613        without the "Basic realm" text.
2614
2615     *) Bugfix: if the "combined" format was explicitly specified in the 
2616        "access_log" directive, then the empty lines was written to the log; 
2617        the bug had appeared in 0.3.8.
2618
2619     *) Bugfix: nginx did not run on the sparc platform under any OS except 
2620        Solaris.
2621
2622     *) Bugfix: now it is not necessary to place space between the quoted 
2623        string and closing bracket in the "if" directive.
2624
2625
2626 Changes with nginx 0.3.11                                        15 Nov 2005
2627
2628     *) Bugfix: nginx did not pass the client request headers and body while 
2629        proxying; the bug had appeared in 0.3.10.
2630
2631
2632 Changes with nginx 0.3.10                                        15 Nov 2005
2633
2634     *) Change: the "valid_referers" directive and the "$invalid_referer" 
2635        variable were moved to the new ngx_http_referer_module from the 
2636        ngx_http_rewrite_module.
2637
2638     *) Change: the "$apache_bytes_sent" variable name was changed to 
2639        "$body_bytes_sent".
2640
2641     *) Feature: the "$sent_http_..." variables.
2642
2643     *) Feature: the "if" directive supports the "=" and "!=" operations.
2644
2645     *) Feature: the "proxy_pass" directive supports the HTTPS protocol.
2646
2647     *) Feature: the "proxy_set_body" directive.
2648
2649     *) Feature: the "post_action" directive.
2650
2651     *) Feature: the ngx_http_empty_gif_module.
2652
2653     *) Feature: the "worker_cpu_affinity" directive for Linux.
2654
2655     *) Bugfix: the "rewrite" directive did not unescape URI part in 
2656        redirect, now it is unescaped except the %00-%25 and %7F-%FF 
2657        characters.
2658
2659     *) Bugfix: nginx could not be built by the icc 9.0 compiler.
2660
2661     *) Bugfix: if the SSI was enabled for zero size static file, then the 
2662        chunked response was encoded incorrectly.
2663
2664
2665 Changes with nginx 0.3.9                                         10 Nov 2005
2666
2667     *) Bugfix: nginx considered URI as unsafe if two any symbols was 
2668        between two slashes; the bug had appeared in 0.3.8.
2669
2670
2671 Changes with nginx 0.3.8                                         09 Nov 2005
2672
2673     *) Security: nginx now checks URI got from a backend in 
2674        "X-Accel-Redirect" header line or in SSI file for the "/../" paths 
2675        and zeroes.
2676
2677     *) Change: nginx now does not treat the empty user name in the 
2678        "Authorization" header line as valid one.
2679
2680     *) Feature: the "ssl_session_timeout" directives of the 
2681        ngx_http_ssl_module and ngx_imap_ssl_module.
2682
2683     *) Feature: the "auth_http_header" directive of the 
2684        ngx_imap_auth_http_module.
2685
2686     *) Feature: the "add_header" directive.
2687
2688     *) Feature: the ngx_http_realip_module.
2689
2690     *) Feature: the new variables to use in the "log_format" directive: 
2691        $bytes_sent, $apache_bytes_sent, $status, $time_gmt, $uri, 
2692        $request_time, $request_length, $upstream_status, 
2693        $upstream_response_time, $gzip_ratio, $uid_got, $uid_set, 
2694        $connection, $pipe, and $msec. The parameters in the "%name" form 
2695        will be canceled soon.
2696
2697     *) Change: now the false variable values in the "if" directive are the 
2698        empty string "" and string starting with "0".
2699
2700     *) Bugfix: while using proxied or FastCGI-server nginx may leave 
2701        connections and temporary files with client requests in open state.
2702
2703     *) Bugfix: the worker processes did not flush the buffered logs on 
2704        graceful exit.
2705
2706     *) Bugfix: if the request URI was changes by the "rewrite" directive 
2707        and the request was proxied in location given by regular expression, 
2708        then the incorrect request was transferred to backend; the bug had 
2709        appeared in 0.2.6.
2710
2711     *) Bugfix: the "expires" directive did not remove the previous 
2712        "Expires" header.
2713
2714     *) Bugfix: nginx may stop to accept requests if the "rtsig" method and 
2715        several worker processes were used.
2716
2717     *) Bugfix: the "\"" and "\'" escape symbols were incorrectly handled in 
2718        SSI commands.
2719
2720     *) Bugfix: if the response was ended just after the SSI command and 
2721        gzipping was used, then the response did not transferred complete or 
2722        did not transferred at all.
2723
2724
2725 Changes with nginx 0.3.7                                         27 Oct 2005
2726
2727     *) Feature: the "access_log" supports the "buffer=" parameter.
2728
2729     *) Bugfix: nginx could not be built on platforms different from i386, 
2730        amd64, sparc, and ppc; the bug had appeared in 0.3.2.
2731
2732
2733 Changes with nginx 0.3.6                                         24 Oct 2005
2734
2735     *) Change: now the IMAP/POP3 proxy do not send the empty login to 
2736        authorization server.
2737
2738     *) Feature: the "log_format" supports the variables in the $name form.
2739
2740     *) Bugfix: if at least in one server was no the "listen" directive, 
2741        then nginx did not listen on the 80 port; the bug had appeared in 
2742        0.3.3.
2743
2744     *) Bugfix: if the URI part is omitted in "proxy_pass" directive, the 
2745        the 80 port was always used.
2746
2747
2748 Changes with nginx 0.3.5                                         21 Oct 2005
2749
2750     *) Bugfix: the segmentation fault may occurred if the IMAP/POP3 login 
2751        was changed by authorization server; the bug had appeared in 0.2.2.
2752
2753     *) Bugfix: the accept mutex did not work and all connections were 
2754        handled by one process; the bug had appeared in 0.3.3.
2755
2756     *) Bugfix: the timeout did not work if the "rtsig" method and the 
2757        "timer_resolution" directive were used.
2758
2759
2760 Changes with nginx 0.3.4                                         19 Oct 2005
2761
2762     *) Bugfix: nginx could not be built on Linux 2.4+ and MacOS X; the bug 
2763        had appeared in 0.3.3.
2764
2765
2766 Changes with nginx 0.3.3                                         19 Oct 2005
2767
2768     *) Change: the "bl" and "af" parameters of the "listen" directive was 
2769        renamed to the "backlog" and "accept_filter".
2770
2771     *) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen" 
2772        directive.
2773
2774     *) Change: the "$msec" log parameter does not require now the 
2775        additional the gettimeofday() system call.
2776
2777     *) Feature: the -t switch now tests the "listen" directives.
2778
2779     *) Bugfix: if the invalid address was specified in the "listen" 
2780        directive, then after the -HUP signal nginx left an open socket in 
2781        the CLOSED state.
2782
2783     *) Bugfix: the mime type may be incorrectly set to default value for 
2784        index file with variable in the name; the bug had appeared in 0.3.0.
2785
2786     *) Feature: the "timer_resolution" directive.
2787
2788     *) Feature: the millisecond "$upstream_response_time" log parameter.
2789
2790     *) Bugfix: a temporary file with client request body now is removed 
2791        just after the response header was transferred to a client.
2792
2793     *) Bugfix: OpenSSL 0.9.6 compatibility.
2794
2795     *) Bugfix: the SSL certificate and key file paths could not be relative.
2796
2797     *) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in 
2798        the ngx_imap_ssl_module.
2799
2800     *) Bugfix: the "ssl_protocols" directive allowed to specify the single 
2801        protocol only.
2802
2803
2804 Changes with nginx 0.3.2                                         12 Oct 2005
2805
2806     *) Feature: the Sun Studio 10 C compiler support.
2807
2808     *) Feature: the "proxy_upstream_max_fails", 
2809        "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", and 
2810        "fastcgi_upstream_fail_timeout" directives.
2811
2812
2813 Changes with nginx 0.3.1                                         10 Oct 2005
2814
2815     *) Bugfix: the segmentation fault occurred when the signal queue 
2816        overflowed if the "rtsig" method was used; the bug had appeared in 
2817        0.2.0.
2818
2819     *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in 
2820        SSI.
2821
2822
2823 Changes with nginx 0.3.0                                         07 Oct 2005
2824
2825     *) Change: the 10-days live time limit of worker process was 
2826        eliminated. The limit was introduced because of millisecond timers 
2827        overflow.
2828
2829
2830 Changes with nginx 0.2.6                                         05 Oct 2005
2831
2832     *) Change: while using load-balancing the time before the failed 
2833        backend retry was decreased from 60 to 10 seconds.
2834
2835     *) Change: the "proxy_pass_unparsed_uri" was canceled, the original URI 
2836        now passed, if the URI part is omitted in "proxy_pass" directive.
2837
2838     *) Feature: the "error_page" directive supports redirects and allows 
2839        more flexible to change an error code.
2840
2841     *) Change: the charset in the "Content-Type" header line now is ignored 
2842        in proxied subrequests.
2843
2844     *) Bugfix: if the URI was changed in the "if" block and request did not 
2845        found new configuration, then the ngx_http_rewrite_module rules ran 
2846        again.
2847
2848     *) Bugfix: if the "set" directive set the ngx_http_geo_module variable 
2849        in some configuration part, the this variable was not available in 
2850        other configuration parts and the "using uninitialized variable" 
2851        error was occurred; the bug had appeared in 0.2.2.
2852
2853
2854 Changes with nginx 0.2.5                                         04 Oct 2005
2855
2856     *) Change: the duplicate value of the ngx_http_geo_module variable now 
2857        causes the warning and changes old value.
2858
2859     *) Feature: the ngx_http_ssi_module supports the "set" command.
2860
2861     *) Feature: the ngx_http_ssi_module supports the "file" parameter in 
2862        the "include" command.
2863
2864     *) Feature: the ngx_http_ssi_module supports the variable value 
2865        substitutions in expressions of the "if" command.
2866
2867
2868 Changes with nginx 0.2.4                                         03 Oct 2005
2869
2870     *) Feature: the ngx_http_ssi_module supports "$var=text", "$var!=text", 
2871        "$var=/text/", and "$var!=/text/" expressions in the "if" command.
2872
2873     *) Bugfix: in proxying location without trailing slash; the bug had 
2874        appeared in 0.1.44.
2875
2876     *) Bugfix: the segmentation fault may occurred if the "rtsig" method 
2877        was used; the bug had appeared in 0.2.0.
2878
2879
2880 Changes with nginx 0.2.3                                         30 Sep 2005
2881
2882     *) Bugfix: nginx could not be built without the --with-debug option; 
2883        the bug had appeared in 0.2.2.
2884
2885
2886 Changes with nginx 0.2.2                                         30 Sep 2005
2887
2888     *) Feature: the "config errmsg" command of the ngx_http_ssi_module.
2889
2890     *) Change: the ngx_http_geo_module variables can be overridden by the 
2891        "set" directive.
2892
2893     *) Feature: the "ssl_protocols" and "ssl_prefer_server_ciphers" 
2894        directives of the ngx_http_ssl_module and ngx_imap_ssl_module.
2895
2896     *) Bugfix: the ngx_http_autoindex_module did not show correctly the 
2897        long file names;
2898
2899     *) Bugfix: the ngx_http_autoindex_module now do not show the files 
2900        starting by dot.
2901
2902     *) Bugfix: if the SSL handshake failed then another connection may be 
2903        closed too.
2904        Thanks to Rob Mueller.
2905
2906     *) Bugfix: the export versions of MSIE 5.x could not connect via HTTPS.
2907
2908
2909 Changes with nginx 0.2.1                                         23 Sep 2005
2910
2911     *) Bugfix: if all backend using in load-balancing failed after one 
2912        error, then nginx may got caught in an endless loop; the bug had 
2913        appeared in 0.2.0.
2914
2915
2916 Changes with nginx 0.2.0                                         23 Sep 2005
2917
2918     *) The pid-file names used during online upgrade was changed and now is 
2919        not required a manual rename operation. The old master process adds 
2920        the ".oldbin" suffix to its pid-file and executes a new binary file. 
2921        The new master process creates usual pid-file without the ".newbin" 
2922        suffix. If the master process exits, then old master process renames 
2923        back its pid-file with the ".oldbin" suffix to the pid-file without 
2924        suffix.
2925
2926     *) Change: the "worker_connections" directive, new name of the 
2927        "connections" directive; now the directive specifies maximum number 
2928        of connections, but not maximum socket descriptor number.
2929
2930     *) Feature: SSL supports the session cache inside one worker process.
2931
2932     *) Feature: the "satisfy_any" directive.
2933
2934     *) Change: the ngx_http_access_module and ngx_http_auth_basic_module do 
2935        not run for subrequests.
2936
2937     *) Feature: the "worker_rlimit_nofile" and "worker_rlimit_sigpending" 
2938        directives.
2939
2940     *) Bugfix: if all backend using in load-balancing failed after one 
2941        error, then nginx did not try do connect to them during 60 seconds.
2942
2943     *) Bugfix: in IMAP/POP3 command argument parsing.
2944        Thanks to Rob Mueller.
2945
2946     *) Bugfix: errors while using SSL in IMAP/POP3 proxy.
2947
2948     *) Bugfix: errors while using SSI and gzipping.
2949
2950     *) Bugfix: the "Expires" and "Cache-Control" header lines were omitted 
2951        from the 304 responses.
2952        Thanks to Alexandr Kukushkin.
2953
2954
2955 Changes with nginx 0.1.45                                        08 Sep 2005
2956
2957     *) Change: the "ssl_engine" directive was canceled in the 
2958        ngx_http_ssl_module and now is introduced at global level.
2959
2960     *) Bugfix: the responses with SSI subrequests did not transferred via 
2961        SSL connection.
2962
2963     *) Various bug fixes in the IMAP/POP3 proxy.
2964
2965
2966 Changes with nginx 0.1.44                                        06 Sep 2005
2967
2968     *) Feature: the IMAP/POP3 proxy supports SSL.
2969
2970     *) Feature: the "proxy_timeout" directive of the ngx_imap_proxy_module.
2971
2972     *) Feature: the "userid_mark" directive.
2973
2974     *) Feature: the $remote_user variable value is determined independently 
2975        of authorization use.
2976
2977
2978 Changes with nginx 0.1.43                                        30 Aug 2005
2979
2980     *) Feature: the listen(2) backlog in the "listen" directive can be 
2981        changed using the -HUP signal.
2982
2983     *) Feature: the geo2nginx.pl script was added to contrib.
2984
2985     *) Change: the FastCGI parameters with the empty values now are passed 
2986        to a server.
2987
2988     *) Bugfix: the segmentation fault occurred or the worker process may 
2989        got caught in an endless loop if the proxied or FastCGI server sent 
2990        the "Cache-Control" header line and the "expires" directive was 
2991        used; in the proxied mode the the bug had appeared in 0.1.29.
2992
2993
2994 Changes with nginx 0.1.42                                        23 Aug 2005
2995
2996     *) Bugfix: if the request URI had a zero length after the processing in 
2997        the ngx_http_proxy_module, then the segmentation fault or bus error 
2998        occurred in the ngx_http_proxy_module.
2999
3000     *) Bugfix: the "limit_rate" directive did not work inside the "if" 
3001        block; the bug had appeared in 0.1.38.
3002
3003
3004 Changes with nginx 0.1.41                                        25 Jul 2005
3005
3006     *) Bugfix: if the variable was used in the configuration file, then it 
3007        can not be used in SSI.
3008
3009
3010 Changes with nginx 0.1.40                                        22 Jul 2005
3011
3012     *) Bugfix: if a client sent too long header line, then the request 
3013        information did not logged in the error log.
3014
3015     *) Bugfix: the "Set-Cookie" header line was not transferred when the 
3016        "X-Accel-Redirect" was used; the bug had appeared in 0.1.39.
3017
3018     *) Bugfix: the "Content-Disposition" header line was not transferred 
3019        when the "X-Accel-Redirect" was used.
3020
3021     *) Bugfix: the master process did not close the listen socket on the 
3022        SIGQUIT signal.
3023
3024     *) Bugfix: after on-line upgrade on Linux and Solaris the process name 
3025        became shorter in the "ps" command.
3026
3027
3028 Changes with nginx 0.1.39                                        14 Jul 2005
3029
3030     *) The changes in the ngx_http_charset_module: the "default_charset" 
3031        directive was canceled; the "charset" directive sets the response 
3032        charset; the "source_charset" directive sets the source charset only.
3033
3034     *) Bugfix: the backend "WWW-Authenticate" header line did not 
3035        transferred while the 401 response code redirecting.
3036
3037     *) Bugfix: the ngx_http_proxy_module and ngx_http_fastcgi_module may 
3038        close a connection before anything was transferred to a client; the 
3039        bug had appeared in 0.1.38.
3040
3041     *) Workaround: the Linux glibc crypt_r() initialization bug.
3042
3043     *) Bugfix: the ngx_http_ssi_module did not support the relative URI in 
3044        the "include virtual" command.
3045
3046     *) Bugfix: if the backend response had the "Location" header line and 
3047        nginx should not rewrite this line, then the 500 code response body 
3048        was transferred; the bug had appeared in 0.1.29.
3049
3050     *) Bugfix: some directives of the ngx_http_proxy_module and 
3051        ngx_http_fastcgi_module were not inherited from the server to the 
3052        location level; the bug had appeared in 0.1.29.
3053
3054     *) Bugfix: the ngx_http_ssl_module did not support the certificate 
3055        chain.
3056
3057     *) Bugfix: the ngx_http_autoindex_module did not show correctly the 
3058        long file names; the bug had appeared in 0.1.38.
3059
3060     *) Bugfixes in IMAP/POP3 proxy in interaction with a backend at the 
3061        login state.
3062
3063
3064 Changes with nginx 0.1.38                                        08 Jul 2005
3065
3066     *) Feature: the "limit_rate" directive is supported in in proxy and 
3067        FastCGI mode.
3068
3069     *) Feature: the "X-Accel-Limit-Rate" response header line is supported 
3070        in proxy and FastCGI mode.
3071
3072     *) Feature: the "break" directive.
3073
3074     *) Feature: the "log_not_found" directive.
3075
3076     *) Bugfix: the response status code was not changed when request was 
3077        redirected by the ""X-Accel-Redirect" header line.
3078
3079     *) Bugfix: the variables set by the "set" directive could not be used 
3080        in SSI.
3081
3082     *) Bugfix: the segmentation fault may occurred if the SSI page has more 
3083        than one remote subrequest.
3084
3085     *) Bugfix: nginx treated the backend response as invalid if the status 
3086        line in the header was transferred in two packets; the bug had 
3087        appeared in 0.1.29.
3088
3089     *) Feature: the "ssi_types" directive.
3090
3091     *) Feature: the "autoindex_exact_size" directive.
3092
3093     *) Bugfix: the ngx_http_autoindex_module did not support the long file 
3094        names in UTF-8.
3095
3096     *) Feature: the IMAP/POP3 proxy.
3097
3098
3099 Changes with nginx 0.1.37                                        23 Jun 2005
3100
3101     *) Change: now the "\n" is added to the end of the "nginx.pid" file.
3102
3103     *) Bugfix: the responses may be transferred not completely, if many 
3104        parts or the big parts were included by SSI.
3105
3106     *) Bugfix: if all backends had returned the 404 reponse and the 
3107        "http_404" parameter of the "proxy_next_upstream" or 
3108        "fastcgi_next_upstream" directives was used, then nginx started to 
3109        request all backends again.
3110
3111
3112 Changes with nginx 0.1.36                                        15 Jun 2005
3113
3114     *) Change: if the request header has duplicate the "Host", 
3115        "Connection", "Content-Length", or "Authorization" lines, then nginx 
3116        now returns the 400 error.
3117
3118     *) Change: the "post_accept_timeout" directive was canceled.
3119
3120     *) Feature: the "default", "af=", "bl=", "deferred", and "bind" 
3121        parameters of the "listen" directive.
3122
3123     *) Feature: the FreeBSD accept filters support.
3124
3125     *) Feature: the Linux TCP_DEFER_ACCEPT support.
3126
3127     *) Bugfix: the ngx_http_autoindex_module did not support the file names 
3128        in UTF-8.
3129
3130     *) Bugfix: the new log file can be rotated by the -USR1 signal only if 
3131        the reconfiguration by the -HUP signal was made twice.
3132
3133
3134 Changes with nginx 0.1.35                                        07 Jun 2005
3135
3136     *) Feature: the "working_directory" directive.
3137
3138     *) Feature: the "port_in_redirect" directive.
3139
3140     *) Bugfix: the segmentation fault was occurred if the backend response 
3141        header was in several packets; the bug had appeared in 0.1.29.
3142
3143     *) Bugfix: if more than 10 servers were configured or some server did 
3144        not use the "listen" directive, then the segmentation fault was 
3145        occurred on the start.
3146
3147     *) Bugfix: the segmentation fault might occur if the response was 
3148        bigger than the temporary file.
3149
3150     *) Bugfix: nginx returned the 400 response on requests like 
3151        "GET http://www.domain.com/uri HTTP/1.0"; the bug had appeared in 
3152        0.1.28.
3153
3154
3155 Changes with nginx 0.1.34                                        26 May 2005
3156
3157     *) Bugfix: the worker process may got caught in an endless loop if the 
3158        big response part were include by SSI.
3159
3160     *) Bugfix: the variables set by the "set" directive were not available 
3161        in SSI.
3162
3163     *) Feature: the "autoindex_localtime" directive.
3164
3165     *) Bugfix: the empty value of the "proxy_set_header" directive forbids 
3166        the client request header line passing.
3167
3168
3169 Changes with nginx 0.1.33                                        23 May 2005
3170
3171     *) Bugfix: nginx could not be built with the --without-pcre parameter; 
3172        the bug had appeared in 0.1.29.
3173
3174     *) Bugfix: 3, 4, 7, and 8 the "proxy_set_header" directives in one 
3175        level cause the bus fault on start up.
3176
3177     *) Bugfix: the HTTP protocol was specified in the HTTPS redirects.
3178
3179     *) Bugfix: if the "rewrite" directive used the captures inside the "if" 
3180        directive, then the 500 error code was returned.
3181
3182
3183 Changes with nginx 0.1.32                                        19 May 2005
3184
3185     *) Bugfix: the arguments were omitted in the redirects, issued by the 
3186        "rewrite" directive; the bug had appeared in 0.1.29.
3187
3188     *) Feature: the "if" directive supports the captures in regular 
3189        expressions.
3190
3191     *) Feature: the "set" directive supports the variables and the captures 
3192        of regular expressions.
3193
3194     *) Feature: the "X-Accel-Redirect" response header line is supported in 
3195        proxy and FastCGI mode.
3196
3197
3198 Changes with nginx 0.1.31                                        16 May 2005
3199
3200     *) Bugfix: the response encrypted by SSL may not transferred complete.
3201
3202     *) Bugfix: errors while processing FastCGI response by SSI.
3203
3204     *) Bugfix: errors while using SSI and gzipping.
3205
3206     *) Bugfix: the redirect with the 301 code was transferred without 
3207        response body; the bug had appeared in 0.1.30.
3208
3209
3210 Changes with nginx 0.1.30                                        14 May 2005
3211
3212     *) Bugfix: the worker process may got caught in an endless loop if the 
3213        SSI was used.
3214
3215     *) Bugfix: the response encrypted by SSL may not transferred complete.
3216
3217     *) Bugfix: if the length of the response part received at once from 
3218        proxied or FastCGI server was equal to 500, then nginx returns the 
3219        500 response code; in proxy mode the the bug had appeared in 0.1.29 
3220        only.
3221
3222     *) Bugfix: nginx did not consider the directives with 8 or 9 parameters 
3223        as invalid.
3224
3225     *) Feature: the "return" directive can return the 204 response code.
3226
3227     *) Feature: the "ignore_invalid_headers" directive.
3228
3229
3230 Changes with nginx 0.1.29                                        12 May 2005
3231
3232     *) Feature: the ngx_http_ssi_module supports "include virtual" command.
3233
3234     *) Feature: the ngx_http_ssi_module supports the condition command like 
3235        'if expr="$NAME"' and "else" and "endif" commands. Only one nested 
3236        level is supported.
3237
3238     *) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and 
3239        DATE_GMT variables and "config timefmt" command.
3240
3241     *) Feature: the "ssi_ignore_recycled_buffers" directive.
3242
3243     *) Bugfix: the "echo" command did not show the default value for the 
3244        empty QUERY_STRING variable.
3245
3246     *) Change: the ngx_http_proxy_module was rewritten.
3247
3248     *) Feature: the "proxy_redirect", "proxy_pass_request_headers", 
3249        "proxy_pass_request_body", and "proxy_method" directives.
3250
3251     *) Feature: the "proxy_set_header" directive. The "proxy_x_var" was 
3252        canceled and must be replaced with the proxy_set_header directive.
3253
3254     *) Change: the "proxy_preserve_host" is canceled and must be replaced 
3255        with the "proxy_set_header Host $host" and the "proxy_redirect off" 
3256        directives, the "proxy_set_header Host $host:$proxy_port" directive 
3257        and the appropriate proxy_redirect directives.
3258
3259     *) Change: the "proxy_set_x_real_ip" is canceled and must be replaced 
3260        with the "proxy_set_header X-Real-IP $remote_addr" directive.
3261
3262     *) Change: the "proxy_add_x_forwarded_for" is canceled and must be 
3263        replaced with 
3264        the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for" 
3265        directive.
3266
3267     *) Change: the "proxy_set_x_url" is canceled and must be replaced with 
3268        the "proxy_set_header X-URL http://$host:$server_port$request_uri" 
3269        directive.
3270
3271     *) Feature: the "fastcgi_param" directive.
3272
3273     *) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" 
3274        directive are canceled and must be replaced with the fastcgi_param 
3275        directives.
3276
3277     *) Feature: the "index" directive can use the variables.
3278
3279     *) Feature: the "index" directive can be used at http and server levels.
3280
3281     *) Change: the last index only in the "index" directive can be absolute.
3282
3283     *) Feature: the "rewrite" directive can use the variables.
3284
3285     *) Feature: the "internal" directive.
3286
3287     *) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, 
3288        SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, 
3289        REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
3290
3291     *) Change: nginx now passes the invalid lines in a client request 
3292        headers or a backend response header.
3293
3294     *) Bugfix: if the backend did not transfer response for a long time and 
3295        the "send_timeout" was less than "proxy_read_timeout", then nginx 
3296        returned the 408 response.
3297
3298     *) Bugfix: the segmentation fault was occurred if the backend sent an 
3299        invalid line in response header; the bug had appeared in 0.1.26.
3300
3301     *) Bugfix: the segmentation fault may occurred in FastCGI fault 
3302        tolerance configuration.
3303
3304     *) Bugfix: the "expires" directive did not remove the previous 
3305        "Expires" and "Cache-Control" headers.
3306
3307     *) Bugfix: nginx did not take into account trailing dot in "Host" 
3308        header line.
3309
3310     *) Bugfix: the ngx_http_auth_module did not work under Linux.
3311
3312     *) Bugfix: the rewrite directive worked incorrectly, if the arguments 
3313        were in a request.
3314
3315     *) Bugfix: nginx could not be built on MacOS X.
3316
3317
3318 Changes with nginx 0.1.28                                        08 Apr 2005
3319
3320     *) Bugfix: nginx hogs CPU while proxying the huge files.
3321
3322     *) Bugfix: nginx could not be built by gcc 4.0 on Linux.
3323
3324
3325 Changes with nginx 0.1.27                                        28 Mar 2005
3326
3327     *) Feature: the "blocked" parameter of the "valid_referers" directive.
3328
3329     *) Change: the errors while handling the request header now logged at 
3330        "info" level. The server name and the "Host" and "Referer" header 
3331        lines also logged.
3332
3333     *) Change: the "Host" header line is also logged in error log.
3334
3335     *) Feature: the proxy_pass_unparsed_uri directive. The special handling 
3336        of the "://" symbols in URI, appeared in 0.1.11 version, now is 
3337        canceled.
3338
3339     *) Bugfix: nginx could not be built on FreeBSD and Linux, if the 
3340        --without-ngx_http_auth_basic_module configuration parameter was 
3341        used.
3342
3343
3344 Changes with nginx 0.1.26                                        22 Mar 2005
3345
3346     *) Change: the invalid client header lines are now ignored and logged 
3347        at the info level.
3348
3349     *) Change: the server name is also logged in error log.
3350
3351     *) Feature: the ngx_http_auth_basic_module module and the auth_basic 
3352        and auth_basic_user_file directives.
3353
3354
3355 Changes with nginx 0.1.25                                        19 Mar 2005
3356
3357     *) Bugfix: nginx did run on Linux parisc.
3358
3359     *) Feature: nginx now does not start under FreeBSD if the sysctl 
3360        kern.ipc.somaxconn value is too big.
3361
3362     *) Bugfix: if a request was internally redirected by the 
3363        ngx_http_index_module module to the ngx_http_proxy_module or 
3364        ngx_http_fastcgi_module modules, then the index file was not closed 
3365        after request completion.
3366
3367     *) Feature: the "proxy_pass" can be used in location with regular 
3368        expression.
3369
3370     *) Feature: the ngx_http_rewrite_filter_module module supports the 
3371        condition like "if ($HTTP_USER_AGENT ~ MSIE)".
3372
3373     *) Bugfix: nginx started too slow if the large number of addresses and 
3374        text values were used in the "geo" directive.
3375
3376     *) Change: a variable name must be declared as "$name" in the "geo" 
3377        directive. The previous variant without "$" is still supported, but 
3378        will be removed soon.
3379
3380     *) Feature: the "%{VARIABLE}v" logging parameter.
3381
3382     *) Feature: the "set $name value" directive.
3383
3384     *) Bugfix: gcc 4.0 compatibility.
3385
3386     *) Feature: the --with-openssl-opt=OPTIONS autoconfiguration directive.
3387
3388
3389 Changes with nginx 0.1.24                                        04 Mar 2005
3390
3391     *) Feature: the ngx_http_ssi_filter_module supports the QUERY_STRING 
3392        and DOCUMENT_URI variables.
3393
3394     *) Bugfix: the ngx_http_autoindex_module may some times return the 404 
3395        response for existent directory, if this directory was used in 
3396        "alias" directive.
3397
3398     *) Bugfix: the ngx_http_ssi_filter_module ran incorrectly for large 
3399        responses.
3400
3401     *) Bugfix: the lack of the "Referer" header line was always accounted 
3402        as valid referrer.
3403
3404
3405 Changes with nginx 0.1.23                                        01 Mar 2005
3406
3407     *) Feature: the ngx_http_ssi_filter_module and the ssi, 
3408        ssi_silent_errors, and ssi_min_file_chunk directives. The 'echo 
3409        var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands are 
3410        supported.
3411
3412     *) Feature: the %request_time log parameter.
3413
3414     *) Feature: if the request has no the "Host" header line, then the 
3415        "proxy_preserve_host" directive set this header line to the first 
3416        server name of the "server_name" directive.
3417
3418     *) Bugfix: nginx could not be built on platforms different from i386, 
3419        amd64, sparc, and ppc; the bug had appeared in 0.1.22.
3420
3421     *) Bugfix: the ngx_http_autoindex_module now shows the information not 
3422        about the symlink, but about file or directory it points to.
3423
3424     *) Bugfix: the %apache_length parameter logged the negative length of 
3425        the response header if the no response was transferred to a client.
3426
3427
3428 Changes with nginx 0.1.22                                        22 Feb 2005
3429
3430     *) Bugfix: the ngx_http_stub_status_module showed incorrect handled 
3431        connections statistics if the proxying or FastCGI server were used.
3432
3433     *) Bugfix: the installation paths were incorrectly quoted on Linux and 
3434        Solaris; the bug had appeared in 0.1.21.
3435
3436
3437 Changes with nginx 0.1.21                                        22 Feb 2005
3438
3439     *) Bugfix: the ngx_http_stub_status_module showed incorrect statistics 
3440        if "rtsig" method was used or if several worker process ran on SMP.
3441
3442     *) Bugfix: nginx could not be built by the icc compiler on Linux or if 
3443        the zlib-1.2.x library was building from sources.
3444
3445     *) Bugfix: nginx could not be built on NetBSD 2.0.
3446
3447
3448 Changes with nginx 0.1.20                                        17 Feb 2005
3449
3450     *) Feature: the new "script_filename" and "remote_port" parameters of 
3451        the fastcgi_params directive.
3452
3453     *) Bugfix: the FastCGI stderr stream was handled incorrectly.
3454
3455
3456 Changes with nginx 0.1.19                                        16 Feb 2005
3457
3458     *) Bugfix: now, if request contains the zero, then the 404 error is 
3459        returned for the local requests.
3460
3461     *) Bugfix: nginx could not be built on NetBSD 2.0.
3462
3463     *) Bugfix: the timeout may occur while reading of the the client 
3464        request body via SSL connections.
3465
3466
3467 Changes with nginx 0.1.18                                        09 Feb 2005
3468
3469     *) Workaround: the default values of the devpoll_events and the 
3470        devpoll_changes directives changed from 512 to 32 to be compatible 
3471        with Solaris 10.
3472
3473     *) Bugfix: the proxy_set_x_var and fastcgi_set_var directives were not 
3474        inherited.
3475
3476     *) Bugfix: in a redirect rewrite directive arguments were concatenated 
3477        with URI by an "&" rather than an "?".
3478
3479     *) Bugfix: the lines without trailing ";" in the file being included by 
3480        the ngx_http_geo_module were silently ignored.
3481
3482     *) Feature: the ngx_http_stub_status_module.
3483
3484     *) Bugfix: the unknown log format in the access_log directive caused 
3485        the segmentation fault.
3486
3487     *) Feature: the new "document_root" parameter of the fastcgi_params 
3488        directive.
3489
3490     *) Feature: the fastcgi_redirect_errors directive.
3491
3492     *) Feature: the new "break" modifier of the "rewrite" directive allows 
3493        to stop the rewrite/location cycle and sets the current 
3494        configuration to the request.
3495
3496
3497 Changes with nginx 0.1.17                                        03 Feb 2005
3498
3499     *) Change: the ngx_http_rewrite_module was rewritten from the scratch. 
3500        Now it is possible to redirect, to return the error codes, to check 
3501        the variables and referrers. The directives can be used inside 
3502        locations. The redirect directive was canceled.
3503
3504     *) Feature: the ngx_http_geo_module.
3505
3506     *) Feature: the proxy_set_x_var and fastcgi_set_var directives.
3507
3508     *) Bugfix: the location configuration with "=" modifier may be used in 
3509        another location.
3510
3511     *) Bugfix: the correct content type was set only for requests that use 
3512        small caps letters in extension.
3513
3514     *) Bugfix: if the proxy_pass or fastcgi_pass directives were set in the 
3515        location, and access was denied, and the error was redirected to a 
3516        static page, then the segmentation fault occurred.
3517
3518     *) Bugfix: if in a proxied "Location" header was a relative URL, then a 
3519        host name and a slash were added to them; the bug had appeared in 
3520        0.1.14.
3521
3522     *) Bugfix: the system error message was not logged on Linux.
3523
3524
3525 Changes with nginx 0.1.16                                        25 Jan 2005
3526
3527     *) Bugfix: if the response were transferred by chunks, then on the HEAD 
3528        request the final chunk was issued.
3529
3530     *) Bugfix: the "Connection: keep-alive" header were issued, even if the 
3531        keepalive_timeout directive forbade the keep-alive use.
3532
3533     *) Bugfix: the errors in the ngx_http_fastcgi_module caused the 
3534        segmentation faults.
3535
3536     *) Bugfix: the compressed response encrypted by SSL may not transferred 
3537        complete.
3538
3539     *) Bugfix: the TCP-specific TCP_NODELAY, TCP_NOPSUH, and TCP_CORK 
3540        options, are not used for the unix domain sockets.
3541
3542     *) Feature: the rewrite directive supports the arguments rewriting.
3543
3544     *) Bugfix: the response code 400 was returned for the POST request with 
3545        the "Content-Length: 0" header; the bug had appeared in 0.1.14.
3546
3547
3548 Changes with nginx 0.1.15                                        19 Jan 2005
3549
3550     *) Bugfix: the error while the connecting to the FastCGI server caused 
3551        segmentation fault.
3552
3553     *) Bugfix: the correct handling of the regular expression, that has 
3554        different number of the captures and substitutions.
3555
3556     *) Feature: the location, that is passed to the FastCGI server, can be 
3557        regular expression.
3558
3559     *) Bugfix: the FastCGI's parameter REQUEST_URI is now passed with the 
3560        arguments and in the original state.
3561
3562     *) Bugfix: the ngx_http_rewrite_module module was required to be built 
3563        to use the regular expressions in locations.
3564
3565     *) Bugfix: the directive "proxy_preserve_host  on" adds port 80 to the 
3566        "Host" headers, if upstream listen on port 80; the bug had appeared 
3567        in 0.1.14.
3568
3569     *) Bugfix: the same paths in autoconfiguration parameters 
3570        --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH, 
3571        or --http-client-body-temp-path=PATH and 
3572        --http-fastcgi-temp-path=PATH caused segmentation fault.
3573
3574
3575 Changes with nginx 0.1.14                                        18 Jan 2005
3576
3577     *) Feature: the autoconfiguration directives: 
3578        --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH, and 
3579        --http-fastcgi-temp-path=PATH
3580
3581     *) Change: the directory name for the temporary files with the client 
3582        request body is specified by directive client_body_temp_path, by 
3583        default it is <prefix>/client_body_temp.
3584
3585     *) Feature: the ngx_http_fastcgi_module and the directives: 
3586        fastcgi_pass, fastcgi_root, fastcgi_index, fastcgi_params, 
3587        fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout, 
3588        fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers, 
3589        fastcgi_busy_buffers_size, fastcgi_temp_path, 
3590        fastcgi_max_temp_file_size, fastcgi_temp_file_write_size, 
3591        fastcgi_next_upstream, and fastcgi_x_powered_by.
3592
3593     *) Bugfix: the "[alert] zero size buf" error; the bug had appeared in 
3594        0.1.3.
3595
3596     *) Change: the URI must be specified after the host name in the 
3597        proxy_pass directive.
3598
3599     *) Change: the %3F symbol in the URI was considered as the argument 
3600        string start.
3601
3602     *) Feature: the unix domain sockets support in the 
3603        ngx_http_proxy_module.
3604
3605     *) Feature: the ssl_engine and ssl_ciphers directives.
3606        Thanks to Sergey Skvortsov for SSL-accelerator.
3607
3608
3609 Changes with nginx 0.1.13                                        21 Dec 2004
3610
3611     *) Feature: the server_names_hash and server_names_hash_threshold 
3612        directives.
3613
3614     *) Bugfix: the *.domain.tld names in the "server_name" directive did 
3615        not work.
3616
3617     *) Bugfix: the %request_length log parameter logged the incorrect 
3618        length.
3619
3620
3621 Changes with nginx 0.1.12                                        06 Dec 2004
3622
3623     *) Feature: the %request_length log parameter.
3624
3625     *) Bugfix: when using the /dev/poll, select and poll on the platforms, 
3626        where these methods may do the false reports, there may be the long 
3627        delay when the request was passed via the keep-alive connection. It 
3628        may be at least on Solaris when using the /dev/poll.
3629
3630     *) Bugfix: the send_lowat directive is ignored on Linux because Linux 
3631        does not support the SO_SNDLOWAT option.
3632
3633
3634 Changes with nginx 0.1.11                                        02 Dec 2004
3635
3636     *) Feature: the worker_priority directive.
3637
3638     *) Change: both tcp_nopush and tcp_nodelay directives affect the 
3639        transferred response.
3640
3641     *) Bugfix: nginx did not call initgroups().
3642        Thanks to Andrew Sitnikov and Andrei Nigmatulin.
3643
3644     *) Change: now the ngx_http_autoindex_module shows the file size in the 
3645        bytes.
3646
3647     *) Bugfix: the ngx_http_autoindex_module returned the 500 error if the 
3648        broken symlink was in a directory.
3649
3650     *) Bugfix: the files bigger than 4G could not be transferred using 
3651        sendfile.
3652
3653     *) Bugfix: if the backend was resolved to several backends and there 
3654        was an error while the response waiting then process may got caught 
3655        in an endless loop.
3656
3657     *) Bugfix: the worker process may exit with the "unknown cycle" message 
3658        when the /dev/poll method was used.
3659
3660     *) Bugfix: "close() channel failed" errors.
3661
3662     *) Bugfix: the autodetection of the "nobody" and "nogroup" groups.
3663
3664     *) Bugfix: the send_lowat directive did not work on Linux.
3665
3666     *) Bugfix: the segmentation fault occurred if there was no events 
3667        section in configuration.
3668
3669     *) Bugfix: nginx could not be built on OpenBSD.
3670
3671     *) Bugfix: the double slashes in "://" in the URI were converted to 
3672        ":/".
3673
3674
3675 Changes with nginx 0.1.10                                        26 Nov 2004
3676
3677     *) Bugfix: if the request without arguments contains "//", "/./", 
3678        "/../" or "%XX" then the lost character in the request line was 
3679        lost; the bug had appeared in 0.1.9.
3680
3681     *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did 
3682        not work.
3683
3684
3685 Changes with nginx 0.1.9                                         25 Nov 2004
3686
3687     *) Bugfix: the proxied request was sent without arguments if the 
3688        request contains "//", "/./", "/../" or "%XX".
3689
3690     *) Bugfix: the large compressed responses may be transferred not 
3691        completely.
3692
3693     *) Bugfix: the files bigger than 2G was not transferred on Linux that 
3694        does not support sendfile64().
3695
3696     *) Bugfix: while the build configuration on Linux the 
3697        --with-poll_module parameter was required; the bug had appeared in 
3698        0.1.8.
3699
3700
3701 Changes with nginx 0.1.8                                         20 Nov 2004
3702
3703     *) Bugfix: in the ngx_http_autoindex_module if the long file names were 
3704        in the listing.
3705
3706     *) Feature: the "^~" modifier in the location directive.
3707
3708     *) Feature: the proxy_max_temp_file_size directive.
3709
3710
3711 Changes with nginx 0.1.7                                         12 Nov 2004
3712
3713     *) Bugfix: on FreeBSD the segmentation fault may occur if the size of 
3714        the transferred file was changed; the bug had appeared in 0.1.5.
3715
3716
3717 Changes with nginx 0.1.6                                         11 Nov 2004
3718
3719     *) Bugfix: some location directive combinations with the regular 
3720        expressions caused the wrong configuration choose.
3721
3722
3723 Changes with nginx 0.1.5                                         11 Nov 2004
3724
3725     *) Bugfix: on Solaris and Linux there may be too many "recvmsg() 
3726        returned not enough data" alerts.
3727
3728     *) Bugfix: there were the "writev() failed (22: Invalid argument)" 
3729        errors on Solaris in proxy mode without sendfile. On other platforms 
3730        that do not support sendfile at all the process got caught in an 
3731        endless loop.
3732
3733     *) Bugfix: segmentation fault on Solaris in proxy mode and using 
3734        sendfile.
3735
3736     *) Bugfix: segmentation fault on Solaris.
3737
3738     *) Bugfix: on-line upgrade did not work on Linux.
3739
3740     *) Bugfix: the ngx_http_autoindex_module module did not escape the 
3741        spaces, the quotes, and the percent signs in the directory listing.
3742
3743     *) Change: the decrease of the copy operations.
3744
3745     *) Feature: the userid_p3p directive.
3746
3747
3748 Changes with nginx 0.1.4                                         26 Oct 2004
3749
3750     *) Bugfix: in the ngx_http_autoindex_module.
3751
3752
3753 Changes with nginx 0.1.3                                         25 Oct 2004
3754
3755     *) Feature: the ngx_http_autoindex_module and the autoindex directive.
3756
3757     *) Feature: the proxy_set_x_url directive.
3758
3759     *) Bugfix: proxy module may get caught in an endless loop when sendfile 
3760        is not used.
3761
3762
3763 Changes with nginx 0.1.2                                         21 Oct 2004
3764
3765     *) Feature: the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS 
3766        options in configure.
3767
3768     *) Feature: the server_name directive supports *.domain.tld.
3769
3770     *) Bugfix: the portability improvements.
3771
3772     *) Bugfix: if configuration file was set in command line, the 
3773        reconfiguration was impossible; the bug had appeared in 0.1.1.
3774
3775     *) Bugfix: proxy module may get caught in an endless loop when sendfile 
3776        is not used.
3777
3778     *) Bugfix: with sendfile the response was not recoded according to the 
3779        charset module directives; the bug had appeared in 0.1.1.
3780
3781     *) Bugfix: very seldom bug in the kqueue processing.
3782
3783     *) Bugfix: the gzip module compressed the proxied responses that was 
3784        already compressed.
3785
3786
3787 Changes with nginx 0.1.1                                         11 Oct 2004
3788
3789     *) Feature: the gzip_types directive.
3790
3791     *) Feature: the tcp_nodelay directive.
3792
3793     *) Feature: the send_lowat directive is working not only on OSes that 
3794        support kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT.
3795
3796     *) Feature: the setproctitle() emulation for Linux and Solaris.
3797
3798     *) Bugfix: the "Location" header rewrite bug fixed while the proxying.
3799
3800     *) Bugfix: the ngx_http_chunked_module module may get caught in an 
3801        endless loop.
3802
3803     *) Bugfix: the /dev/poll module bugs fixed.
3804
3805     *) Bugfix: the responses were corrupted when the temporary files were 
3806        used while the proxying.
3807
3808     *) Bugfix: the unescaped requests were passed to the backend.
3809
3810     *) Bugfix: while the build configuration on Linux 2.4 the 
3811        --with-poll_module parameter was required.
3812
3813
3814 Changes with nginx 0.1.0                                         04 Oct 2004
3815
3816     *) The first public version.
3817