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