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