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