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