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