Annotation of embedaddon/nginx/CHANGES, revision 1.1.1.1
1.1 misho 1:
2: Changes with nginx 1.4.3 08 Oct 2013
3:
4: *) Bugfix: a segmentation fault might occur in a worker process if the
5: ngx_http_spdy_module was used with the "client_body_in_file_only"
6: directive.
7:
8: *) Bugfix: a segmentation fault might occur on start or during
9: reconfiguration if the "try_files" directive was used with an empty
10: parameter.
11:
12: *) Bugfix: the $request_time variable did not work in nginx/Windows.
13:
14: *) Bugfix: in the ngx_http_auth_basic_module when using "$apr1$"
15: password encryption method.
16: Thanks to Markus Linnala.
17:
18: *) Bugfix: in the ngx_http_autoindex_module.
19:
20: *) Bugfix: in the mail proxy server.
21:
22:
23: Changes with nginx 1.4.2 17 Jul 2013
24:
25: *) Bugfix: the $r->header_in() embedded perl method did not return value
26: of the "Cookie" and "X-Forwarded-For" request header lines; the bug
27: had appeared in 1.3.14.
28:
29: *) Bugfix: nginx could not be built with the ngx_mail_ssl_module, but
30: without ngx_http_ssl_module; the bug had appeared in 1.3.14.
31:
32: *) Bugfix: in the "proxy_set_body" directive.
33: Thanks to Lanshun Zhou.
34:
35: *) Bugfix: the "fail_timeout" parameter of the "server" directive in the
36: "upstream" context might not work if "max_fails" parameter was used;
37: the bug had appeared in 1.3.0.
38:
39: *) Bugfix: a segmentation fault might occur in a worker process if the
40: "ssl_stapling" directive was used.
41: Thanks to Piotr Sikora.
42:
43: *) Bugfix: nginx/Windows might stop accepting connections if several
44: worker processes were used.
45:
46:
47: Changes with nginx 1.4.1 07 May 2013
48:
49: *) Security: a stack-based buffer overflow might occur in a worker
50: process while handling a specially crafted request, potentially
51: resulting in arbitrary code execution (CVE-2013-2028); the bug had
52: appeared in 1.3.9.
53: Thanks to Greg MacManus, iSIGHT Partners Labs.
54:
55:
56: Changes with nginx 1.4.0 24 Apr 2013
57:
58: *) Bugfix: nginx could not be built with the ngx_http_perl_module if the
59: --with-openssl option was used; the bug had appeared in 1.3.16.
60:
61: *) Bugfix: in a request body handling in the ngx_http_perl_module; the
62: bug had appeared in 1.3.9.
63:
64:
65: Changes with nginx 1.3.16 16 Apr 2013
66:
67: *) Bugfix: a segmentation fault might occur in a worker process if
68: subrequests were used; the bug had appeared in 1.3.9.
69:
70: *) Bugfix: the "tcp_nodelay" directive caused an error if a WebSocket
71: connection was proxied into a unix domain socket.
72:
73: *) Bugfix: the $upstream_response_length variable has an incorrect value
74: "0" if buffering was not used.
75: Thanks to Piotr Sikora.
76:
77: *) Bugfix: in the eventport and /dev/poll methods.
78:
79:
80: Changes with nginx 1.3.15 26 Mar 2013
81:
82: *) Change: opening and closing a connection without sending any data in
83: it is no longer logged to access_log with error code 400.
84:
85: *) Feature: the ngx_http_spdy_module.
86: Thanks to Automattic for sponsoring this work.
87:
88: *) Feature: the "limit_req_status" and "limit_conn_status" directives.
89: Thanks to Nick Marden.
90:
91: *) Feature: the "image_filter_interlace" directive.
92: Thanks to Ian Babrou.
93:
94: *) Feature: $connections_waiting variable in the
95: ngx_http_stub_status_module.
96:
97: *) Feature: the mail proxy module now supports IPv6 backends.
98:
99: *) Bugfix: request body might be transmitted incorrectly when retrying a
100: request to the next upstream server; the bug had appeared in 1.3.9.
101: Thanks to Piotr Sikora.
102:
103: *) Bugfix: in the "client_body_in_file_only" directive; the bug had
104: appeared in 1.3.9.
105:
106: *) Bugfix: responses might hang if subrequests were used and a DNS error
107: happened during subrequest processing.
108: Thanks to Lanshun Zhou.
109:
110: *) Bugfix: in backend usage accounting.
111:
112:
113: Changes with nginx 1.3.14 05 Mar 2013
114:
115: *) Feature: $connections_active, $connections_reading, and
116: $connections_writing variables in the ngx_http_stub_status_module.
117:
118: *) Feature: support of WebSocket connections in the
119: ngx_http_uwsgi_module and ngx_http_scgi_module.
120:
121: *) Bugfix: in virtual servers handling with SNI.
122:
123: *) Bugfix: new sessions were not always stored if the "ssl_session_cache
124: shared" directive was used and there was no free space in shared
125: memory.
126: Thanks to Piotr Sikora.
127:
128: *) Bugfix: multiple X-Forwarded-For headers were handled incorrectly.
129: Thanks to Neal Poole for sponsoring this work.
130:
131: *) Bugfix: in the ngx_http_mp4_module.
132: Thanks to Gernot Vormayr.
133:
134:
135: Changes with nginx 1.3.13 19 Feb 2013
136:
137: *) Change: a compiler with name "cc" is now used by default.
138:
139: *) Feature: support for proxying of WebSocket connections.
140: Thanks to Apcera and CloudBees for sponsoring this work.
141:
142: *) Feature: the "auth_basic_user_file" directive supports "{SHA}"
143: password encryption method.
144: Thanks to Louis Opter.
145:
146:
147: Changes with nginx 1.3.12 05 Feb 2013
148:
149: *) Feature: variables support in the "proxy_bind", "fastcgi_bind",
150: "memcached_bind", "scgi_bind", and "uwsgi_bind" directives.
151:
152: *) Feature: the $pipe, $request_length, $time_iso8601, and $time_local
153: variables can now be used not only in the "log_format" directive.
154: Thanks to Kiril Kalchev.
155:
156: *) Feature: IPv6 support in the ngx_http_geoip_module.
157: Thanks to Gregor Kališnik.
158:
159: *) Bugfix: in the "proxy_method" directive.
160:
161: *) Bugfix: a segmentation fault might occur in a worker process if
162: resolver was used with the poll method.
163:
164: *) Bugfix: nginx might hog CPU during SSL handshake with a backend if
165: the select, poll, or /dev/poll methods were used.
166:
167: *) Bugfix: the "[crit] SSL_write() failed (SSL:)" error.
168:
169: *) Bugfix: in the "client_body_in_file_only" directive; the bug had
170: appeared in 1.3.9.
171:
172: *) Bugfix: in the "fastcgi_keep_conn" directive.
173:
174:
175: Changes with nginx 1.3.11 10 Jan 2013
176:
177: *) Bugfix: a segmentation fault might occur if logging was used; the bug
178: had appeared in 1.3.10.
179:
180: *) Bugfix: the "proxy_pass" directive did not work with IP addresses
181: without port specified; the bug had appeared in 1.3.10.
182:
183: *) Bugfix: a segmentation fault occurred on start or during
184: reconfiguration if the "keepalive" directive was specified more than
185: once in a single upstream block.
186:
187: *) Bugfix: parameter "default" of the "geo" directive did not set
188: default value for IPv6 addresses.
189:
190:
191: Changes with nginx 1.3.10 25 Dec 2012
192:
193: *) Change: domain names specified in configuration file are now resolved
194: to IPv6 addresses as well as IPv4 ones.
195:
196: *) Change: now if the "include" directive with mask is used on Unix
197: systems, included files are sorted in alphabetical order.
198:
199: *) Change: the "add_header" directive adds headers to 201 responses.
200:
201: *) Feature: the "geo" directive now supports IPv6 addresses in CIDR
202: notation.
203:
204: *) Feature: the "flush" and "gzip" parameters of the "access_log"
205: directive.
206:
207: *) Feature: variables support in the "auth_basic" directive.
208:
209: *) Bugfix: nginx could not be built with the ngx_http_perl_module in
210: some cases.
211:
212: *) Bugfix: a segmentation fault might occur in a worker process if the
213: ngx_http_xslt_module was used.
214:
215: *) Bugfix: nginx could not be built on MacOSX in some cases.
216: Thanks to Piotr Sikora.
217:
218: *) Bugfix: the "limit_rate" directive with high rates might result in
219: truncated responses on 32-bit platforms.
220: Thanks to Alexey Antropov.
221:
222: *) Bugfix: a segmentation fault might occur in a worker process if the
223: "if" directive was used.
224: Thanks to Piotr Sikora.
225:
226: *) Bugfix: a "100 Continue" response was issued with "413 Request Entity
227: Too Large" responses.
228:
229: *) Bugfix: the "image_filter", "image_filter_jpeg_quality" and
230: "image_filter_sharpen" directives might be inherited incorrectly.
231: Thanks to Ian Babrou.
232:
233: *) Bugfix: "crypt_r() failed" errors might appear if the "auth_basic"
234: directive was used on Linux.
235:
236: *) Bugfix: in backup servers handling.
237: Thanks to Thomas Chen.
238:
239: *) Bugfix: proxied HEAD requests might return incorrect response if the
240: "gzip" directive was used.
241:
242:
243: Changes with nginx 1.3.9 27 Nov 2012
244:
245: *) Feature: support for chunked transfer encoding while reading client
246: request body.
247:
248: *) Feature: the $request_time and $msec variables can now be used not
249: only in the "log_format" directive.
250:
251: *) Bugfix: cache manager and cache loader processes might not be able to
252: start if more than 512 listen sockets were used.
253:
254: *) Bugfix: in the ngx_http_dav_module.
255:
256:
257: Changes with nginx 1.3.8 30 Oct 2012
258:
259: *) Feature: the "optional_no_ca" parameter of the "ssl_verify_client"
260: directive.
261: Thanks to Mike Kazantsev and Eric O'Connor.
262:
263: *) Feature: the $bytes_sent, $connection, and $connection_requests
264: variables can now be used not only in the "log_format" directive.
265: Thanks to Benjamin Grössing.
266:
267: *) Feature: the "auto" parameter of the "worker_processes" directive.
268:
269: *) Bugfix: "cache file ... has md5 collision" alert.
270:
271: *) Bugfix: in the ngx_http_gunzip_filter_module.
272:
273: *) Bugfix: in the "ssl_stapling" directive.
274:
275:
276: Changes with nginx 1.3.7 02 Oct 2012
277:
278: *) Feature: OCSP stapling support.
279: Thanks to Comodo, DigiCert and GlobalSign for sponsoring this work.
280:
281: *) Feature: the "ssl_trusted_certificate" directive.
282:
283: *) Feature: resolver now randomly rotates addresses returned from cache.
284: Thanks to Anton Jouline.
285:
286: *) Bugfix: OpenSSL 0.9.7 compatibility.
287:
288:
289: Changes with nginx 1.3.6 12 Sep 2012
290:
291: *) Feature: the ngx_http_gunzip_filter_module.
292:
293: *) Feature: the "memcached_gzip_flag" directive.
294:
295: *) Feature: the "always" parameter of the "gzip_static" directive.
296:
297: *) Bugfix: in the "limit_req" directive; the bug had appeared in 1.1.14.
298: Thanks to Charles Chen.
299:
300: *) Bugfix: nginx could not be built by gcc 4.7 with -O2 optimization if
301: the --with-ipv6 option was used.
302:
303:
304: Changes with nginx 1.3.5 21 Aug 2012
305:
306: *) Change: the ngx_http_mp4_module module no longer skips tracks in
307: formats other than H.264 and AAC.
308:
309: *) Bugfix: a segmentation fault might occur in a worker process if the
310: "map" directive was used with variables as values.
311:
312: *) Bugfix: a segmentation fault might occur in a worker process if the
313: "geo" directive was used with the "ranges" parameter but without the
314: "default" parameter; the bug had appeared in 0.8.43.
315: Thanks to Zhen Chen and Weibin Yao.
316:
317: *) Bugfix: in the -p command-line parameter handling.
318:
319: *) Bugfix: in the mail proxy server.
320:
321: *) Bugfix: of minor potential bugs.
322: Thanks to Coverity.
323:
324: *) Bugfix: nginx/Windows could not be built with Visual Studio 2005
325: Express.
326: Thanks to HAYASHI Kentaro.
327:
328:
329: Changes with nginx 1.3.4 31 Jul 2012
330:
331: *) Change: the "ipv6only" parameter is now turned on by default for
332: listening IPv6 sockets.
333:
334: *) Feature: the Clang compiler support.
335:
336: *) Bugfix: extra listening sockets might be created.
337: Thanks to Roman Odaisky.
338:
339: *) Bugfix: nginx/Windows might hog CPU if a worker process failed to
340: start.
341: Thanks to Ricardo Villalobos Guevara.
342:
343: *) Bugfix: the "proxy_pass_header", "fastcgi_pass_header",
344: "scgi_pass_header", "uwsgi_pass_header", "proxy_hide_header",
345: "fastcgi_hide_header", "scgi_hide_header", and "uwsgi_hide_header"
346: directives might be inherited incorrectly.
347:
348:
349: Changes with nginx 1.3.3 10 Jul 2012
350:
351: *) Feature: entity tags support and the "etag" directive.
352:
353: *) Bugfix: trailing dot in a source value was not ignored if the "map"
354: directive was used with the "hostnames" parameter.
355:
356: *) Bugfix: incorrect location might be used to process a request if a
357: URI was changed via a "rewrite" directive before an internal redirect
358: to a named location.
359:
360:
361: Changes with nginx 1.3.2 26 Jun 2012
362:
363: *) Change: the "single" parameter of the "keepalive" directive is now
364: ignored.
365:
366: *) Change: SSL compression is now disabled when using all versions of
367: OpenSSL, including ones prior to 1.0.0.
368:
369: *) Feature: it is now possible to use the "ip_hash" directive to balance
370: IPv6 clients.
371:
372: *) Feature: the $status variable can now be used not only in the
373: "log_format" directive.
374:
375: *) Bugfix: a segmentation fault might occur in a worker process on
376: shutdown if the "resolver" directive was used.
377:
378: *) Bugfix: a segmentation fault might occur in a worker process if the
379: ngx_http_mp4_module was used.
380:
381: *) Bugfix: in the ngx_http_mp4_module.
382:
383: *) Bugfix: a segmentation fault might occur in a worker process if
384: conflicting wildcard server names were used.
385:
386: *) Bugfix: nginx might be terminated abnormally on a SIGBUS signal on
387: ARM platform.
388:
389: *) Bugfix: an alert "sendmsg() failed (9: Bad file number)" on HP-UX
390: while reconfiguration.
391:
392:
393: Changes with nginx 1.3.1 05 Jun 2012
394:
395: *) Security: now nginx/Windows ignores trailing dot in URI path
396: component, and does not allow URIs with ":$" in it.
397: Thanks to Vladimir Kochetkov, Positive Research Center.
398:
399: *) Feature: the "proxy_pass", "fastcgi_pass", "scgi_pass", "uwsgi_pass"
400: directives, and the "server" directive inside the "upstream" block,
401: now support IPv6 addresses.
402:
403: *) Feature: the "resolver" directive now supports IPv6 addresses and an
404: optional port specification.
405:
406: *) Feature: the "least_conn" directive inside the "upstream" block.
407:
408: *) Feature: it is now possible to specify a weight for servers while
409: using the "ip_hash" directive.
410:
411: *) Bugfix: a segmentation fault might occur in a worker process if the
412: "image_filter" directive was used; the bug had appeared in 1.3.0.
413:
414: *) Bugfix: nginx could not be built with ngx_cpp_test_module; the bug
415: had appeared in 1.1.12.
416:
417: *) Bugfix: access to variables from SSI and embedded perl module might
418: not work after reconfiguration.
419: Thanks to Yichun Zhang.
420:
421: *) Bugfix: in the ngx_http_xslt_filter_module.
422: Thanks to Kuramoto Eiji.
423:
424: *) Bugfix: memory leak if $geoip_org variable was used.
425: Thanks to Denis F. Latypoff.
426:
427: *) Bugfix: in the "proxy_cookie_domain" and "proxy_cookie_path"
428: directives.
429:
430:
431: Changes with nginx 1.3.0 15 May 2012
432:
433: *) Feature: the "debug_connection" directive now supports IPv6 addresses
434: and the "unix:" parameter.
435:
436: *) Feature: the "set_real_ip_from" directive and the "proxy" parameter
437: of the "geo" directive now support IPv6 addresses.
438:
439: *) Feature: the "real_ip_recursive", "geoip_proxy", and
440: "geoip_proxy_recursive" directives.
441:
442: *) Feature: the "proxy_recursive" parameter of the "geo" directive.
443:
444: *) Bugfix: a segmentation fault might occur in a worker process if the
445: "resolver" directive was used.
446:
447: *) Bugfix: a segmentation fault might occur in a worker process if the
448: "fastcgi_pass", "scgi_pass", or "uwsgi_pass" directives were used and
449: backend returned incorrect response.
450:
451: *) Bugfix: a segmentation fault might occur in a worker process if the
452: "rewrite" directive was used and new request arguments in a
453: replacement used variables.
454:
455: *) Bugfix: nginx might hog CPU if the open file resource limit was
456: reached.
457:
458: *) Bugfix: nginx might loop infinitely over backends if the
459: "proxy_next_upstream" directive with the "http_404" parameter was
460: used and there were backup servers specified in an upstream block.
461:
462: *) Bugfix: adding the "down" parameter of the "server" directive might
463: cause unneeded client redistribution among backend servers if the
464: "ip_hash" directive was used.
465:
466: *) Bugfix: socket leak.
467: Thanks to Yichun Zhang.
468:
469: *) Bugfix: in the ngx_http_fastcgi_module.
470:
471:
472: Changes with nginx 1.2.0 23 Apr 2012
473:
474: *) Bugfix: a segmentation fault might occur in a worker process if the
475: "try_files" directive was used; the bug had appeared in 1.1.19.
476:
477: *) Bugfix: response might be truncated if there were more than IOV_MAX
478: buffers used.
479:
480: *) Bugfix: in the "crop" parameter of the "image_filter" directive.
481: Thanks to Maxim Bublis.
482:
483:
484: Changes with nginx 1.1.19 12 Apr 2012
485:
486: *) Security: specially crafted mp4 file might allow to overwrite memory
487: locations in a worker process if the ngx_http_mp4_module was used,
488: potentially resulting in arbitrary code execution (CVE-2012-2089).
489: Thanks to Matthew Daley.
490:
491: *) Bugfix: nginx/Windows might be terminated abnormally.
492: Thanks to Vincent Lee.
493:
494: *) Bugfix: nginx hogged CPU if all servers in an upstream were marked as
495: "backup".
496:
497: *) Bugfix: the "allow" and "deny" directives might be inherited
498: incorrectly if they were used with IPv6 addresses.
499:
500: *) Bugfix: the "modern_browser" and "ancient_browser" directives might
501: be inherited incorrectly.
502:
503: *) Bugfix: timeouts might be handled incorrectly on Solaris/SPARC.
504:
505: *) Bugfix: in the ngx_http_mp4_module.
506:
507:
508: Changes with nginx 1.1.18 28 Mar 2012
509:
510: *) Change: keepalive connections are no longer disabled for Safari by
511: default.
512:
513: *) Feature: the $connection_requests variable.
514:
515: *) Feature: $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd and
516: $tcpinfo_rcv_space variables.
517:
518: *) Feature: the "worker_cpu_affinity" directive now works on FreeBSD.
519:
520: *) Feature: the "xslt_param" and "xslt_string_param" directives.
521: Thanks to Samuel Behan.
522:
523: *) Bugfix: in configure tests.
524: Thanks to Piotr Sikora.
525:
526: *) Bugfix: in the ngx_http_xslt_filter_module.
527:
528: *) Bugfix: nginx could not be built on Debian GNU/Hurd.
529:
530:
531: Changes with nginx 1.1.17 15 Mar 2012
532:
533: *) Security: content of previously freed memory might be sent to a
534: client if backend returned specially crafted response.
535: Thanks to Matthew Daley.
536:
537: *) Bugfix: in the embedded perl module if used from SSI.
538: Thanks to Matthew Daley.
539:
540: *) Bugfix: in the ngx_http_uwsgi_module.
541:
542:
543: Changes with nginx 1.1.16 29 Feb 2012
544:
545: *) Change: the simultaneous subrequest limit has been raised to 200.
546:
547: *) Feature: the "from" parameter of the "disable_symlinks" directive.
548:
549: *) Feature: the "return" and "error_page" directives can now be used to
550: return 307 redirections.
551:
552: *) Bugfix: a segmentation fault might occur in a worker process if the
553: "resolver" directive was used and there was no "error_log" directive
554: specified at global level.
555: Thanks to Roman Arutyunyan.
556:
557: *) Bugfix: a segmentation fault might occur in a worker process if the
558: "proxy_http_version 1.1" or "fastcgi_keep_conn on" directives were
559: used.
560:
561: *) Bugfix: memory leaks.
562: Thanks to Lanshun Zhou.
563:
564: *) Bugfix: in the "disable_symlinks" directive.
565:
566: *) Bugfix: on ZFS filesystem disk cache size might be calculated
567: incorrectly; the bug had appeared in 1.0.1.
568:
569: *) Bugfix: nginx could not be built by the icc 12.1 compiler.
570:
571: *) Bugfix: nginx could not be built by gcc on Solaris; the bug had
572: appeared in 1.1.15.
573:
574:
575: Changes with nginx 1.1.15 15 Feb 2012
576:
577: *) Feature: the "disable_symlinks" directive.
578:
579: *) Feature: the "proxy_cookie_domain" and "proxy_cookie_path"
580: directives.
581:
582: *) Bugfix: nginx might log incorrect error "upstream prematurely closed
583: connection" instead of correct "upstream sent too big header" one.
584: Thanks to Feibo Li.
585:
586: *) Bugfix: nginx could not be built with the ngx_http_perl_module if the
587: --with-openssl option was used.
588:
589: *) Bugfix: the number of internal redirects to named locations was not
590: limited.
591:
592: *) Bugfix: calling $r->flush() multiple times might cause errors in the
593: ngx_http_gzip_filter_module.
594:
595: *) Bugfix: temporary files might be not removed if the "proxy_store"
596: directive was used with SSI includes.
597:
598: *) Bugfix: in some cases non-cacheable variables (such as the $args
599: variable) returned old empty cached value.
600:
601: *) Bugfix: a segmentation fault might occur in a worker process if too
602: many SSI subrequests were issued simultaneously; the bug had appeared
603: in 0.7.25.
604:
605:
606: Changes with nginx 1.1.14 30 Jan 2012
607:
608: *) Feature: multiple "limit_req" limits may be used simultaneously.
609:
610: *) Bugfix: in error handling while connecting to a backend.
611: Thanks to Piotr Sikora.
612:
613: *) Bugfix: in AIO error handling on FreeBSD.
614:
615: *) Bugfix: in the OpenSSL library initialization.
616:
617: *) Bugfix: the "proxy_redirect" directives might be inherited
618: incorrectly.
619:
620: *) Bugfix: memory leak during reconfiguration if the "pcre_jit"
621: directive was used.
622:
623:
624: Changes with nginx 1.1.13 16 Jan 2012
625:
626: *) Feature: the "TLSv1.1" and "TLSv1.2" parameters of the
627: "ssl_protocols" directive.
628:
629: *) Bugfix: the "limit_req" directive parameters were not inherited
630: correctly; the bug had appeared in 1.1.12.
631:
632: *) Bugfix: the "proxy_redirect" directive incorrectly processed
633: "Refresh" header if regular expression were used.
634:
635: *) Bugfix: the "proxy_cache_use_stale" directive with "error" parameter
636: did not return answer from cache if there were no live upstreams.
637:
638: *) Bugfix: the "worker_cpu_affinity" directive might not work.
639:
640: *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
641: 1.1.12.
642:
643: *) Bugfix: in the ngx_http_mp4_module.
644:
645:
646: Changes with nginx 1.1.12 26 Dec 2011
647:
648: *) Change: a "proxy_pass" directive without URI part now uses changed
649: URI after redirection with the "error_page" directive.
650: Thanks to Lanshun Zhou.
651:
652: *) Feature: the "proxy/fastcgi/scgi/uwsgi_cache_lock",
653: "proxy/fastcgi/scgi/uwsgi_cache_lock_timeout" directives.
654:
655: *) Feature: the "pcre_jit" directive.
656:
657: *) Feature: the "if" SSI command supports captures in regular
658: expressions.
659:
660: *) Bugfix: the "if" SSI command did not work inside the "block" command.
661:
662: *) Bugfix: the "limit_conn_log_level" and "limit_req_log_level"
663: directives might not work.
664:
665: *) Bugfix: the "limit_rate" directive did not allow to use full
666: throughput, even if limit value was very high.
667:
668: *) Bugfix: the "sendfile_max_chunk" directive did not work, if the
669: "limit_rate" directive was used.
670:
671: *) Bugfix: a "proxy_pass" directive without URI part always used
672: original request URI if variables were used.
673:
674: *) Bugfix: a "proxy_pass" directive without URI part might use original
675: request after redirection with the "try_files" directive.
676: Thanks to Lanshun Zhou.
677:
678: *) Bugfix: in the ngx_http_scgi_module.
679:
680: *) Bugfix: in the ngx_http_mp4_module.
681:
682: *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
683: 1.1.9.
684:
685:
686: Changes with nginx 1.1.11 12 Dec 2011
687:
688: *) Feature: the "so_keepalive" parameter of the "listen" directive.
689: Thanks to Vsevolod Stakhov.
690:
691: *) Feature: the "if_not_empty" parameter of the
692: "fastcgi/scgi/uwsgi_param" directives.
693:
694: *) Feature: the $https variable.
695:
696: *) Feature: the "proxy_redirect" directive supports variables in the
697: first parameter.
698:
699: *) Feature: the "proxy_redirect" directive supports regular expressions.
700:
701: *) Bugfix: the $sent_http_cache_control variable might contain a wrong
702: value if the "expires" directive was used.
703: Thanks to Yichun Zhang.
704:
705: *) Bugfix: the "read_ahead" directive might not work combined with
706: "try_files" and "open_file_cache".
707:
708: *) Bugfix: a segmentation fault might occur in a worker process if small
709: time was used in the "inactive" parameter of the "proxy_cache_path"
710: directive.
711:
712: *) Bugfix: responses from cache might hang.
713:
714:
715: Changes with nginx 1.1.10 30 Nov 2011
716:
717: *) Bugfix: a segmentation fault occured in a worker process if AIO was
718: used on Linux; the bug had appeared in 1.1.9.
719:
720:
721: Changes with nginx 1.1.9 28 Nov 2011
722:
723: *) Change: now double quotes are encoded in an "echo" SSI-command
724: output.
725: Thanks to Zaur Abasmirzoev.
726:
727: *) Feature: the "valid" parameter of the "resolver" directive. By
728: default TTL returned by a DNS server is used.
729: Thanks to Kirill A. Korinskiy.
730:
731: *) Bugfix: nginx might hang after a worker process abnormal termination.
732:
733: *) Bugfix: a segmentation fault might occur in a worker process if SNI
734: was used; the bug had appeared in 1.1.2.
735:
736: *) Bugfix: in the "keepalive_disable" directive; the bug had appeared in
737: 1.1.8.
738: Thanks to Alexander Usov.
739:
740: *) Bugfix: SIGWINCH signal did not work after first binary upgrade; the
741: bug had appeared in 1.1.1.
742:
743: *) Bugfix: backend responses with length not matching "Content-Length"
744: header line are no longer cached.
745:
746: *) Bugfix: in the "scgi_param" directive, if complex parameters were
747: used.
748:
749: *) Bugfix: in the "epoll" event method.
750: Thanks to Yichun Zhang.
751:
752: *) Bugfix: in the ngx_http_flv_module.
753: Thanks to Piotr Sikora.
754:
755: *) Bugfix: in the ngx_http_mp4_module.
756:
757: *) Bugfix: IPv6 addresses are now handled properly in a request line and
758: in a "Host" request header line.
759:
760: *) Bugfix: "add_header" and "expires" directives did not work if a
761: request was proxied and response status code was 206.
762:
763: *) Bugfix: nginx could not be built on FreeBSD 10.
764:
765: *) Bugfix: nginx could not be built on AIX.
766:
767:
768: Changes with nginx 1.1.8 14 Nov 2011
769:
770: *) Change: the ngx_http_limit_zone_module was renamed to the
771: ngx_http_limit_conn_module.
772:
773: *) Change: the "limit_zone" directive was superseded by the
774: "limit_conn_zone" directive with a new syntax.
775:
776: *) Feature: support for multiple "limit_conn" limits on the same level.
777:
778: *) Feature: the "image_filter_sharpen" directive.
779:
780: *) Bugfix: a segmentation fault might occur in a worker process if
781: resolver got a big DNS response.
782: Thanks to Ben Hawkes.
783:
784: *) Bugfix: in cache key calculation if internal MD5 implementation was
785: used; the bug had appeared in 1.0.4.
786:
787: *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request
788: header lines might be passed to backend while caching; or not passed
789: without caching if caching was enabled in another part of the
790: configuration.
791:
792: *) Bugfix: the module ngx_http_mp4_module sent incorrect
793: "Content-Length" response header line if the "start" argument was
794: used.
795: Thanks to Piotr Sikora.
796:
797:
798: Changes with nginx 1.1.7 31 Oct 2011
799:
800: *) Feature: support of several DNS servers in the "resolver" directive.
801: Thanks to Kirill A. Korinskiy.
802:
803: *) Bugfix: a segmentation fault occurred on start or during
804: reconfiguration if the "ssl" directive was used at http level and
805: there was no "ssl_certificate" defined.
806:
807: *) Bugfix: reduced memory consumption while proxying big files if they
808: were buffered to disk.
809:
810: *) Bugfix: a segmentation fault might occur in a worker process if
811: "proxy_http_version 1.1" directive was used.
812:
813: *) Bugfix: in the "expires @time" directive.
814:
815:
816: Changes with nginx 1.1.6 17 Oct 2011
817:
818: *) Change in internal API: now module context data are cleared while
819: internal redirect to named location.
820: Requested by Yichun Zhang.
821:
822: *) Change: if a server in an upstream failed, only one request will be
823: sent to it after fail_timeout; the server will be considered alive if
824: it will successfully respond to the request.
825:
826: *) Change: now the 0x7F-0x1F characters are escaped as \xXX in an
827: access_log.
828:
829: *) Feature: "proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support
830: the following additional values: X-Accel-Limit-Rate,
831: X-Accel-Buffering, X-Accel-Charset.
832:
833: *) Feature: decrease of memory consumption if SSL is used.
834:
835: *) Bugfix: some UTF-8 characters were processed incorrectly.
836: Thanks to Alexey Kuts.
837:
838: *) Bugfix: the ngx_http_rewrite_module directives specified at "server"
839: level were executed twice if no matching locations were defined.
840:
841: *) Bugfix: a socket leak might occurred if "aio sendfile" was used.
842:
843: *) Bugfix: connections with fast clients might be closed after
844: send_timeout if file AIO was used.
845:
846: *) Bugfix: in the ngx_http_autoindex_module.
847:
848: *) Bugfix: the module ngx_http_mp4_module did not support seeking on
849: 32-bit platforms.
850:
851:
852: Changes with nginx 1.1.5 05 Oct 2011
853:
854: *) Feature: the "uwsgi_buffering" and "scgi_buffering" directives.
855: Thanks to Peter Smit.
856:
857: *) Bugfix: non-cacheable responses might be cached if
858: "proxy_cache_bypass" directive was used.
859: Thanks to John Ferlito.
860:
861: *) Bugfix: in HTTP/1.1 support in the ngx_http_proxy_module.
862:
863: *) Bugfix: cached responses with an empty body were returned
864: incorrectly; the bug had appeared in 0.8.31.
865:
866: *) Bugfix: 201 responses of the ngx_http_dav_module were incorrect; the
867: bug had appeared in 0.8.32.
868:
869: *) Bugfix: in the "return" directive.
870:
871: *) Bugfix: the "ssl_session_cache builtin" directive caused segmentation
872: fault; the bug had appeared in 1.1.1.
873:
874:
875: Changes with nginx 1.1.4 20 Sep 2011
876:
877: *) Feature: the ngx_http_upstream_keepalive module.
878:
879: *) Feature: the "proxy_http_version" directive.
880:
881: *) Feature: the "fastcgi_keep_conn" directive.
882:
883: *) Feature: the "worker_aio_requests" directive.
884:
885: *) Bugfix: if nginx was built --with-file-aio it could not be run on
886: Linux kernel which did not support AIO.
887:
888: *) Bugfix: in Linux AIO error processing.
889: Thanks to Hagai Avrahami.
890:
891: *) Bugfix: reduced memory consumption for long-lived requests.
892:
893: *) Bugfix: the module ngx_http_mp4_module did not support 64-bit MP4
894: "co64" atom.
895:
896:
897: Changes with nginx 1.1.3 14 Sep 2011
898:
899: *) Feature: the module ngx_http_mp4_module.
900:
901: *) Bugfix: in Linux AIO combined with open_file_cache.
902:
903: *) Bugfix: open_file_cache did not update file info on retest if file
904: was not atomically changed.
905:
906: *) Bugfix: nginx could not be built on MacOSX 10.7.
907:
908:
909: Changes with nginx 1.1.2 05 Sep 2011
910:
911: *) Change: now if total size of all ranges is greater than source
912: response size, then nginx disables ranges and returns just the source
913: response.
914:
915: *) Feature: the "max_ranges" directive.
916:
917: *) Bugfix: the "ssl_verify_client", "ssl_verify_depth", and
918: "ssl_prefer_server_ciphers" directives might work incorrectly if SNI
919: was used.
920:
921: *) Bugfix: in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort"
922: directives.
923:
924:
925: Changes with nginx 1.1.1 22 Aug 2011
926:
927: *) Change: now cache loader processes either as many files as specified
928: by "loader_files" parameter or works no longer than time specified by
929: the "loader_threshold" parameter during each iteration.
930:
931: *) Change: now SIGWINCH signal works only in daemon mode.
932:
933: *) Feature: now shared zones and caches use POSIX semaphores on Solaris.
934: Thanks to Den Ivanov.
935:
936: *) Feature: accept filters are now supported on NetBSD.
937:
938: *) Bugfix: nginx could not be built on Linux 3.0.
939:
940: *) Bugfix: nginx did not use gzipping in some cases; the bug had
941: appeared in 1.1.0.
942:
943: *) Bugfix: request body might be processed incorrectly if client used
944: pipelining.
945:
946: *) Bugfix: in the "request_body_in_single_buf" directive.
947:
948: *) Bugfix: in "proxy_set_body" and "proxy_pass_request_body" directives
949: if SSL connection to backend was used.
950:
951: *) Bugfix: nginx hogged CPU if all servers in an upstream were marked as
952: "down".
953:
954: *) Bugfix: a segmentation fault might occur during reconfiguration if
955: ssl_session_cache was defined but not used in previous configuration.
956:
957: *) Bugfix: a segmentation fault might occur in a worker process if many
958: backup servers were used in an upstream.
959:
960: *) Bugfix: a segmentation fault might occur in a worker process if
961: "fastcgi/scgi/uwsgi_param" directives were used with values starting
962: with "HTTP_"; the bug had appeared in 0.8.40.
963:
964:
965: Changes with nginx 1.1.0 01 Aug 2011
966:
967: *) Feature: cache loader run time decrease.
968:
969: *) Feature: "loader_files", "loader_sleep", and "loader_threshold"
970: options of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives.
971:
972: *) Feature: loading time decrease of configuration with large number of
973: HTTPS sites.
974:
975: *) Feature: now nginx supports ECDHE key exchange ciphers.
976: Thanks to Adrian Kotelba.
977:
978: *) Feature: the "lingering_close" directive.
979: Thanks to Maxim Dounin.
980:
981: *) Bugfix: in closing connection for pipelined requests.
982: Thanks to Maxim Dounin.
983:
984: *) Bugfix: nginx did not disable gzipping if client sent "gzip;q=0" in
985: "Accept-Encoding" request header line.
986:
987: *) Bugfix: in timeout in unbuffered proxied mode.
988: Thanks to Maxim Dounin.
989:
990: *) Bugfix: memory leaks when a "proxy_pass" directive contains variables
991: and proxies to an HTTPS backend.
992: Thanks to Maxim Dounin.
993:
994: *) Bugfix: in parameter validaiton of a "proxy_pass" directive with
995: variables.
996: Thanks to Lanshun Zhou.
997:
998: *) Bugfix: SSL did not work on QNX.
999: Thanks to Maxim Dounin.
1000:
1001: *) Bugfix: SSL modules could not be built by gcc 4.6 without
1002: --with-debug option.
1003:
1004:
1005: Changes with nginx 1.0.5 19 Jul 2011
1006:
1007: *) Change: now default SSL ciphers are "HIGH:!aNULL:!MD5".
1008: Thanks to Rob Stradling.
1009:
1010: *) Feature: the "referer_hash_max_size" and "referer_hash_bucket_size"
1011: directives.
1012: Thanks to Witold Filipczyk.
1013:
1014: *) Feature: $uid_reset variable.
1015:
1016: *) Bugfix: a segmentation fault might occur in a worker process, if a
1017: caching was used.
1018: Thanks to Lanshun Zhou.
1019:
1020: *) Bugfix: worker processes may got caught in an endless loop during
1021: reconfiguration, if a caching was used; the bug had appeared in
1022: 0.8.48.
1023: Thanks to Maxim Dounin.
1024:
1025: *) Bugfix: "stalled cache updating" alert.
1026: Thanks to Maxim Dounin.
1027:
1028:
1029: Changes with nginx 1.0.4 01 Jun 2011
1030:
1031: *) Change: now regular expressions case sensitivity in the "map"
1032: directive is given by prefixes "~" or "~*".
1033:
1034: *) Feature: now shared zones and caches use POSIX semaphores on Linux.
1035: Thanks to Denis F. Latypoff.
1036:
1037: *) Bugfix: "stalled cache updating" alert.
1038:
1039: *) Bugfix: nginx could not be built --without-http_auth_basic_module;
1040: the bug had appeared in 1.0.3.
1041:
1042:
1043: Changes with nginx 1.0.3 25 May 2011
1044:
1045: *) Feature: the "auth_basic_user_file" directive supports "$apr1",
1046: "{PLAIN}", and "{SSHA}" password encryption methods.
1047: Thanks to Maxim Dounin.
1048:
1049: *) Feature: the "geoip_org" directive and $geoip_org variable.
1050: Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff.
1051:
1052: *) Feature: ngx_http_geo_module and ngx_http_geoip_module support IPv4
1053: addresses mapped to IPv6 addresses.
1054:
1055: *) Bugfix: a segmentation fault occurred in a worker process during
1056: testing IPv4 address mapped to IPv6 address, if access or deny rules
1057: were defined only for IPv6; the bug had appeared in 0.8.22.
1058:
1059: *) Bugfix: a cached response may be broken if "proxy/fastcgi/scgi/
1060: uwsgi_cache_bypass" and "proxy/fastcgi/scgi/uwsgi_no_cache" directive
1061: values were different; the bug had appeared in 0.8.46.
1062:
1063:
1064: Changes with nginx 1.0.2 10 May 2011
1065:
1066: *) Feature: now shared zones and caches use POSIX semaphores.
1067:
1068: *) Bugfix: in the "rotate" parameter of the "image_filter" directive.
1069: Thanks to Adam Bocim.
1070:
1071: *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
1072: 1.0.1.
1073:
1074:
1075: Changes with nginx 1.0.1 03 May 2011
1076:
1077: *) Change: now the "split_clients" directive uses MurmurHash2 algorithm
1078: because of better distribution.
1079: Thanks to Oleg Mamontov.
1080:
1081: *) Change: now long strings starting with zero are not considered as
1082: false values.
1083: Thanks to Maxim Dounin.
1084:
1085: *) Change: now nginx uses a default listen backlog value 511 on Linux.
1086:
1087: *) Feature: the $upstream_... variables may be used in the SSI and perl
1088: modules.
1089:
1090: *) Bugfix: now nginx limits better disk cache size.
1091: Thanks to Oleg Mamontov.
1092:
1093: *) Bugfix: a segmentation fault might occur while parsing incorrect IPv4
1094: address; the bug had appeared in 0.9.3.
1095: Thanks to Maxim Dounin.
1096:
1097: *) Bugfix: nginx could not be built by gcc 4.6 without --with-debug
1098: option.
1099:
1100: *) Bugfix: nginx could not be built on Solaris 9 and earlier; the bug
1101: had appeared in 0.9.3.
1102: Thanks to Dagobert Michelsen.
1103:
1104: *) Bugfix: $request_time variable had invalid values if subrequests were
1105: used; the bug had appeared in 0.8.47.
1106: Thanks to Igor A. Valcov.
1107:
1108:
1109: Changes with nginx 1.0.0 12 Apr 2011
1110:
1111: *) Bugfix: a cache manager might hog CPU after reload.
1112: Thanks to Maxim Dounin.
1113:
1114: *) Bugfix: an "image_filter crop" directive worked incorrectly coupled
1115: with an "image_filter rotate 180" directive.
1116:
1117: *) Bugfix: a "satisfy any" directive disabled custom 401 error page.
1118:
1119:
1120: Changes with nginx 0.9.7 04 Apr 2011
1121:
1122: *) Feature: now keepalive connections may be closed premature, if there
1123: are no free worker connections.
1124: Thanks to Maxim Dounin.
1125:
1126: *) Feature: the "rotate" parameter of the "image_filter" directive.
1127: Thanks to Adam Bocim.
1128:
1129: *) Bugfix: a case when a backend in "fastcgi_pass", "scgi_pass", or
1130: "uwsgi_pass" directives is given by expression and refers to a
1131: defined upstream.
1132:
1133:
1134: Changes with nginx 0.9.6 21 Mar 2011
1135:
1136: *) Feature: the "map" directive supports regular expressions as value of
1137: the first parameter.
1138:
1139: *) Feature: $time_iso8601 access_log variable.
1140: Thanks to Michael Lustfield.
1141:
1142:
1143: Changes with nginx 0.9.5 21 Feb 2011
1144:
1145: *) Change: now nginx uses a default listen backlog value -1 on Linux.
1146: Thanks to Andrei Nigmatulin.
1147:
1148: *) Feature: the "utf8" parameter of "geoip_country" and "geoip_city"
1149: directives.
1150: Thanks to Denis F. Latypoff.
1151:
1152: *) Bugfix: in a default "proxy_redirect" directive if "proxy_pass"
1153: directive has no URI part.
1154: Thanks to Maxim Dounin.
1155:
1156: *) Bugfix: an "error_page" directive did not work with nonstandard error
1157: codes; the bug had appeared in 0.8.53.
1158: Thanks to Maxim Dounin.
1159:
1160:
1161: Changes with nginx 0.9.4 21 Jan 2011
1162:
1163: *) Feature: the "server_name" directive supports the $hostname variable.
1164:
1165: *) Feature: 494 code for "Request Header Too Large" error.
1166:
1167:
1168: Changes with nginx 0.9.3 13 Dec 2010
1169:
1170: *) Bugfix: if there was a single server for given IPv6 address:port
1171: pair, then captures in regular expressions in a "server_name"
1172: directive did not work.
1173:
1174: *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
1175: 0.9.0.
1176:
1177:
1178: Changes with nginx 0.9.2 06 Dec 2010
1179:
1180: *) Feature: the "If-Unmodified-Since" client request header line
1181: support.
1182:
1183: *) Workaround: fallback to accept() syscall if accept4() was not
1184: implemented; the issue had appeared in 0.9.0.
1185:
1186: *) Bugfix: nginx could not be built on Cygwin; the bug had appeared in
1187: 0.9.0.
1188:
1189: *) Bugfix: for OpenSSL vulnerability CVE-2010-4180.
1190: Thanks to Maxim Dounin.
1191:
1192:
1193: Changes with nginx 0.9.1 30 Nov 2010
1194:
1195: *) Bugfix: "return CODE message" directives did not work; the bug had
1196: appeared in 0.9.0.
1197:
1198:
1199: Changes with nginx 0.9.0 29 Nov 2010
1200:
1201: *) Feature: the "keepalive_disable" directive.
1202:
1203: *) Feature: the "map" directive supports variables as value of a defined
1204: variable.
1205:
1206: *) Feature: the "map" directive supports empty strings as value of the
1207: first parameter.
1208:
1209: *) Feature: the "map" directive supports expressions as the first
1210: parameter.
1211:
1212: *) Feature: nginx(8) manual page.
1213: Thanks to Sergey Osokin.
1214:
1215: *) Feature: Linux accept4() support.
1216: Thanks to Simon Liu.
1217:
1218: *) Workaround: elimination of Linux linker warning about "sys_errlist"
1219: and "sys_nerr"; the warning had appeared in 0.8.35.
1220:
1221: *) Bugfix: a segmentation fault might occur in a worker process, if the
1222: "auth_basic" directive was used.
1223: Thanks to Michail Laletin.
1224:
1225: *) Bugfix: compatibility with ngx_http_eval_module; the bug had appeared
1226: in 0.8.42.
1227:
1228:
1229: Changes with nginx 0.8.53 18 Oct 2010
1230:
1231: *) Feature: now the "error_page" directive allows to change a status
1232: code in a redirect.
1233:
1234: *) Feature: the "gzip_disable" directive supports special "degradation"
1235: mask.
1236:
1237: *) Bugfix: a socket leak might occurred if file AIO was used.
1238: Thanks to Maxim Dounin.
1239:
1240: *) Bugfix: if the first server had no "listen" directive and there was
1241: no explicit default server, then a next server with a "listen"
1242: directive became the default server; the bug had appeared in 0.8.21.
1243:
1244:
1245: Changes with nginx 0.8.52 28 Sep 2010
1246:
1247: *) Bugfix: nginx used SSL mode for a listen socket if any listen option
1248: was set; the bug had appeared in 0.8.51.
1249:
1250:
1251: Changes with nginx 0.8.51 27 Sep 2010
1252:
1253: *) Change: the "secure_link_expires" directive has been canceled.
1254:
1255: *) Change: a logging level of resolver errors has been lowered from
1256: "alert" to "error".
1257:
1258: *) Feature: now a listen socket "ssl" parameter may be set several
1259: times.
1260:
1261:
1262: Changes with nginx 0.8.50 02 Sep 2010
1263:
1264: *) Feature: the "secure_link", "secure_link_md5", and
1265: "secure_link_expires" directives of the ngx_http_secure_link_module.
1266:
1267: *) Feature: the -q switch.
1268: Thanks to Gena Makhomed.
1269:
1270: *) Bugfix: worker processes may got caught in an endless loop during
1271: reconfiguration, if a caching was used; the bug had appeared in
1272: 0.8.48.
1273:
1274: *) Bugfix: in the "gzip_disable" directive.
1275: Thanks to Derrick Petzold.
1276:
1277: *) Bugfix: nginx/Windows could not send stop, quit, reopen, and reload
1278: signals to a process run in other session.
1279:
1280:
1281: Changes with nginx 0.8.49 09 Aug 2010
1282:
1283: *) Feature: the "image_filter_jpeg_quality" directive supports
1284: variables.
1285:
1286: *) Bugfix: a segmentation fault might occur in a worker process, if the
1287: $geoip_region_name variables was used; the bug had appeared in
1288: 0.8.48.
1289:
1290: *) Bugfix: errors intercepted by error_page were cached only for next
1291: request; the bug had appeared in 0.8.48.
1292:
1293:
1294: Changes with nginx 0.8.48 03 Aug 2010
1295:
1296: *) Change: now the "server_name" directive default value is an empty
1297: name "".
1298: Thanks to Gena Makhomed.
1299:
1300: *) Change: now the "server_name_in_redirect" directive default value is
1301: "off".
1302:
1303: *) Feature: the $geoip_dma_code, $geoip_area_code, and
1304: $geoip_region_name variables.
1305: Thanks to Christine McGonagle.
1306:
1307: *) Bugfix: the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and
1308: "scgi_pass" directives were not inherited inside "limit_except"
1309: blocks.
1310:
1311: *) Bugfix: the "proxy_cache_min_uses", "fastcgi_cache_min_uses"
1312: "uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not
1313: work; the bug had appeared in 0.8.46.
1314:
1315: *) Bugfix: the "fastcgi_split_path_info" directive used incorrectly
1316: captures, if only parts of an URI were captured.
1317: Thanks to Yuriy Taraday and Frank Enderle.
1318:
1319: *) Bugfix: the "rewrite" directive did not escape a ";" character during
1320: copying from URI to query string.
1321: Thanks to Daisuke Murase.
1322:
1323: *) Bugfix: the ngx_http_image_filter_module closed a connection, if an
1324: image was larger than "image_filter_buffer" size.
1325:
1326:
1327: Changes with nginx 0.8.47 28 Jul 2010
1328:
1329: *) Bugfix: $request_time variable had invalid values for subrequests.
1330:
1331: *) Bugfix: errors intercepted by error_page could not be cached.
1332:
1333: *) Bugfix: a cache manager process may got caught in an endless loop, if
1334: max_size parameter was used; the bug had appeared in 0.8.46.
1335:
1336:
1337: Changes with nginx 0.8.46 19 Jul 2010
1338:
1339: *) Change: now the "proxy_no_cache", "fastcgi_no_cache",
1340: "uwsgi_no_cache", and "scgi_no_cache" directives affect on a cached
1341: response saving only.
1342:
1343: *) Feature: the "proxy_cache_bypass", "fastcgi_cache_bypass",
1344: "uwsgi_cache_bypass", and "scgi_cache_bypass" directives.
1345:
1346: *) Bugfix: nginx did not free memory in cache keys zones if there was an
1347: error during working with backend: the memory was freed only after
1348: inactivity time or on memory low condition.
1349:
1350:
1351: Changes with nginx 0.8.45 13 Jul 2010
1352:
1353: *) Feature: ngx_http_xslt_filter improvements.
1354: Thanks to Laurence Rowe.
1355:
1356: *) Bugfix: SSI response might be truncated after include with
1357: wait="yes"; the bug had appeared in 0.7.25.
1358: Thanks to Maxim Dounin.
1359:
1360: *) Bugfix: the "listen" directive did not support the "setfib=0"
1361: parameter.
1362:
1363:
1364: Changes with nginx 0.8.44 05 Jul 2010
1365:
1366: *) Change: now nginx does not cache by default backend responses, if
1367: they have a "Set-Cookie" header line.
1368:
1369: *) Feature: the "listen" directive supports the "setfib" parameter.
1370: Thanks to Andrew Filonov.
1371:
1372: *) Bugfix: the "sub_filter" directive might change character case on
1373: partial match.
1374:
1375: *) Bugfix: compatibility with HP/UX.
1376:
1377: *) Bugfix: compatibility with AIX xlC_r compiler.
1378:
1379: *) Bugfix: nginx treated large SSLv2 packets as plain requests.
1380: Thanks to Miroslaw Jaworski.
1381:
1382:
1383: Changes with nginx 0.8.43 30 Jun 2010
1384:
1385: *) Feature: large geo ranges base loading speed-up.
1386:
1387: *) Bugfix: an error_page redirection to "location /zero {return 204;}"
1388: without changing status code kept the error body; the bug had
1389: appeared in 0.8.42.
1390:
1391: *) Bugfix: nginx might close IPv6 listen socket during reconfiguration.
1392: Thanks to Maxim Dounin.
1393:
1394: *) Bugfix: the $uid_set variable may be used at any request processing
1395: stage.
1396:
1397:
1398: Changes with nginx 0.8.42 21 Jun 2010
1399:
1400: *) Change: now nginx tests locations given by regular expressions, if
1401: request was matched exactly by a location given by a prefix string.
1402: The previous behavior has been introduced in 0.7.1.
1403:
1404: *) Feature: the ngx_http_scgi_module.
1405: Thanks to Manlio Perillo.
1406:
1407: *) Feature: a text answer may be added to a "return" directive.
1408:
1409:
1410: Changes with nginx 0.8.41 15 Jun 2010
1411:
1412: *) Security: nginx/Windows worker might be terminated abnormally if a
1413: requested file name has invalid UTF-8 encoding.
1414:
1415: *) Change: now nginx allows to use spaces in a request line.
1416:
1417: *) Bugfix: the "proxy_redirect" directive changed incorrectly a backend
1418: "Refresh" response header line.
1419: Thanks to Andrey Andreew and Max Sogin.
1420:
1421: *) Bugfix: nginx did not support path without host name in "Destination"
1422: request header line.
1423:
1424:
1425: Changes with nginx 0.8.40 07 Jun 2010
1426:
1427: *) Security: now nginx/Windows ignores default file stream name.
1428: Thanks to Jose Antonio Vazquez Gonzalez.
1429:
1430: *) Feature: the ngx_http_uwsgi_module.
1431: Thanks to Roberto De Ioris.
1432:
1433: *) Feature: a "fastcgi_param" directive with value starting with "HTTP_"
1434: overrides a client request header line.
1435:
1436: *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request
1437: header lines were passed to FastCGI-server while caching.
1438:
1439: *) Bugfix: listen unix domain socket could not be changed during
1440: reconfiguration.
1441: Thanks to Maxim Dounin.
1442:
1443:
1444: Changes with nginx 0.8.39 31 May 2010
1445:
1446: *) Bugfix: an inherited "alias" directive worked incorrectly in
1447: inclusive location.
1448:
1449: *) Bugfix: in "alias" with variables and "try_files" directives
1450: combination.
1451:
1452: *) Bugfix: listen unix domain and IPv6 sockets did not inherit while
1453: online upgrade.
1454: Thanks to Maxim Dounin.
1455:
1456:
1457: Changes with nginx 0.8.38 24 May 2010
1458:
1459: *) Feature: the "proxy_no_cache" and "fastcgi_no_cache" directives.
1460:
1461: *) Feature: now the "rewrite" directive does a redirect automatically if
1462: the $scheme variable is used.
1463: Thanks to Piotr Sikora.
1464:
1465: *) Bugfix: now "limit_req" delay directive conforms to the described
1466: algorithm.
1467: Thanks to Maxim Dounin.
1468:
1469: *) Bugfix: the $uid_got variable might not be used in the SSI and perl
1470: modules.
1471:
1472:
1473: Changes with nginx 0.8.37 17 May 2010
1474:
1475: *) Feature: the ngx_http_split_clients_module.
1476:
1477: *) Feature: the "map" directive supports keys more than 255 characters.
1478:
1479: *) Bugfix: nginx ignored the "private" and "no-store" values in the
1480: "Cache-Control" backend response header line.
1481:
1482: *) Bugfix: a "stub" parameter of an "include" SSI directive was not
1483: used, if empty response has 200 status code.
1484:
1485: *) Bugfix: if a proxied or FastCGI request was internally redirected to
1486: another proxied or FastCGI location, then a segmentation fault might
1487: occur in a worker process; the bug had appeared in 0.8.33.
1488: Thanks to Yichun Zhang.
1489:
1490: *) Bugfix: IMAP connections may hang until they timed out while talking
1491: to Zimbra server.
1492: Thanks to Alan Batie.
1493:
1494:
1495: Changes with nginx 0.8.36 22 Apr 2010
1496:
1497: *) Bugfix: the ngx_http_dav_module handled incorrectly the DELETE, COPY,
1498: and MOVE methods for symlinks.
1499:
1500: *) Bugfix: values of the $query_string, $arg_..., etc. variables cached
1501: in main request were used by the SSI module in subrequests.
1502:
1503: *) Bugfix: a variable value was repeatedly encoded after each an "echo"
1504: SSI-command output; the bug had appeared in 0.6.14.
1505:
1506: *) Bugfix: a worker process hung if a FIFO file was requested.
1507: Thanks to Vicente Aguilar and Maxim Dounin.
1508:
1509: *) Bugfix: OpenSSL-1.0.0 compatibility on 64-bit Linux.
1510: Thanks to Maxim Dounin.
1511:
1512: *) Bugfix: nginx could not be built --without-http-cache; the bug had
1513: appeared in 0.8.35.
1514:
1515:
1516: Changes with nginx 0.8.35 01 Apr 2010
1517:
1518: *) Change: now the charset filter runs before the SSI filter.
1519:
1520: *) Feature: the "chunked_transfer_encoding" directive.
1521:
1522: *) Bugfix: an "&" character was not escaped when it was copied in
1523: arguments part in a rewrite rule.
1524:
1525: *) Bugfix: nginx might be terminated abnormally while a signal
1526: processing or if the directive "timer_resolution" was used on
1527: platforms which do not support kqueue or eventport notification
1528: methods.
1529: Thanks to George Xie and Maxim Dounin.
1530:
1531: *) Bugfix: if temporary files and permanent storage area resided at
1532: different file systems, then permanent file modification times were
1533: incorrect.
1534: Thanks to Maxim Dounin.
1535:
1536: *) Bugfix: ngx_http_memcached_module might issue the error message
1537: "memcached sent invalid trailer".
1538: Thanks to Maxim Dounin.
1539:
1540: *) Bugfix: nginx could not built zlib-1.2.4 library using the library
1541: sources.
1542: Thanks to Maxim Dounin.
1543:
1544: *) Bugfix: a segmentation fault occurred in a worker process, if there
1545: was large stderr output before FastCGI response; the bug had appeared
1546: in 0.8.34.
1547: Thanks to Maxim Dounin.
1548:
1549:
1550: Changes with nginx 0.8.34 03 Mar 2010
1551:
1552: *) Bugfix: nginx did not support all ciphers and digests used in client
1553: certificates.
1554: Thanks to Innocenty Enikeew.
1555:
1556: *) Bugfix: nginx cached incorrectly FastCGI responses if there was large
1557: stderr output before response.
1558:
1559: *) Bugfix: nginx did not support HTTPS referrers.
1560:
1561: *) Bugfix: nginx/Windows might not find file if path in configuration
1562: was given in other character case; the bug had appeared in 0.8.33.
1563:
1564: *) Bugfix: the $date_local variable has an incorrect value, if the "%s"
1565: format was used.
1566: Thanks to Maxim Dounin.
1567:
1568: *) Bugfix: if ssl_session_cache was not set or was set to "none", then
1569: during client certificate verify the error "session id context
1570: uninitialized" might occur; the bug had appeared in 0.7.1.
1571:
1572: *) Bugfix: a geo range returned default value if the range included two
1573: or more /16 networks and did not begin at /16 network boundary.
1574:
1575: *) Bugfix: a block used in a "stub" parameter of an "include" SSI
1576: directive was output with "text/plain" MIME type.
1577:
1578: *) Bugfix: $r->sleep() did not work; the bug had appeared in 0.8.11.
1579:
1580:
1581: Changes with nginx 0.8.33 01 Feb 2010
1582:
1583: *) Security: now nginx/Windows ignores trailing spaces in URI.
1584: Thanks to Dan Crowley, Core Security Technologies.
1585:
1586: *) Security: now nginx/Windows ignores short files names.
1587: Thanks to Dan Crowley, Core Security Technologies.
1588:
1589: *) Change: now keepalive connections after POST requests are not
1590: disabled for MSIE 7.0+.
1591: Thanks to Adam Lounds.
1592:
1593: *) Workaround: now keepalive connections are disabled for Safari.
1594: Thanks to Joshua Sierles.
1595:
1596: *) Bugfix: if a proxied or FastCGI request was internally redirected to
1597: another proxied or FastCGI location, then $upstream_response_time
1598: variable may have abnormally large value; the bug had appeared in
1599: 0.8.7.
1600:
1601: *) Bugfix: a segmentation fault might occur in a worker process, while
1602: discarding a request body; the bug had appeared in 0.8.11.
1603:
1604:
1605: Changes with nginx 0.8.32 11 Jan 2010
1606:
1607: *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module.
1608: Thanks to Maxim Dounin.
1609:
1610: *) Bugfix: regular expression named captures worked for two names only.
1611: Thanks to Maxim Dounin.
1612:
1613: *) Bugfix: now the "localhost" name is used in the "Host" request header
1614: line, if an unix domain socket is defined in the "auth_http"
1615: directive.
1616: Thanks to Maxim Dounin.
1617:
1618: *) Bugfix: nginx did not support chunked transfer encoding for 201
1619: responses.
1620: Thanks to Julian Reich.
1621:
1622: *) Bugfix: if the "expires modified" set date in the past, then a
1623: negative number was set in the "Cache-Control" response header line.
1624: Thanks to Alex Kapranoff.
1625:
1626:
1627: Changes with nginx 0.8.31 23 Dec 2009
1628:
1629: *) Feature: now the "error_page" directive may redirect the 301 and 302
1630: responses.
1631:
1632: *) Feature: the $geoip_city_continent_code, $geoip_latitude, and
1633: $geoip_longitude variables.
1634: Thanks to Arvind Sundararajan.
1635:
1636: *) Feature: now the ngx_http_image_filter_module deletes always EXIF and
1637: other application specific data if the data consume more than 5% of a
1638: JPEG file.
1639:
1640: *) Bugfix: nginx closed a connection if a cached response had an empty
1641: body.
1642: Thanks to Piotr Sikora.
1643:
1644: *) Bugfix: nginx might not be built by gcc 4.x if the -O2 or higher
1645: optimization option was used.
1646: Thanks to Maxim Dounin and Denis F. Latypoff.
1647:
1648: *) Bugfix: regular expressions in location were always tested in
1649: case-sensitive mode; the bug had appeared in 0.8.25.
1650:
1651: *) Bugfix: nginx cached a 304 response if there was the "If-None-Match"
1652: header line in a proxied request.
1653: Thanks to Tim Dettrick and David Kostal.
1654:
1655: *) Bugfix: nginx/Windows tried to delete a temporary file twice if the
1656: file should replace an already existent file.
1657:
1658:
1659: Changes with nginx 0.8.30 15 Dec 2009
1660:
1661: *) Change: now the default buffer size of the
1662: "large_client_header_buffers" directive is 8K.
1663: Thanks to Andrew Cholakian.
1664:
1665: *) Feature: the conf/fastcgi.conf for simple FastCGI configurations.
1666:
1667: *) Bugfix: nginx/Windows tried to rename a temporary file twice if the
1668: file should replace an already existent file.
1669:
1670: *) Bugfix: of "double free or corruption" error issued if host could not
1671: be resolved; the bug had appeared in 0.8.22.
1672: Thanks to Konstantin Svist.
1673:
1674: *) Bugfix: in libatomic usage on some platforms.
1675: Thanks to W-Mark Kubacki.
1676:
1677:
1678: Changes with nginx 0.8.29 30 Nov 2009
1679:
1680: *) Change: now the "009" status code is written to an access log for
1681: proxied HTTP/0.9 responses.
1682:
1683: *) Feature: the "addition_types", "charset_types", "gzip_types",
1684: "ssi_types", "sub_filter_types", and "xslt_types" directives support
1685: an "*" parameter.
1686:
1687: *) Feature: GCC 4.1+ built-in atomic operations usage.
1688: Thanks to W-Mark Kubacki.
1689:
1690: *) Feature: the --with-libatomic[=DIR] option in the configure.
1691: Thanks to W-Mark Kubacki.
1692:
1693: *) Bugfix: listen unix domain socket had limited access rights.
1694:
1695: *) Bugfix: cached HTTP/0.9 responses were handled incorrectly.
1696:
1697: *) Bugfix: regular expression named captures given by "?P<...>" did not
1698: work in a "server_name" directive.
1699: Thanks to Maxim Dounin.
1700:
1701:
1702: Changes with nginx 0.8.28 23 Nov 2009
1703:
1704: *) Bugfix: nginx could not be built with the --without-pcre parameter;
1705: the bug had appeared in 0.8.25.
1706:
1707:
1708: Changes with nginx 0.8.27 17 Nov 2009
1709:
1710: *) Bugfix: regular expressions did not work in nginx/Windows; the bug
1711: had appeared in 0.8.25.
1712:
1713:
1714: Changes with nginx 0.8.26 16 Nov 2009
1715:
1716: *) Bugfix: in captures usage in "rewrite" directive; the bug had
1717: appeared in 0.8.25.
1718:
1719: *) Bugfix: nginx could not be built without the --with-debug option; the
1720: bug had appeared in 0.8.25.
1721:
1722:
1723: Changes with nginx 0.8.25 16 Nov 2009
1724:
1725: *) Change: now no message is written in an error log if a variable is
1726: not found by $r->variable() method.
1727:
1728: *) Feature: the ngx_http_degradation_module.
1729:
1730: *) Feature: regular expression named captures.
1731:
1732: *) Feature: now URI part is not required a "proxy_pass" directive if
1733: variables are used.
1734:
1735: *) Feature: now the "msie_padding" directive works for Chrome too.
1736:
1737: *) Bugfix: a segmentation fault occurred in a worker process on low
1738: memory condition; the bug had appeared in 0.8.18.
1739:
1740: *) Bugfix: nginx sent gzipped responses to clients those do not support
1741: gzip, if "gzip_static on" and "gzip_vary off"; the bug had appeared
1742: in 0.8.16.
1743:
1744:
1745: Changes with nginx 0.8.24 11 Nov 2009
1746:
1747: *) Bugfix: nginx always added "Content-Encoding: gzip" response header
1748: line in 304 responses sent by ngx_http_gzip_static_module.
1749:
1750: *) Bugfix: nginx could not be built without the --with-debug option; the
1751: bug had appeared in 0.8.23.
1752:
1753: *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive
1754: inherited incorrectly from previous level.
1755:
1756: *) Bugfix: in resolving empty name.
1757:
1758:
1759: Changes with nginx 0.8.23 11 Nov 2009
1760:
1761: *) Security: now SSL/TLS renegotiation is disabled.
1762: Thanks to Maxim Dounin.
1763:
1764: *) Bugfix: listen unix domain socket did not inherit while online
1765: upgrade.
1766:
1767: *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive did
1768: not without yet another directive with any IP address.
1769:
1770: *) Bugfix: segmentation fault and infinite looping in resolver.
1771:
1772: *) Bugfix: in resolver.
1773: Thanks to Artem Bokhan.
1774:
1775:
1776: Changes with nginx 0.8.22 03 Nov 2009
1777:
1778: *) Feature: the "proxy_bind", "fastcgi_bind", and "memcached_bind"
1779: directives.
1780:
1781: *) Feature: the "access" and the "deny" directives support IPv6.
1782:
1783: *) Feature: the "set_real_ip_from" directive supports IPv6 addresses in
1784: request headers.
1785:
1786: *) Feature: the "unix:" parameter of the "set_real_ip_from" directive.
1787:
1788: *) Bugfix: nginx did not delete unix domain socket after configuration
1789: testing.
1790:
1791: *) Bugfix: nginx deleted unix domain socket while online upgrade.
1792:
1793: *) Bugfix: the "!-x" operator did not work.
1794: Thanks to Maxim Dounin.
1795:
1796: *) Bugfix: a segmentation fault might occur in a worker process, if
1797: limit_rate was used in HTTPS server.
1798: Thanks to Maxim Dounin.
1799:
1800: *) Bugfix: a segmentation fault might occur in a worker process while
1801: $limit_rate logging.
1802: Thanks to Maxim Dounin.
1803:
1804: *) Bugfix: a segmentation fault might occur in a worker process, if
1805: there was no "listen" directive in "server" block; the bug had
1806: appeared in 0.8.21.
1807:
1808:
1809: Changes with nginx 0.8.21 26 Oct 2009
1810:
1811: *) Feature: now the "-V" switch shows TLS SNI support.
1812:
1813: *) Feature: the "listen" directive of the HTTP module supports unix
1814: domain sockets.
1815: Thanks to Hongli Lai.
1816:
1817: *) Feature: the "default_server" parameter of the "listen" directive.
1818:
1819: *) Feature: now a "default" parameter is not required to set listen
1820: socket options.
1821:
1822: *) Bugfix: nginx did not support dates in 2038 year on 32-bit platforms;
1823:
1824: *) Bugfix: socket leak; the bug had appeared in 0.8.11.
1825:
1826:
1827: Changes with nginx 0.8.20 14 Oct 2009
1828:
1829: *) Change: now default SSL ciphers are "HIGH:!ADH:!MD5".
1830:
1831: *) Bugfix: the ngx_http_autoindex_module did not show the trailing slash
1832: in links to a directory; the bug had appeared in 0.7.15.
1833:
1834: *) Bugfix: nginx did not close a log file set by the --error-log-path
1835: configuration option; the bug had appeared in 0.7.53.
1836:
1837: *) Bugfix: nginx did not treat a comma as separator in the
1838: "Cache-Control" backend response header line.
1839:
1840: *) Bugfix: nginx/Windows might not create temporary file, a cache file,
1841: or "proxy/fastcgi_store"d file if a worker had no enough access
1842: rights for top level directories.
1843:
1844: *) Bugfix: the "Set-Cookie" and "P3P" FastCGI response header lines were
1845: not hidden while caching if no "fastcgi_hide_header" directives were
1846: used with any parameters.
1847:
1848: *) Bugfix: nginx counted incorrectly disk cache size.
1849:
1850:
1851: Changes with nginx 0.8.19 06 Oct 2009
1852:
1853: *) Change: now SSLv2 protocol is disabled by default.
1854:
1855: *) Change: now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
1856:
1857: *) Bugfix: a "limit_req" directive did not work; the bug had appeared in
1858: 0.8.18.
1859:
1860:
1861: Changes with nginx 0.8.18 06 Oct 2009
1862:
1863: *) Feature: the "read_ahead" directive.
1864:
1865: *) Feature: now several "perl_modules" directives may be used.
1866:
1867: *) Feature: the "limit_req_log_level" and "limit_conn_log_level"
1868: directives.
1869:
1870: *) Bugfix: now "limit_req" directive conforms to the leaky bucket
1871: algorithm.
1872: Thanks to Maxim Dounin.
1873:
1874: *) Bugfix: nginx did not work on Linux/sparc.
1875: Thanks to Marcus Ramberg.
1876:
1877: *) Bugfix: nginx sent '\0' in a "Location" response header line on MKCOL
1878: request.
1879: Thanks to Xie Zhenye.
1880:
1881: *) Bugfix: zero status code was logged instead of 499 status code; the
1882: bug had appeared in 0.8.11.
1883:
1884: *) Bugfix: socket leak; the bug had appeared in 0.8.11.
1885:
1886:
1887: Changes with nginx 0.8.17 28 Sep 2009
1888:
1889: *) Security: now "/../" are disabled in "Destination" request header
1890: line.
1891:
1892: *) Change: now $host variable value is always low case.
1893:
1894: *) Feature: the $ssl_session_id variable.
1895:
1896: *) Bugfix: socket leak; the bug had appeared in 0.8.11.
1897:
1898:
1899: Changes with nginx 0.8.16 22 Sep 2009
1900:
1901: *) Feature: the "image_filter_transparency" directive.
1902:
1903: *) Bugfix: "addition_types" directive was incorrectly named
1904: "addtion_types".
1905:
1906: *) Bugfix: resolver cache poisoning.
1907: Thanks to Matthew Dempsky.
1908:
1909: *) Bugfix: memory leak in resolver.
1910: Thanks to Matthew Dempsky.
1911:
1912: *) Bugfix: invalid request line in $request variable was written in
1913: access_log only if error_log was set to "info" or "debug" level.
1914:
1915: *) Bugfix: in PNG alpha-channel support in the
1916: ngx_http_image_filter_module.
1917:
1918: *) Bugfix: nginx always added "Vary: Accept-Encoding" response header
1919: line, if both "gzip_static" and "gzip_vary" were on.
1920:
1921: *) Bugfix: in UTF-8 encoding support by "try_files" directive in
1922: nginx/Windows.
1923:
1924: *) Bugfix: in "post_action" directive usage; the bug had appeared in
1925: 0.8.11.
1926: Thanks to Igor Artemiev.
1927:
1928:
1929: Changes with nginx 0.8.15 14 Sep 2009
1930:
1931: *) Security: a segmentation fault might occur in worker process while
1932: specially crafted request handling.
1933: Thanks to Chris Ries.
1934:
1935: *) Bugfix: if names .domain.tld, .sub.domain.tld, and .domain-some.tld
1936: were defined, then the name .sub.domain.tld was matched by
1937: .domain.tld.
1938:
1939: *) Bugfix: in transparency support in the ngx_http_image_filter_module.
1940:
1941: *) Bugfix: in file AIO.
1942:
1943: *) Bugfix: in X-Accel-Redirect usage; the bug had appeared in 0.8.11.
1944:
1945: *) Bugfix: in embedded perl module; the bug had appeared in 0.8.11.
1946:
1947:
1948: Changes with nginx 0.8.14 07 Sep 2009
1949:
1950: *) Bugfix: an expired cached response might stick in the "UPDATING"
1951: state.
1952:
1953: *) Bugfix: a segmentation fault might occur in worker process, if
1954: error_log was set to info or debug level.
1955: Thanks to Sergey Bochenkov.
1956:
1957: *) Bugfix: in embedded perl module; the bug had appeared in 0.8.11.
1958:
1959: *) Bugfix: an "error_page" directive did not redirect a 413 error; the
1960: bug had appeared in 0.6.10.
1961:
1962:
1963: Changes with nginx 0.8.13 31 Aug 2009
1964:
1965: *) Bugfix: in the "aio sendfile" directive; the bug had appeared in
1966: 0.8.12.
1967:
1968: *) Bugfix: nginx could not be built without the --with-file-aio option
1969: on FreeBSD; the bug had appeared in 0.8.12.
1970:
1971:
1972: Changes with nginx 0.8.12 31 Aug 2009
1973:
1974: *) Feature: the "sendfile" parameter in the "aio" directive on FreeBSD.
1975:
1976: *) Bugfix: in try_files; the bug had appeared in 0.8.11.
1977:
1978: *) Bugfix: in memcached; the bug had appeared in 0.8.11.
1979:
1980:
1981: Changes with nginx 0.8.11 28 Aug 2009
1982:
1983: *) Change: now directive "gzip_disable msie6" does not disable gzipping
1984: for MSIE 6.0 SV1.
1985:
1986: *) Feature: file AIO support on FreeBSD and Linux.
1987:
1988: *) Feature: the "directio_alignment" directive.
1989:
1990:
1991: Changes with nginx 0.8.10 24 Aug 2009
1992:
1993: *) Bugfix: memory leaks if GeoIP City database was used.
1994:
1995: *) Bugfix: in copying temporary files to permanent storage area; the bug
1996: had appeared in 0.8.9.
1997:
1998:
1999: Changes with nginx 0.8.9 17 Aug 2009
2000:
2001: *) Feature: now the start cache loader runs in a separate process; this
2002: should improve large caches handling.
2003:
2004: *) Feature: now temporary files and permanent storage area may reside at
2005: different file systems.
2006:
2007:
2008: Changes with nginx 0.8.8 10 Aug 2009
2009:
2010: *) Bugfix: in handling FastCGI headers split in records.
2011:
2012: *) Bugfix: a segmentation fault occurred in worker process, if a request
2013: was handled in two proxied or FastCGIed locations and a caching was
2014: enabled in the first location; the bug had appeared in 0.8.7.
2015:
2016:
2017: Changes with nginx 0.8.7 27 Jul 2009
2018:
2019: *) Change: minimum supported OpenSSL version is 0.9.7.
2020:
2021: *) Change: the "ask" parameter of the "ssl_verify_client" directive was
2022: changed to the "optional" parameter and now it checks a client
2023: certificate if it was offered.
2024: Thanks to Brice Figureau.
2025:
2026: *) Feature: the $ssl_client_verify variable.
2027: Thanks to Brice Figureau.
2028:
2029: *) Feature: the "ssl_crl" directive.
2030: Thanks to Brice Figureau.
2031:
2032: *) Feature: the "proxy" parameter of the "geo" directive.
2033:
2034: *) Feature: the "image_filter" directive supports variables for setting
2035: size.
2036:
2037: *) Bugfix: the $ssl_client_cert variable usage corrupted memory; the bug
2038: had appeared in 0.7.7.
2039: Thanks to Sergey Zhuravlev.
2040:
2041: *) Bugfix: "proxy_pass_header" and "fastcgi_pass_header" directives did
2042: not pass to a client the "X-Accel-Redirect", "X-Accel-Limit-Rate",
2043: "X-Accel-Buffering", and "X-Accel-Charset" lines from backend
2044: response header.
2045: Thanks to Maxim Dounin.
2046:
2047: *) Bugfix: in handling "Last-Modified" and "Accept-Ranges" backend
2048: response header lines; the bug had appeared in 0.7.44.
2049: Thanks to Maxim Dounin.
2050:
2051: *) Bugfix: the "[alert] zero size buf" error if subrequest returns an
2052: empty response; the bug had appeared in 0.8.5.
2053:
2054:
2055: Changes with nginx 0.8.6 20 Jul 2009
2056:
2057: *) Feature: the ngx_http_geoip_module.
2058:
2059: *) Bugfix: XSLT filter may fail with message "not well formed XML
2060: document" for valid XML document.
2061: Thanks to Kuramoto Eiji.
2062:
2063: *) Bugfix: now in MacOSX, Cygwin, and nginx/Windows locations given by a
2064: regular expression are always tested in case insensitive mode.
2065:
2066: *) Bugfix: now nginx/Windows ignores trailing dots in URI.
2067: Thanks to Hugo Leisink.
2068:
2069: *) Bugfix: name of file specified in --conf-path was not honored during
2070: installation; the bug had appeared in 0.6.6.
2071: Thanks to Maxim Dounin.
2072:
2073:
2074: Changes with nginx 0.8.5 13 Jul 2009
2075:
2076: *) Bugfix: now nginx allows underscores in a request method.
2077:
2078: *) Bugfix: a 500 error code was returned for invalid login/password
2079: while HTTP Basic authentication on Windows.
2080:
2081: *) Bugfix: ngx_http_perl_module responses did not work in subrequests.
2082:
2083: *) Bugfix: in ngx_http_limit_req_module.
2084: Thanks to Maxim Dounin.
2085:
2086:
2087: Changes with nginx 0.8.4 22 Jun 2009
2088:
2089: *) Bugfix: nginx could not be built --without-http-cache; the bug had
2090: appeared in 0.8.3.
2091:
2092:
2093: Changes with nginx 0.8.3 19 Jun 2009
2094:
2095: *) Feature: the $upstream_cache_status variable.
2096:
2097: *) Bugfix: nginx could not be built on MacOSX 10.6.
2098:
2099: *) Bugfix: nginx could not be built --without-http-cache; the bug had
2100: appeared in 0.8.2.
2101:
2102: *) Bugfix: a segmentation fault occurred in worker process, if a backend
2103: 401 error was intercepted and the backend did not set the
2104: "WWW-Authenticate" response header line.
2105: Thanks to Eugene Mychlo.
2106:
2107:
2108: Changes with nginx 0.8.2 15 Jun 2009
2109:
2110: *) Bugfix: in open_file_cache and proxy/fastcgi cache interaction on
2111: start up.
2112:
2113: *) Bugfix: open_file_cache might cache open file descriptors too long;
2114: the bug had appeared in 0.7.4.
2115:
2116:
2117: Changes with nginx 0.8.1 08 Jun 2009
2118:
2119: *) Feature: the "updating" parameter in "proxy_cache_use_stale" and
2120: "fastcgi_cache_use_stale" directives.
2121:
2122: *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request
2123: header lines were passed to backend while caching if no
2124: "proxy_set_header" directive was used with any parameters.
2125:
2126: *) Bugfix: the "Set-Cookie" and "P3P" response header lines were not
2127: hidden while caching if no "proxy_hide_header/fastcgi_hide_header"
2128: directives were used with any parameters.
2129:
2130: *) Bugfix: the ngx_http_image_filter_module did not support GIF87a
2131: format.
2132: Thanks to Denis Ilyinyh.
2133:
2134: *) Bugfix: nginx could not be built modules on Solaris 10 and early; the
2135: bug had appeared in 0.7.56.
2136:
2137:
2138: Changes with nginx 0.8.0 02 Jun 2009
2139:
2140: *) Feature: the "keepalive_requests" directive.
2141:
2142: *) Feature: the "limit_rate_after" directive.
2143: Thanks to Ivan Debnar.
2144:
2145: *) Bugfix: XLST filter did not work in subrequests.
2146:
2147: *) Bugfix: in relative paths handling in nginx/Windows.
2148:
2149: *) Bugfix: in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache
2150: in nginx/Windows.
2151:
2152: *) Bugfix: in memory allocation error handling.
2153: Thanks to Maxim Dounin and Kirill A. Korinskiy.
2154:
2155:
2156: Changes with nginx 0.7.59 25 May 2009
2157:
2158: *) Feature: the "proxy_cache_methods" and "fastcgi_cache_methods"
2159: directives.
2160:
2161: *) Bugfix: socket leak; the bug had appeared in 0.7.25.
2162: Thanks to Maxim Dounin.
2163:
2164: *) Bugfix: a segmentation fault occurred in worker process, if a request
2165: had no body and the $request_body variable was used;
2166: the bug had appeared in 0.7.58.
2167:
2168: *) Bugfix: the SSL modules might not built on Solaris and Linux;
2169: the bug had appeared in 0.7.56.
2170:
2171: *) Bugfix: ngx_http_xslt_filter_module responses were not handled by
2172: SSI, charset, and gzip filters.
2173:
2174: *) Bugfix: a "charset" directive did not set a charset to
2175: ngx_http_gzip_static_module responses.
2176:
2177:
2178: Changes with nginx 0.7.58 18 May 2009
2179:
2180: *) Feature: a "listen" directive of the mail proxy module supports IPv6.
2181:
2182: *) Feature: the "image_filter_jpeg_quality" directive.
2183:
2184: *) Feature: the "client_body_in_single_buffer" directive.
2185:
2186: *) Feature: the $request_body variable.
2187:
2188: *) Bugfix: in ngx_http_autoindex_module in file name links having a ":"
2189: symbol in the name.
2190:
2191: *) Bugfix: "make upgrade" procedure did not work; the bug had appeared
2192: in 0.7.53.
2193: Thanks to Denis F. Latypoff.
2194:
2195:
2196: Changes with nginx 0.7.57 12 May 2009
2197:
2198: *) Bugfix: a floating-point fault occurred in worker process, if the
2199: ngx_http_image_filter_module errors were redirected to named
2200: location; the bug had appeared in 0.7.56.
2201:
2202:
2203: Changes with nginx 0.7.56 11 May 2009
2204:
2205: *) Feature: nginx/Windows supports IPv6 in a "listen" directive of the
2206: HTTP module.
2207:
2208: *) Bugfix: in ngx_http_image_filter_module.
2209:
2210:
2211: Changes with nginx 0.7.55 06 May 2009
2212:
2213: *) Bugfix: the http_XXX parameters in "proxy_cache_use_stale" and
2214: "fastcgi_cache_use_stale" directives did not work.
2215:
2216: *) Bugfix: fastcgi cache did not cache header only responses.
2217:
2218: *) Bugfix: of "select() failed (9: Bad file descriptor)" error in
2219: nginx/Unix and "select() failed (10038: ...)" error in nginx/Windows.
2220:
2221: *) Bugfix: a segmentation fault might occur in worker process, if an
2222: "debug_connection" directive was used; the bug had appeared in
2223: 0.7.54.
2224:
2225: *) Bugfix: fix ngx_http_image_filter_module building errors.
2226:
2227: *) Bugfix: the files bigger than 2G could not be transferred using
2228: $r->sendfile.
2229: Thanks to Maxim Dounin.
2230:
2231:
2232: Changes with nginx 0.7.54 01 May 2009
2233:
2234: *) Feature: the ngx_http_image_filter_module.
2235:
2236: *) Feature: the "proxy_ignore_headers" and "fastcgi_ignore_headers"
2237: directives.
2238:
2239: *) Bugfix: a segmentation fault might occur in worker process, if an
2240: "open_file_cache_errors off" directive was used; the bug had appeared
2241: in 0.7.53.
2242:
2243: *) Bugfix: the "port_in_redirect off" directive did not work; the bug
2244: had appeared in 0.7.39.
2245:
2246: *) Bugfix: improve handling of "select" method errors.
2247:
2248: *) Bugfix: of "select() failed (10022: ...)" error in nginx/Windows.
2249:
2250: *) Bugfix: in error text descriptions in nginx/Windows; the bug had
2251: appeared in 0.7.53.
2252:
2253:
2254: Changes with nginx 0.7.53 27 Apr 2009
2255:
2256: *) Change: now a log set by --error-log-path is created from the very
2257: start-up.
2258:
2259: *) Feature: now the start up errors and warnings are outputted to an
2260: error_log and stderr.
2261:
2262: *) Feature: the empty --prefix= configure parameter forces nginx to use
2263: a directory where it was run as prefix.
2264:
2265: *) Feature: the -p switch.
2266:
2267: *) Feature: the -s switch on Unix platforms.
2268:
2269: *) Feature: the -? and -h switches.
2270: Thanks to Jerome Loyet.
2271:
2272: *) Feature: now switches may be set in condensed form.
2273:
2274: *) Bugfix: nginx/Windows did not work if configuration file was given by
2275: the -c switch.
2276:
2277: *) Bugfix: temporary files might be not removed if the "proxy_store",
2278: "fastcgi_store", "proxy_cache", or "fastcgi_cache" were used.
2279: Thanks to Maxim Dounin.
2280:
2281: *) Bugfix: an incorrect value was passed to mail proxy authentication
2282: server in "Auth-Method" header line; the bug had appeared
2283: in 0.7.34.
2284: Thanks to Simon Lecaille.
2285:
2286: *) Bugfix: system error text descriptions were not logged on Linux;
2287: the bug had appeared in 0.7.45.
2288:
2289: *) Bugfix: the "fastcgi_cache_min_uses" directive did not work.
2290: Thanks to Andrew Vorobyoff.
2291:
2292:
2293: Changes with nginx 0.7.52 20 Apr 2009
2294:
2295: *) Feature: the first native Windows binary release.
2296:
2297: *) Bugfix: in processing HEAD method while caching.
2298:
2299: *) Bugfix: in processing the "If-Modified-Since", "If-Range", etc.
2300: client request header lines while caching.
2301:
2302: *) Bugfix: now the "Set-Cookie" and "P3P" header lines are hidden in
2303: cacheable responses.
2304:
2305: *) Bugfix: if nginx was built with the ngx_http_perl_module and with a
2306: perl which supports threads, then during a master process exit the
2307: message "panic: MUTEX_LOCK" might be issued.
2308:
2309: *) Bugfix: nginx could not be built --without-http-cache; the bug had
2310: appeared in 0.7.48.
2311:
2312: *) Bugfix: nginx could not be built on platforms different from i386,
2313: amd64, sparc, and ppc; the bug had appeared in 0.7.42.
2314:
2315:
2316: Changes with nginx 0.7.51 12 Apr 2009
2317:
2318: *) Feature: the "try_files" directive supports a response code in the
2319: fallback parameter.
2320:
2321: *) Feature: now any response code can be used in the "return" directive.
2322:
2323: *) Bugfix: the "error_page" directive made an external redirect without
2324: query string; the bug had appeared in 0.7.44.
2325:
2326: *) Bugfix: if servers listened on several defined explicitly addresses,
2327: then virtual servers might not work; the bug had appeared in 0.7.39.
2328:
2329:
2330: Changes with nginx 0.7.50 06 Apr 2009
2331:
2332: *) Bugfix: the $arg_... variables did not work; the bug had appeared in
2333: 0.7.49.
2334:
2335:
2336: Changes with nginx 0.7.49 06 Apr 2009
2337:
2338: *) Bugfix: a segmentation fault might occur in worker process, if the
2339: $arg_... variables were used; the bug had appeared in 0.7.48.
2340:
2341:
2342: Changes with nginx 0.7.48 06 Apr 2009
2343:
2344: *) Feature: the "proxy_cache_key" directive.
2345:
2346: *) Bugfix: now nginx takes into account the "X-Accel-Expires",
2347: "Expires", and "Cache-Control" header lines in a backend response.
2348:
2349: *) Bugfix: now nginx caches responses for the GET requests only.
2350:
2351: *) Bugfix: the "fastcgi_cache_key" directive was not inherited.
2352:
2353: *) Bugfix: the $arg_... variables did not work with SSI subrequests.
2354: Thanks to Maxim Dounin.
2355:
2356: *) Bugfix: nginx could not be built with uclibc library.
2357: Thanks to Timothy Redaelli.
2358:
2359: *) Bugfix: nginx could not be built on OpenBSD; the bug had
2360: appeared in 0.7.46.
2361:
2362:
2363: Changes with nginx 0.7.47 01 Apr 2009
2364:
2365: *) Bugfix: nginx could not be built on FreeBSD 6 and early versions; the
2366: bug had appeared in 0.7.46.
2367:
2368: *) Bugfix: nginx could not be built on MacOSX; the bug had
2369: appeared in 0.7.46.
2370:
2371: *) Bugfix: if the "max_size" parameter was set, then the cache manager
2372: might purge a whole cache; the bug had appeared in 0.7.46.
2373:
2374: *) Change: a segmentation fault might occur in worker process, if the
2375: "proxy_cache"/"fastcgi_cache" and the "proxy_cache_valid"/
2376: "fastcgi_cache_valid" were set on different levels; the bug had
2377: appeared in 0.7.46.
2378:
2379: *) Bugfix: a segmentation fault might occur in worker process, if a
2380: request was redirected to a proxied or FastCGI server via error_page
2381: or try_files; the bug had appeared in 0.7.44.
2382:
2383:
2384: Changes with nginx 0.7.46 30 Mar 2009
2385:
2386: *) Bugfix: the previous release tarball was incorrect.
2387:
2388:
2389: Changes with nginx 0.7.45 30 Mar 2009
2390:
2391: *) Change: now the "proxy_cache" and the "proxy_cache_valid" directives
2392: can be set on different levels.
2393:
2394: *) Change: the "clean_time" parameter of the "proxy_cache_path"
2395: directive is canceled.
2396:
2397: *) Feature: the "max_size" parameter of the "proxy_cache_path"
2398: directive.
2399:
2400: *) Feature: the ngx_http_fastcgi_module preliminary cache support.
2401:
2402: *) Feature: now on shared memory allocation errors directive and zone
2403: names are logged.
2404:
2405: *) Bugfix: the directive "add_header last-modified ''" did not delete a
2406: "Last-Modified" response header line; the bug had appeared in 0.7.44.
2407:
2408: *) Bugfix: a relative path in the "auth_basic_user_file" directive given
2409: without variables did not work; the bug had appeared in 0.7.44.
2410: Thanks to Jerome Loyet.
2411:
2412: *) Bugfix: in an "alias" directive given using variables without
2413: references to captures of regular expressions; the bug had appeared
2414: in 0.7.42.
2415:
2416:
2417: Changes with nginx 0.7.44 23 Mar 2009
2418:
2419: *) Feature: the ngx_http_proxy_module preliminary cache support.
2420:
2421: *) Feature: the --with-pcre option in the configure.
2422:
2423: *) Feature: the "try_files" directive is now allowed on the server block
2424: level.
2425:
2426: *) Bugfix: the "try_files" directive handled incorrectly a query string
2427: in a fallback parameter.
2428:
2429: *) Bugfix: the "try_files" directive might test incorrectly directories.
2430:
2431: *) Bugfix: if there was a single server for given address:port pair,
2432: then captures in regular expressions in a "server_name" directive did
2433: not work.
2434:
2435:
2436: Changes with nginx 0.7.43 18 Mar 2009
2437:
2438: *) Bugfix: a request was handled incorrectly, if a "root" directive used
2439: variables; the bug had appeared in 0.7.42.
2440:
2441: *) Bugfix: if a server listened on wildcard address, then the
2442: $server_addr variable value was "0.0.0.0"; the bug had appeared in
2443: 0.7.36.
2444:
2445:
2446: Changes with nginx 0.7.42 16 Mar 2009
2447:
2448: *) Change: now the "Invalid argument" error returned by
2449: setsockopt(TCP_NODELAY) on Solaris, is ignored.
2450:
2451: *) Change: now if a file specified in a "auth_basic_user_file" directive
2452: is absent, then the 403 error is returned instead of the 500 one.
2453:
2454: *) Feature: the "auth_basic_user_file" directive supports variables.
2455: Thanks to Kirill A. Korinskiy.
2456:
2457: *) Feature: the "listen" directive supports the "ipv6only" parameter.
2458: Thanks to Zhang Hua.
2459:
2460: *) Bugfix: in an "alias" directive with references to captures of
2461: regular expressions; the bug had appeared in 0.7.40.
2462:
2463: *) Bugfix: compatibility with Tru64 UNIX.
2464: Thanks to Dustin Marquess.
2465:
2466: *) Bugfix: nginx could not be built without PCRE library; the bug had
2467: appeared in 0.7.41.
2468:
2469:
2470: Changes with nginx 0.7.41 11 Mar 2009
2471:
2472: *) Bugfix: a segmentation fault might occur in worker process, if a
2473: "server_name" or a "location" directives had captures in regular
2474: expressions; the issue had appeared in 0.7.40.
2475: Thanks to Vladimir Sopot.
2476:
2477:
2478: Changes with nginx 0.7.40 09 Mar 2009
2479:
2480: *) Feature: the "location" directive supports captures in regular
2481: expressions.
2482:
2483: *) Feature: an "alias" directive with capture references may be used
2484: inside a location given by a regular expression with captures.
2485:
2486: *) Feature: the "server_name" directive supports captures in regular
2487: expressions.
2488:
2489: *) Workaround: the ngx_http_autoindex_module did not show the trailing
2490: slash in directories on XFS filesystem; the issue had appeared in
2491: 0.7.15.
2492: Thanks to Dmitry Kuzmenko.
2493:
2494:
2495: Changes with nginx 0.7.39 02 Mar 2009
2496:
2497: *) Bugfix: large response with SSI might hang, if gzipping was enabled;
2498: the bug had appeared in 0.7.28.
2499: Thanks to Artem Bokhan.
2500:
2501: *) Bugfix: a segmentation fault might occur in worker process, if short
2502: static variants are used in a "try_files" directive.
2503:
2504:
2505: Changes with nginx 0.7.38 23 Feb 2009
2506:
2507: *) Feature: authentication failures logging.
2508:
2509: *) Bugfix: name/password in auth_basic_user_file were ignored after odd
2510: number of empty lines.
2511: Thanks to Alexander Zagrebin.
2512:
2513: *) Bugfix: a segmentation fault occurred in a master process, if long
2514: path was used in unix domain socket; the bug had appeared in 0.7.36.
2515:
2516:
2517: Changes with nginx 0.7.37 21 Feb 2009
2518:
2519: *) Bugfix: directives using upstreams did not work; the bug had appeared
2520: in 0.7.36.
2521:
2522:
2523: Changes with nginx 0.7.36 21 Feb 2009
2524:
2525: *) Feature: a preliminary IPv6 support; the "listen" directive of the
2526: HTTP module supports IPv6.
2527:
2528: *) Bugfix: the $ancient_browser variable did not work for browsers
2529: preset by a "modern_browser" directives.
2530:
2531:
2532: Changes with nginx 0.7.35 16 Feb 2009
2533:
2534: *) Bugfix: a "ssl_engine" directive did not use a SSL-accelerator for
2535: asymmetric ciphers.
2536: Thanks to Marcin Gozdalik.
2537:
2538: *) Bugfix: a "try_files" directive set MIME type depending on an
2539: original request extension.
2540:
2541: *) Bugfix: "*domain.tld" names were handled incorrectly in
2542: "server_name", "valid_referers", and "map" directives, if
2543: ".domain.tld" and ".subdomain.domain.tld" wildcards were used;
2544: the bug had appeared in 0.7.9.
2545:
2546:
2547: Changes with nginx 0.7.34 10 Feb 2009
2548:
2549: *) Feature: the "off" parameter of the "if_modified_since" directive.
2550:
2551: *) Feature: now nginx sends an HELO/EHLO command after a XCLIENT
2552: command.
2553: Thanks to Maxim Dounin.
2554:
2555: *) Feature: Microsoft specific "AUTH LOGIN with User Name" mode support
2556: in mail proxy server.
2557: Thanks to Maxim Dounin.
2558:
2559: *) Bugfix: in a redirect rewrite directive original arguments were
2560: concatenated with new arguments by a "?" rather than an "&";
2561: the bug had appeared in 0.1.18.
2562: Thanks to Maxim Dounin.
2563:
2564: *) Bugfix: nginx could not be built on AIX.
2565:
2566:
2567: Changes with nginx 0.7.33 02 Feb 2009
2568:
2569: *) Bugfix: a double response might be returned if the epoll or rtsig
2570: methods are used and a redirect was returned to a request with body.
2571: Thanks to Eden Li.
2572:
2573: *) Bugfix: the $sent_http_location variable was empty for some redirects
2574: types.
2575:
2576: *) Bugfix: a segmentation fault might occur in worker process if
2577: "resolver" directive was used in SMTP proxy.
2578:
2579:
2580: Changes with nginx 0.7.32 26 Jan 2009
2581:
2582: *) Feature: now a directory existence testing can be set explicitly in
2583: the "try_files" directive.
2584:
2585: *) Bugfix: fastcgi_store stored files not always.
2586:
2587: *) Bugfix: in geo ranges.
2588:
2589: *) Bugfix: in shared memory allocations if nginx was built without
2590: debugging.
2591: Thanks to Andrey Kvasov.
2592:
2593:
2594: Changes with nginx 0.7.31 19 Jan 2009
2595:
2596: *) Change: now the "try_files" directive tests files only and ignores
2597: directories.
2598:
2599: *) Feature: the "fastcgi_split_path_info" directive.
2600:
2601: *) Bugfixes in an "Expect" request header line support.
2602:
2603: *) Bugfixes in geo ranges.
2604:
2605: *) Bugfix: in a miss case ngx_http_memcached_module returned the "END"
2606: line as response body instead of default 404 page body; the bug had
2607: appeared in 0.7.18.
2608: Thanks to Maxim Dounin.
2609:
2610: *) Bugfix: while SMTP proxying nginx issued message "250 2.0.0 OK"
2611: instead of "235 2.0.0 OK"; the bug had appeared in 0.7.22.
2612: Thanks to Maxim Dounin.
2613:
2614:
2615: Changes with nginx 0.7.30 24 Dec 2008
2616:
2617: *) Bugfix: a segmentation fault occurred in worker process, if variables
2618: were used in the "fastcgi_pass" or "proxy_pass" directives and host
2619: name must be resolved; the bug had appeared in 0.7.29.
2620:
2621:
2622: Changes with nginx 0.7.29 24 Dec 2008
2623:
2624: *) Bugfix: the "fastcgi_pass" and "proxy_pass" directives did not
2625: support variables if unix domain sockets were used.
2626:
2627: *) Bugfixes in subrequest processing; the bugs had appeared in 0.7.25.
2628:
2629: *) Bugfix: a "100 Continue" response was issued for HTTP/1.0 requests;
2630: Thanks to Maxim Dounin.
2631:
2632: *) Bugfix: in memory allocation in the ngx_http_gzip_filter_module on
2633: Cygwin.
2634:
2635:
2636: Changes with nginx 0.7.28 22 Dec 2008
2637:
2638: *) Change: in memory allocation in the ngx_http_gzip_filter_module.
2639:
2640: *) Change: the default "gzip_buffers" directive values have been changed
2641: to 32 4k or 16 8k from 4 4k/8k.
2642:
2643:
2644: Changes with nginx 0.7.27 15 Dec 2008
2645:
2646: *) Feature: the "try_files" directive.
2647:
2648: *) Feature: variables support in the "fastcgi_pass" directive.
2649:
2650: *) Feature: now the $geo variable may get an address from a variable.
2651: Thanks to Andrei Nigmatulin.
2652:
2653: *) Feature: now a location's modifier may be used without space before
2654: name.
2655:
2656: *) Feature: the $upstream_response_length variable.
2657:
2658: *) Bugfix: now a "add_header" directive does not add an empty value.
2659:
2660: *) Bugfix: if zero length static file was requested, then nginx just
2661: closed connection; the bug had appeared in 0.7.25.
2662:
2663: *) Bugfix: a MOVE method could not move file in non-existent directory.
2664:
2665: *) Bugfix: a segmentation fault occurred in worker process, if no one
2666: named location was defined in server, but some one was used in an
2667: error_page directive.
2668: Thanks to Sergey Bochenkov.
2669:
2670:
2671: Changes with nginx 0.7.26 08 Dec 2008
2672:
2673: *) Bugfix: in subrequest processing; the bug had appeared in 0.7.25.
2674:
2675:
2676: Changes with nginx 0.7.25 08 Dec 2008
2677:
2678: *) Change: in subrequest processing.
2679:
2680: *) Change: now POSTs without "Content-Length" header line are allowed.
2681:
2682: *) Bugfix: now the "limit_req" and "limit_conn" directives log a
2683: prohibition reason.
2684:
2685: *) Bugfix: in the "delete" parameter of the "geo" directive.
2686:
2687:
2688: Changes with nginx 0.7.24 01 Dec 2008
2689:
2690: *) Feature: the "if_modified_since" directive.
2691:
2692: *) Bugfix: nginx did not process a FastCGI server response, if the
2693: server send too many messages to stderr before response.
2694:
2695: *) Bugfix: the "$cookie_..." variables did not work in the SSI and the
2696: perl module.
2697:
2698:
2699: Changes with nginx 0.7.23 27 Nov 2008
2700:
2701: *) Feature: the "delete" and "ranges" parameters in the "geo" directive.
2702:
2703: *) Feature: speeding up loading of geo base with large number of values.
2704:
2705: *) Feature: decrease of memory required for geo base load.
2706:
2707:
2708: Changes with nginx 0.7.22 20 Nov 2008
2709:
2710: *) Feature: the "none" parameter in the "smtp_auth" directive.
2711: Thanks to Maxim Dounin.
2712:
2713: *) Feature: the "$cookie_..." variables.
2714:
2715: *) Bugfix: the "directio" directive did not work in XFS filesystem.
2716:
2717: *) Bugfix: the resolver did not understand big DNS responses.
2718: Thanks to Zyb.
2719:
2720:
2721: Changes with nginx 0.7.21 11 Nov 2008
2722:
2723: *) Changes in the ngx_http_limit_req_module.
2724:
2725: *) Feature: the EXSLT support in the ngx_http_xslt_module.
2726: Thanks to Denis F. Latypoff.
2727:
2728: *) Workaround: compatibility with glibc 2.3.
2729: Thanks to Eric Benson and Maxim Dounin.
2730:
2731: *) Bugfix: nginx could not run on MacOSX 10.4 and earlier; the bug had
2732: appeared in 0.7.6.
2733:
2734:
2735: Changes with nginx 0.7.20 10 Nov 2008
2736:
2737: *) Changes in the ngx_http_gzip_filter_module.
2738:
2739: *) Feature: the ngx_http_limit_req_module.
2740:
2741: *) Bugfix: worker processes might exit on a SIGBUS signal on sparc and
2742: ppc platforms; the bug had appeared in 0.7.3.
2743: Thanks to Maxim Dounin.
2744:
2745: *) Bugfix: the "proxy_pass http://host/some:uri" directives did not
2746: work; the bug had appeared in 0.7.12.
2747:
2748: *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
2749: error.
2750:
2751: *) Bugfix: the ngx_http_secure_link_module did not work inside
2752: locations, whose names are less than 3 characters.
2753:
2754: *) Bugfix: $server_addr variable might have no value.
2755:
2756:
2757: Changes with nginx 0.7.19 13 Oct 2008
2758:
2759: *) Bugfix: version number update.
2760:
2761:
2762: Changes with nginx 0.7.18 13 Oct 2008
2763:
2764: *) Change: the "underscores_in_headers" directive; now nginx does not
2765: allows underscores in a client request header line names.
2766:
2767: *) Feature: the ngx_http_secure_link_module.
2768:
2769: *) Feature: the "real_ip_header" directive supports any header.
2770:
2771: *) Feature: the "log_subrequest" directive.
2772:
2773: *) Feature: the $realpath_root variable.
2774:
2775: *) Feature: the "http_502" and "http_504" parameters of the
2776: "proxy_next_upstream" directive.
2777:
2778: *) Bugfix: the "http_503" parameter of the "proxy_next_upstream" or
2779: "fastcgi_next_upstream" directives did not work.
2780:
2781: *) Bugfix: nginx might send a "Transfer-Encoding: chunked" header line
2782: for HEAD requests.
2783:
2784: *) Bugfix: now accept threshold depends on worker_connections.
2785:
2786:
2787: Changes with nginx 0.7.17 15 Sep 2008
2788:
2789: *) Feature: now the "directio" directive works on Linux.
2790:
2791: *) Feature: the $pid variable.
2792:
2793: *) Bugfix: the "directio" optimization that had appeared in 0.7.15 did
2794: not work with open_file_cache.
2795:
2796: *) Bugfix: the "access_log" with variables did not work on Linux; the
2797: bug had appeared in 0.7.7.
2798:
2799: *) Bugfix: the ngx_http_charset_module did not understand quoted charset
2800: name received from backend.
2801:
2802:
2803: Changes with nginx 0.7.16 08 Sep 2008
2804:
2805: *) Bugfix: nginx could not be built on 64-bit platforms; the bug had
2806: appeared in 0.7.15.
2807:
2808:
2809: Changes with nginx 0.7.15 08 Sep 2008
2810:
2811: *) Feature: the ngx_http_random_index_module.
2812:
2813: *) Feature: the "directio" directive has been optimized for file
2814: requests starting from arbitrary position.
2815:
2816: *) Feature: the "directio" directive turns off sendfile if it is
2817: necessary.
2818:
2819: *) Feature: now nginx allows underscores in a client request header line
2820: names.
2821:
2822:
2823: Changes with nginx 0.7.14 01 Sep 2008
2824:
2825: *) Change: now the ssl_certificate and ssl_certificate_key directives
2826: have no default values.
2827:
2828: *) Feature: the "listen" directive supports the "ssl" parameter.
2829:
2830: *) Feature: now nginx takes into account a time zone change while
2831: reconfiguration on FreeBSD and Linux.
2832:
2833: *) Bugfix: the "listen" directive parameters such as "backlog",
2834: "rcvbuf", etc. were not set, if a default server was not the first
2835: one.
2836:
2837: *) Bugfix: if URI part captured by a "rewrite" directive was used as a
2838: query string, then the query string was not escaped.
2839:
2840: *) Bugfix: configuration file validity test improvements.
2841:
2842:
2843: Changes with nginx 0.7.13 26 Aug 2008
2844:
2845: *) Bugfix: nginx could not be built on Linux and Solaris; the bug had
2846: appeared in 0.7.12.
2847:
2848:
2849: Changes with nginx 0.7.12 26 Aug 2008
2850:
2851: *) Feature: the "server_name" directive supports empty name "".
2852:
2853: *) Feature: the "gzip_disable" directive supports special "msie6" mask.
2854:
2855: *) Bugfix: if the "max_fails=0" parameter was used in upstream with
2856: several servers, then a worker process exited on a SIGFPE signal.
2857: Thanks to Maxim Dounin.
2858:
2859: *) Bugfix: a request body was dropped while redirection via an
2860: "error_page" directive.
2861:
2862: *) Bugfix: a full response was returned for request method HEAD while
2863: redirection via an "error_page" directive.
2864:
2865: *) Bugfix: the $r->header_in() method did not return value of the
2866: "Host", "User-Agent", and "Connection" request header lines; the bug
2867: had appeared in 0.7.0.
2868:
2869:
2870: Changes with nginx 0.7.11 18 Aug 2008
2871:
2872: *) Change: now ngx_http_charset_module does not work by default with
2873: text/css MIME type.
2874:
2875: *) Feature: now nginx returns the 405 status code for POST method
2876: requesting a static file only if the file exists.
2877:
2878: *) Feature: the "proxy_ssl_session_reuse" directive.
2879:
2880: *) Bugfix: a "proxy_pass" directive without URI part might use original
2881: request after the "X-Accel-Redirect" redirection was used;
2882:
2883: *) Bugfix: if a directory has search only rights and the first index
2884: file was absent, then nginx returned the 500 status code.
2885:
2886: *) Bugfix: in inclusive locations; the bugs had appeared in 0.7.1.
2887:
2888:
2889: Changes with nginx 0.7.10 13 Aug 2008
2890:
2891: *) Bugfix: in the "addition_types", "charset_types", "gzip_types",
2892: "ssi_types", "sub_filter_types", and "xslt_types" directives; the
2893: bugs had appeared in 0.7.9.
2894:
2895: *) Bugfix: of recursive error_page for 500 status code.
2896:
2897: *) Bugfix: now the ngx_http_realip_module sets address not for whole
2898: keepalive connection, but for each request passed via the connection.
2899:
2900:
2901: Changes with nginx 0.7.9 12 Aug 2008
2902:
2903: *) Change: now ngx_http_charset_module works by default with following
2904: MIME types: text/html, text/css, text/xml, text/plain,
2905: text/vnd.wap.wml, application/x-javascript, and application/rss+xml.
2906:
2907: *) Feature: the "charset_types" and "addition_types" directives.
2908:
2909: *) Feature: now the "gzip_types", "ssi_types", and "sub_filter_types"
2910: directives use hash.
2911:
2912: *) Feature: the ngx_cpp_test_module.
2913:
2914: *) Feature: the "expires" directive supports daily time.
2915:
2916: *) Feature: the ngx_http_xslt_module improvements and bug fixing.
2917: Thanks to Denis F. Latypoff and Maxim Dounin.
2918:
2919: *) Bugfix: the "log_not_found" directive did not work for index files
2920: tests.
2921:
2922: *) Bugfix: HTTPS connections might hang, if kqueue, epoll, rtsig, or
2923: eventport methods were used; the bug had appeared in 0.7.7.
2924:
2925: *) Bugfix: if the "server_name", "valid_referers", and "map" directives
2926: used an "*.domain.tld" wildcard and exact name "domain.tld" was not
2927: set, then the exact name was matched by the wildcard; the bug had
2928: appeared in 0.3.18.
2929:
2930:
2931: Changes with nginx 0.7.8 04 Aug 2008
2932:
2933: *) Feature: the ngx_http_xslt_module.
2934:
2935: *) Feature: the "$arg_..." variables.
2936:
2937: *) Feature: Solaris directio support.
2938: Thanks to Ivan Debnar.
2939:
2940: *) Bugfix: now if FastCGI server sends a "Location" header line without
2941: status line, then nginx uses 302 status code.
2942: Thanks to Maxim Dounin.
2943:
2944:
2945: Changes with nginx 0.7.7 30 Jul 2008
2946:
2947: *) Change: now the EAGAIN error returned by connect() is not considered
2948: as temporary error.
2949:
2950: *) Change: now the $ssl_client_cert variable value is a certificate with
2951: TAB character intended before each line except first one; an
2952: unchanged certificate is available in the $ssl_client_raw_cert
2953: variable.
2954:
2955: *) Feature: the "ask" parameter in the "ssl_verify_client" directive.
2956:
2957: *) Feature: byte-range processing improvements.
2958: Thanks to Maxim Dounin.
2959:
2960: *) Feature: the "directio" directive.
2961: Thanks to Jiang Hong.
2962:
2963: *) Feature: MacOSX 10.5 sendfile() support.
2964:
2965: *) Bugfix: now in MacOSX and Cygwin locations are tested in case
2966: insensitive mode; however, the compare is provided by single-byte
2967: locales only.
2968:
2969: *) Bugfix: mail proxy SSL connections hanged, if select, poll, or
2970: /dev/poll methods were used.
2971:
2972: *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module.
2973:
2974:
2975: Changes with nginx 0.7.6 07 Jul 2008
2976:
2977: *) Bugfix: now if variables are used in the "access_log" directive a
2978: request root existence is always tested.
2979:
2980: *) Bugfix: the ngx_http_flv_module did not support several values in a
2981: query string.
2982:
2983:
2984: Changes with nginx 0.7.5 01 Jul 2008
2985:
2986: *) Bugfixes in variables support in the "access_log" directive; the bugs
2987: had appeared in 0.7.4.
2988:
2989: *) Bugfix: nginx could not be built --without-http_gzip_module; the bug
2990: had appeared in 0.7.3.
2991: Thanks to Kirill A. Korinskiy.
2992:
2993: *) Bugfix: if sub_filter and SSI were used together, then responses
2994: might were transferred incorrectly.
2995:
2996:
2997: Changes with nginx 0.7.4 30 Jun 2008
2998:
2999: *) Feature: variables support in the "access_log" directive.
3000:
3001: *) Feature: the "open_log_file_cache" directive.
3002:
3003: *) Feature: the -g switch.
3004:
3005: *) Feature: the "Expect" request header line support.
3006:
3007: *) Bugfix: large SSI inclusions might be truncated.
3008:
3009:
3010: Changes with nginx 0.7.3 23 Jun 2008
3011:
3012: *) Change: the "rss" extension MIME type has been changed to
3013: "application/rss+xml".
3014:
3015: *) Change: now the "gzip_vary" directive turned on issues a
3016: "Vary: Accept-Encoding" header line for uncompressed responses too.
3017:
3018: *) Feature: now the "rewrite" directive does a redirect automatically if
3019: the "https://" protocol is used.
3020:
3021: *) Bugfix: the "proxy_pass" directive did not work with the HTTPS
3022: protocol; the bug had appeared in 0.6.9.
3023:
3024:
3025: Changes with nginx 0.7.2 16 Jun 2008
3026:
3027: *) Feature: now nginx supports EDH key exchange ciphers.
3028:
3029: *) Feature: the "ssl_dhparam" directive.
3030:
3031: *) Feature: the $ssl_client_cert variable.
3032: Thanks to Manlio Perillo.
3033:
3034: *) Bugfix: after changing URI via a "rewrite" directive nginx did not
3035: search a new location; the bug had appeared in 0.7.1.
3036: Thanks to Maxim Dounin.
3037:
3038: *) Bugfix: nginx could not be built without PCRE library; the bug had
3039: appeared in 0.7.1.
3040:
3041: *) Bugfix: when a request to a directory was redirected with the slash
3042: added, nginx dropped a query string from the original request.
3043:
3044:
3045: Changes with nginx 0.7.1 26 May 2008
3046:
3047: *) Change: now locations are searched in a tree.
3048:
3049: *) Change: the "optimize_server_names" directive was canceled due to the
3050: "server_name_in_redirect" directive introduction.
3051:
3052: *) Change: some long deprecated directives are not supported anymore.
3053:
3054: *) Change: the "none" parameter in the "ssl_session_cache" directive;
3055: now this is default parameter.
3056: Thanks to Rob Mueller.
3057:
3058: *) Bugfix: worker processes might not catch reconfiguration and log
3059: rotation signals.
3060:
3061: *) Bugfix: nginx could not be built on latest Fedora 9 Linux.
3062: Thanks to Roxis.
3063:
3064:
3065: Changes with nginx 0.7.0 19 May 2008
3066:
3067: *) Change: now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX
3068: in an access_log.
3069: Thanks to Maxim Dounin.
3070:
3071: *) Change: now nginx allows several "Host" request header line.
3072:
3073: *) Feature: the "modified" flag in the "expires" directive.
3074:
3075: *) Feature: the $uid_got and $uid_set variables may be used at any
3076: request processing stage.
3077:
3078: *) Feature: the $hostname variable.
3079: Thanks to Andrei Nigmatulin.
3080:
3081: *) Feature: DESTDIR support.
3082: Thanks to Todd A. Fisher and Andras Voroskoi.
3083:
3084: *) Bugfix: a segmentation fault might occur in worker process on Linux,
3085: if keepalive was enabled.
3086:
3087:
3088: Changes with nginx 0.6.31 12 May 2008
3089:
3090: *) Bugfix: nginx did not process FastCGI response if header was at the
3091: end of FastCGI record; the bug had appeared in 0.6.2.
3092: Thanks to Sergey Serov.
3093:
3094: *) Bugfix: a segmentation fault might occur in worker process if a file
3095: was deleted and the "open_file_cache_errors" directive was off.
3096:
3097:
3098: Changes with nginx 0.6.30 29 Apr 2008
3099:
3100: *) Change: now if an "include" directive pattern does not match any
3101: file, then nginx does not issue an error.
3102:
3103: *) Feature: now the time in directives may be specified without spaces,
3104: for example, "1h50m".
3105:
3106: *) Bugfix: memory leaks if the "ssl_verify_client" directive was on.
3107: Thanks to Chavelle Vincent.
3108:
3109: *) Bugfix: the "sub_filter" directive might set text to change into
3110: output.
3111:
3112: *) Bugfix: the "error_page" directive did not take into account
3113: arguments in redirected URI.
3114:
3115: *) Bugfix: now nginx always opens files in binary mode under Cygwin.
3116:
3117: *) Bugfix: nginx could not be built on OpenBSD; the bug had appeared in
3118: 0.6.15.
3119:
3120:
3121: Changes with nginx 0.6.29 18 Mar 2008
3122:
3123: *) Feature: the ngx_google_perftools_module.
3124:
3125: *) Bugfix: the ngx_http_perl_module could not be built on 64-bit
3126: platforms; the bug had appeared in 0.6.27.
3127:
3128:
3129: Changes with nginx 0.6.28 13 Mar 2008
3130:
3131: *) Bugfix: the rtsig method could not be built; the bug had appeared in
3132: 0.6.27.
3133:
3134:
3135: Changes with nginx 0.6.27 12 Mar 2008
3136:
3137: *) Change: now by default the rtsig method is not built on
3138: Linux 2.6.18+.
3139:
3140: *) Change: now a request method is not changed while redirection to a
3141: named location via an "error_page" directive.
3142:
3143: *) Feature: the "resolver" and "resolver_timeout" directives in SMTP
3144: proxy.
3145:
3146: *) Feature: the "post_action" directive supports named locations.
3147:
3148: *) Bugfix: a segmentation fault occurred in worker process, if a request
3149: was redirected from proxy, FastCGI, or memcached location to static
3150: named locations.
3151:
3152: *) Bugfix: browsers did not repeat SSL handshake if there is no valid
3153: client certificate in first handshake.
3154: Thanks to Alexander V. Inyukhin.
3155:
3156: *) Bugfix: if response code 495-497 was redirected via an "error_page"
3157: directive without code change, then nginx tried to allocate too many
3158: memory.
3159:
3160: *) Bugfix: memory leak in long-lived non buffered connections.
3161:
3162: *) Bugfix: memory leak in resolver.
3163:
3164: *) Bugfix: a segmentation fault occurred in worker process, if a request
3165: was redirected from proxy, FastCGI, or memcached location to static
3166: named locations.
3167:
3168: *) Bugfix: in the $proxy_host and $proxy_port variables caching.
3169: Thanks to Sergey Bochenkov.
3170:
3171: *) Bugfix: a "proxy_pass" directive with variables used incorrectly the
3172: same port as in another "proxy_pass" directive with the same host
3173: name and without variables.
3174: Thanks to Sergey Bochenkov.
3175:
3176: *) Bugfix: an alert "sendmsg() failed (9: Bad file descriptor)" on some
3177: 64-bit platforms while reconfiguration.
3178:
3179: *) Bugfix: a segmentation fault occurred in worker process, if empty
3180: stub block was used second time in SSI.
3181:
3182: *) Bugfix: in copying URI part contained escaped symbols into arguments.
3183:
3184:
3185: Changes with nginx 0.6.26 11 Feb 2008
3186:
3187: *) Bugfix: the "proxy_store" and "fastcgi_store" directives did not
3188: check a response length.
3189:
3190: *) Bugfix: a segmentation fault occurred in worker process, if big value
3191: was used in a "expires" directive.
3192: Thanks to Joaquin Cuenca Abela.
3193:
3194: *) Bugfix: nginx incorrectly detected cache line size on Pentium 4.
3195: Thanks to Gena Makhomed.
3196:
3197: *) Bugfix: in proxied or FastCGI subrequests a client original method
3198: was used instead of the GET method.
3199:
3200: *) Bugfix: socket leak in HTTPS mode if deferred accept was used.
3201: Thanks to Ben Maurer.
3202:
3203: *) Bugfix: nginx issued the bogus error message "SSL_shutdown() failed
3204: (SSL: )"; the bug had appeared in 0.6.23.
3205:
3206: *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
3207: error; the bug had appeared in 0.6.23.
3208:
3209:
3210: Changes with nginx 0.6.25 08 Jan 2008
3211:
3212: *) Change: now the "server_name_in_redirect" directive is used instead
3213: of the "server_name" directive's special "*" parameter.
3214:
3215: *) Change: now wildcard and regex names can be used as main name in a
3216: "server_name" directive.
3217:
3218: *) Change: the "satisfy_any" directive was replaced by the "satisfy"
3219: directive.
3220:
3221: *) Workaround: old worker processes might hog CPU after reconfiguration
3222: if they was run under Linux OpenVZ.
3223:
3224: *) Feature: the "min_delete_depth" directive.
3225:
3226: *) Bugfix: the COPY and MOVE methods did not work with single files.
3227:
3228: *) Bugfix: the ngx_http_gzip_static_module did not allow the
3229: ngx_http_dav_module to work; the bug had appeared in 0.6.23.
3230:
3231: *) Bugfix: socket leak in HTTPS mode if deferred accept was used.
3232: Thanks to Ben Maurer.
3233:
3234: *) Bugfix: nginx could not be built without PCRE library; the bug had
3235: appeared in 0.6.23.
3236:
3237:
3238: Changes with nginx 0.6.24 27 Dec 2007
3239:
3240: *) Bugfix: a segmentation fault might occur in worker process if HTTPS
3241: was used; the bug had appeared in 0.6.23.
3242:
3243:
3244: Changes with nginx 0.6.23 27 Dec 2007
3245:
3246: *) Change: the "off" parameter in the "ssl_session_cache" directive; now
3247: this is default parameter.
3248:
3249: *) Change: the "open_file_cache_retest" directive was renamed to the
3250: "open_file_cache_valid".
3251:
3252: *) Feature: the "open_file_cache_min_uses" directive.
3253:
3254: *) Feature: the ngx_http_gzip_static_module.
3255:
3256: *) Feature: the "gzip_disable" directive.
3257:
3258: *) Feature: the "memcached_pass" directive may be used inside the "if"
3259: block.
3260:
3261: *) Bugfix: a segmentation fault occurred in worker process, if the
3262: "memcached_pass" and "if" directives were used in the same location.
3263:
3264: *) Bugfix: if a "satisfy_any on" directive was used and not all access
3265: and auth modules directives were set, then other given access and
3266: auth directives were not tested;
3267:
3268: *) Bugfix: regex parameters in a "valid_referers" directive were not
3269: inherited from previous level.
3270:
3271: *) Bugfix: a "post_action" directive did run if a request was completed
3272: with 499 status code.
3273:
3274: *) Bugfix: optimization of 16K buffer usage in a SSL connection.
3275: Thanks to Ben Maurer.
3276:
3277: *) Bugfix: the STARTTLS in SMTP mode did not work.
3278: Thanks to Oleg Motienko.
3279:
3280: *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
3281: error; the bug had appeared in 0.5.13.
3282:
3283:
3284: Changes with nginx 0.6.22 19 Dec 2007
3285:
3286: *) Change: now all ngx_http_perl_module methods return values copied to
3287: perl's allocated memory.
3288:
3289: *) Bugfix: if nginx was built with ngx_http_perl_module, the perl before
3290: 5.8.6 was used, and perl supported threads, then during
3291: reconfiguration the master process aborted; the bug had appeared in
3292: 0.5.9.
3293: Thanks to Boris Zhmurov.
3294:
3295: *) Bugfix: the ngx_http_perl_module methods may get invalid values of
3296: the regex captures.
3297:
3298: *) Bugfix: a segmentation fault occurred in worker process, if the
3299: $r->has_request_body() method was called for a request whose small
3300: request body was already received.
3301:
3302: *) Bugfix: large_client_header_buffers did not freed before going to
3303: keep-alive state.
3304: Thanks to Olexander Shtepa.
3305:
3306: *) Bugfix: the last address was missed in the $upstream_addr variable;
3307: the bug had appeared in 0.6.18.
3308:
3309: *) Bugfix: the "fastcgi_catch_stderr" directive did return error code;
3310: now it returns 502 code, that can be rerouted to a next server using
3311: the "fastcgi_next_upstream invalid_header" directive.
3312:
3313: *) Bugfix: a segmentation fault occurred in master process if the
3314: "fastcgi_catch_stderr" directive was used; the bug had appeared in
3315: 0.6.10.
3316: Thanks to Manlio Perillo.
3317:
3318:
3319: Changes with nginx 0.6.21 03 Dec 2007
3320:
3321: *) Change: if variable values used in a "proxy_pass" directive contain
3322: IP-addresses only, then a "resolver" directive is not mandatory.
3323:
3324: *) Bugfix: a segmentation fault might occur in worker process if a
3325: "proxy_pass" directive with URI-part was used; the bug had appeared
3326: in 0.6.19.
3327:
3328: *) Bugfix: if resolver was used on platform that does not support
3329: kqueue, then nginx issued an alert "name is out of response".
3330: Thanks to Andrei Nigmatulin.
3331:
3332: *) Bugfix: if the $server_protocol was used in FastCGI parameters and a
3333: request line length was near to the "client_header_buffer_size"
3334: directive value, then nginx issued an alert "fastcgi: the request
3335: record is too big".
3336:
3337: *) Bugfix: if a plain text HTTP/0.9 version request was made to HTTPS
3338: server, then nginx returned usual response.
3339:
3340:
3341: Changes with nginx 0.6.20 28 Nov 2007
3342:
3343: *) Bugfix: a segmentation fault might occur in worker process if a
3344: "proxy_pass" directive with URI-part was used; the bug had appeared
3345: in 0.6.19.
3346:
3347:
3348: Changes with nginx 0.6.19 27 Nov 2007
3349:
3350: *) Bugfix: the 0.6.18 version could not be built.
3351:
3352:
3353: Changes with nginx 0.6.18 27 Nov 2007
3354:
3355: *) Change: now the ngx_http_userid_module adds start time microseconds
3356: to the cookie field contains a pid value.
3357:
3358: *) Change: now the full request line instead of URI only is written to
3359: error_log.
3360:
3361: *) Feature: variables support in the "proxy_pass" directive.
3362:
3363: *) Feature: the "resolver" and "resolver_timeout" directives.
3364:
3365: *) Feature: now the directive "add_header last-modified ''" deletes a
3366: "Last-Modified" response header line.
3367:
3368: *) Bugfix: the "limit_rate" directive did not allow to use full
3369: throughput, even if limit value was very high.
3370:
3371:
3372: Changes with nginx 0.6.17 15 Nov 2007
3373:
3374: *) Feature: the "If-Range" request header line support.
3375: Thanks to Alexander V. Inyukhin.
3376:
3377: *) Bugfix: URL double escaping in a redirect of the "msie_refresh"
3378: directive; the bug had appeared in 0.6.4.
3379:
3380: *) Bugfix: the "autoindex" directive did not work with the "alias /"
3381: directive.
3382:
3383: *) Bugfix: a segmentation fault might occur in worker process if
3384: subrequests were used.
3385:
3386: *) Bugfix: the big responses may be transferred truncated if SSL and
3387: gzip were used.
3388:
3389: *) Bugfix: the $status variable was equal to 0 if a proxied server
3390: returned response in HTTP/0.9 version.
3391:
3392:
3393: Changes with nginx 0.6.16 29 Oct 2007
3394:
3395: *) Change: now the uname(2) is used on Linux instead of procfs.
3396: Thanks to Ilya Novikov.
3397:
3398: *) Bugfix: if the "?" character was in a "error_page" directive, then it
3399: was escaped in a proxied request; the bug had appeared in 0.6.11.
3400:
3401: *) Bugfix: compatibility with mget.
3402:
3403:
3404: Changes with nginx 0.6.15 22 Oct 2007
3405:
3406: *) Feature: Cygwin compatibility.
3407: Thanks to Vladimir Kutakov.
3408:
3409: *) Feature: the "merge_slashes" directive.
3410:
3411: *) Feature: the "gzip_vary" directive.
3412:
3413: *) Feature: the "server_tokens" directive.
3414:
3415: *) Bugfix: nginx did not unescape URI in the "include" SSI command.
3416:
3417: *) Bugfix: the segmentation fault was occurred on start or while
3418: reconfiguration if variable was used in the "charset" or
3419: "source_charset" directives.
3420:
3421: *) Bugfix: nginx returned the 400 response on requests like
3422: "GET http://www.domain.com HTTP/1.0".
3423: Thanks to James Oakley.
3424:
3425: *) Bugfix: if request with request body was redirected using the
3426: "error_page" directive, then nginx tried to read the request body
3427: again; the bug had appeared in 0.6.7.
3428:
3429: *) Bugfix: a segmentation fault occurred in worker process if no
3430: server_name was explicitly defined for server processing request; the
3431: bug had appeared in 0.6.7.
3432:
3433:
3434: Changes with nginx 0.6.14 15 Oct 2007
3435:
3436: *) Change: now by default the "echo" SSI command uses entity encoding.
3437:
3438: *) Feature: the "encoding" parameter in the "echo" SSI command.
3439:
3440: *) Feature: the "access_log" directive may be used inside the
3441: "limit_except" block.
3442:
3443: *) Bugfix: if all upstream servers were failed, then all servers had got
3444: weight the was equal one until servers became alive; the bug had
3445: appeared in 0.6.6.
3446:
3447: *) Bugfix: a segmentation fault occurred in worker process if
3448: $date_local and $date_gmt were used outside the
3449: ngx_http_ssi_filter_module.
3450:
3451: *) Bugfix: a segmentation fault might occur in worker process if debug
3452: log was enabled.
3453: Thanks to Andrei Nigmatulin.
3454:
3455: *) Bugfix: ngx_http_memcached_module did not set
3456: $upstream_response_time.
3457: Thanks to Maxim Dounin.
3458:
3459: *) Bugfix: a worker process may got caught in an endless loop, if the
3460: memcached was used.
3461:
3462: *) Bugfix: nginx supported low case only "close" and "keep-alive" values
3463: in the "Connection" request header line; the bug had appeared in
3464: 0.6.11.
3465:
3466: *) Bugfix: sub_filter did not work with empty substitution.
3467:
3468: *) Bugfix: in sub_filter parsing.
3469:
3470:
3471: Changes with nginx 0.6.13 24 Sep 2007
3472:
3473: *) Bugfix: nginx did not close directory file on HEAD request if
3474: autoindex was used.
3475: Thanks to Arkadiusz Patyk.
3476:
3477:
3478: Changes with nginx 0.6.12 21 Sep 2007
3479:
3480: *) Change: mail proxy was split on three modules: pop3, imap and smtp.
3481:
3482: *) Feature: the --without-mail_pop3_module, --without-mail_imap_module,
3483: and --without-mail_smtp_module configuration parameters.
3484:
3485: *) Feature: the "smtp_greeting_delay" and "smtp_client_buffer"
3486: directives of the ngx_mail_smtp_module.
3487:
3488: *) Bugfix: the trailing wildcards did not work; the bug had appeared in
3489: 0.6.9.
3490:
3491: *) Bugfix: nginx could not start on Solaris if the shared PCRE library
3492: located in non-standard place was used.
3493:
3494: *) Bugfix: the "proxy_hide_header" and "fastcgi_hide_header" directives
3495: did not hide response header lines whose name was longer than 32
3496: characters.
3497: Thanks to Manlio Perillo.
3498:
3499:
3500: Changes with nginx 0.6.11 11 Sep 2007
3501:
3502: *) Bugfix: active connection counter always increased if mail proxy was
3503: used.
3504:
3505: *) Bugfix: if backend returned response header only using non-buffered
3506: proxy, then nginx closed backend connection on timeout.
3507:
3508: *) Bugfix: nginx did not support several "Connection" request header
3509: lines.
3510:
3511: *) Bugfix: if the "max_fails" was set for upstream server, then after
3512: first failure server weight was always one; the bug had appeared in
3513: 0.6.6.
3514:
3515:
3516: Changes with nginx 0.6.10 03 Sep 2007
3517:
3518: *) Feature: the "open_file_cache", "open_file_cache_retest", and
3519: "open_file_cache_errors" directives.
3520:
3521: *) Bugfix: socket leak; the bug had appeared in 0.6.7.
3522:
3523: *) Bugfix: a charset set by the "charset" directive was not appended to
3524: the "Content-Type" header set by $r->send_http_header().
3525:
3526: *) Bugfix: a segmentation fault might occur in worker process if
3527: /dev/poll method was used.
3528:
3529:
3530: Changes with nginx 0.6.9 28 Aug 2007
3531:
3532: *) Bugfix: a worker process may got caught in an endless loop, if the
3533: HTTPS protocol was used; the bug had appeared in 0.6.7.
3534:
3535: *) Bugfix: if server listened on two addresses or ports and trailing
3536: wildcard was used, then nginx did not run.
3537:
3538: *) Bugfix: the "ip_hash" directive might incorrectly mark servers as
3539: down.
3540:
3541: *) Bugfix: nginx could not be built on amd64; the bug had appeared in
3542: 0.6.8.
3543:
3544:
3545: Changes with nginx 0.6.8 20 Aug 2007
3546:
3547: *) Change: now nginx tries to set the "worker_priority",
3548: "worker_rlimit_nofile", "worker_rlimit_core", and
3549: "worker_rlimit_sigpending" without super-user privileges.
3550:
3551: *) Change: now nginx escapes space and "%" in request to a mail proxy
3552: authentication server.
3553:
3554: *) Change: now nginx escapes "%" in $memcached_key variable.
3555:
3556: *) Bugfix: nginx used path relative to configuration prefix for
3557: non-absolute configuration file path specified in the "-c" key; the
3558: bug had appeared in 0.6.6.
3559:
3560: *) Bugfix: nginx did not work on FreeBSD/sparc64.
3561:
3562:
3563: Changes with nginx 0.6.7 15 Aug 2007
3564:
3565: *) Change: now the paths specified in the "include",
3566: "auth_basic_user_file", "perl_modules", "ssl_certificate",
3567: "ssl_certificate_key", and "ssl_client_certificate" directives are
3568: relative to directory of nginx configuration file nginx.conf, but not
3569: to nginx prefix directory.
3570:
3571: *) Change: the --sysconfdir=PATH option in configure was canceled.
3572:
3573: *) Change: the special make target "upgrade1" was defined for online
3574: upgrade of 0.1.x versions.
3575:
3576: *) Feature: the "server_name" and "valid_referers" directives support
3577: regular expressions.
3578:
3579: *) Feature: the "server" directive in the "upstream" context supports
3580: the "backup" parameter.
3581:
3582: *) Feature: the ngx_http_perl_module supports the
3583: $r->discard_request_body.
3584:
3585: *) Feature: the "add_header Last-Modified ..." directive changes the
3586: "Last-Modified" response header line.
3587:
3588: *) Bugfix: if a response different than 200 was returned to a request
3589: with body and connection went to the keep-alive state after the
3590: request, then nginx returned 400 for the next request.
3591:
3592: *) Bugfix: a segmentation fault occurred in worker process if invalid
3593: address was set in the "auth_http" directive.
3594:
3595: *) Bugfix: now nginx uses default listen backlog value 511 on all
3596: platforms except FreeBSD.
3597: Thanks to Jiang Hong.
3598:
3599: *) Bugfix: a worker process may got caught in an endless loop, if a
3600: "server" inside "upstream" block was marked as "down"; the bug had
3601: appeared in 0.6.6.
3602:
3603: *) Bugfix: now Solaris sendfilev() is not used to transfer the client
3604: request body to FastCGI-server via the unix domain socket.
3605:
3606:
3607: Changes with nginx 0.6.6 30 Jul 2007
3608:
3609: *) Feature: the --sysconfdir=PATH option in configure.
3610:
3611: *) Feature: named locations.
3612:
3613: *) Feature: the $args variable can be set with the "set" directive.
3614:
3615: *) Feature: the $is_args variable.
3616:
3617: *) Bugfix: fair big weight upstream balancer.
3618:
3619: *) Bugfix: if a client has closed connection to mail proxy then nginx
3620: might not close connection to backend.
3621:
3622: *) Bugfix: if the same host without specified port was used as backend
3623: for HTTP and HTTPS, then nginx used only one port - 80 or 443.
3624:
3625: *) Bugfix: fix building on Solaris/amd64 by Sun Studio 11 and early
3626: versions; the bug had appeared in 0.6.4.
3627:
3628:
3629: Changes with nginx 0.6.5 23 Jul 2007
3630:
3631: *) Feature: $nginx_version variable.
3632: Thanks to Nick S. Grechukh.
3633:
3634: *) Feature: the mail proxy supports AUTHENTICATE in IMAP mode.
3635: Thanks to Maxim Dounin.
3636:
3637: *) Feature: the mail proxy supports STARTTLS in SMTP mode.
3638: Thanks to Maxim Dounin.
3639:
3640: *) Bugfix: now nginx escapes space in $memcached_key variable.
3641:
3642: *) Bugfix: nginx was incorrectly built by Sun Studio on Solaris/amd64.
3643: Thanks to Jiang Hong.
3644:
3645: *) Bugfix: of minor potential bugs.
3646: Thanks to Coverity's Scan.
3647:
3648:
3649: Changes with nginx 0.6.4 17 Jul 2007
3650:
3651: *) Security: the "msie_refresh" directive allowed XSS.
3652: Thanks to Maxim Boguk.
3653:
3654: *) Change: the "proxy_store" and "fastcgi_store" directives were
3655: changed.
3656:
3657: *) Feature: the "proxy_store_access" and "fastcgi_store_access"
3658: directives.
3659:
3660: *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun
3661: Studio.
3662: Thanks to Andrei Nigmatulin.
3663:
3664: *) Workaround: for Sun Studio 12.
3665: Thanks to Jiang Hong.
3666:
3667:
3668: Changes with nginx 0.6.3 12 Jul 2007
3669:
3670: *) Feature: the "proxy_store" and "fastcgi_store" directives.
3671:
3672: *) Bugfix: a segmentation fault might occur in worker process if the
3673: "auth_http_header" directive was used.
3674: Thanks to Maxim Dounin.
3675:
3676: *) Bugfix: a segmentation fault occurred in worker process if the
3677: CRAM-MD5 authentication method was used, but it was not enabled.
3678:
3679: *) Bugfix: a segmentation fault might occur in worker process when the
3680: HTTPS protocol was used in the "proxy_pass" directive.
3681:
3682: *) Bugfix: a segmentation fault might occur in worker process if the
3683: eventport method was used.
3684:
3685: *) Bugfix: the "proxy_ignore_client_abort" and
3686: "fastcgi_ignore_client_abort" directives did not work; the bug had
3687: appeared in 0.5.13.
3688:
3689:
3690: Changes with nginx 0.6.2 09 Jul 2007
3691:
3692: *) Bugfix: if the FastCGI header was split in records, then nginx passed
3693: garbage in the header to a client.
3694:
3695:
3696: Changes with nginx 0.6.1 17 Jun 2007
3697:
3698: *) Bugfix: in SSI parsing.
3699:
3700: *) Bugfix: if remote SSI subrequest was used, then posterior local file
3701: subrequest might transferred to client in wrong order.
3702:
3703: *) Bugfix: large SSI inclusions buffered in temporary files were
3704: truncated.
3705:
3706: *) Bugfix: the perl $$ variable value in ngx_http_perl_module was equal
3707: to the master process identification number.
3708:
3709:
3710: Changes with nginx 0.6.0 14 Jun 2007
3711:
3712: *) Feature: the "server_name", "map", and "valid_referers" directives
3713: support the "www.example.*" wildcards.
3714:
3715:
3716: Changes with nginx 0.5.25 11 Jun 2007
3717:
3718: *) Bugfix: nginx could not be built with the
3719: --without-http_rewrite_module parameter; the bug had appeared in
3720: 0.5.24.
3721:
3722:
3723: Changes with nginx 0.5.24 06 Jun 2007
3724:
3725: *) Security: the "ssl_verify_client" directive did not work if request
3726: was made using HTTP/0.9.
3727:
3728: *) Bugfix: a part of response body might be passed uncompressed if gzip
3729: was used; the bug had appeared in 0.5.23.
3730:
3731:
3732: Changes with nginx 0.5.23 04 Jun 2007
3733:
3734: *) Feature: the ngx_http_ssl_module supports Server Name Indication TLS
3735: extension.
3736:
3737: *) Feature: the "fastcgi_catch_stderr" directive.
3738: Thanks to Nick S. Grechukh, OWOX project.
3739:
3740: *) Bugfix: a segmentation fault occurred in master process if two
3741: virtual servers should bind() to the overlapping ports.
3742:
3743: *) Bugfix: if nginx was built with ngx_http_perl_module and perl
3744: supported threads, then during second reconfiguration the error
3745: messages "panic: MUTEX_LOCK" and "perl_parse() failed" were issued.
3746:
3747: *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
3748:
3749:
3750: Changes with nginx 0.5.22 29 May 2007
3751:
3752: *) Bugfix: a big request body might not be passed to backend; the bug
3753: had appeared in 0.5.21.
3754:
3755:
3756: Changes with nginx 0.5.21 28 May 2007
3757:
3758: *) Bugfix: if server has more than about ten locations, then regex
3759: locations might be choosen not in that order as they were specified.
3760:
3761: *) Bugfix: a worker process may got caught in an endless loop on 64-bit
3762: platform, if the 33-rd or next in succession backend has failed.
3763: Thanks to Anton Povarov.
3764:
3765: *) Bugfix: a bus error might occur on Solaris/sparc64 if the PCRE
3766: library was used.
3767: Thanks to Andrei Nigmatulin.
3768:
3769: *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
3770:
3771:
3772: Changes with nginx 0.5.20 07 May 2007
3773:
3774: *) Feature: the "sendfile_max_chunk" directive.
3775:
3776: *) Feature: the "$http_...", "$sent_http_...", and "$upstream_http_..."
3777: variables may be changed using the "set" directive.
3778:
3779: *) Bugfix: a segmentation fault might occur in worker process if the SSI
3780: command 'if expr="$var = /"' was used.
3781:
3782: *) Bugfix: trailing boundary of multipart range response was transferred
3783: incorrectly.
3784: Thanks to Evan Miller.
3785:
3786: *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun
3787: Studio.
3788: Thanks to Andrei Nigmatulin.
3789:
3790: *) Bugfix: the ngx_http_perl_module could not be built by Solaris make.
3791: Thanks to Andrei Nigmatulin.
3792:
3793:
3794: Changes with nginx 0.5.19 24 Apr 2007
3795:
3796: *) Change: now the $request_time variable has millisecond precision.
3797:
3798: *) Change: the method $r->rflush of ngx_http_perl_module was renamed to
3799: the $r->flush.
3800:
3801: *) Feature: the $upstream_addr variable.
3802:
3803: *) Feature: the "proxy_headers_hash_max_size" and
3804: "proxy_headers_hash_bucket_size" directives.
3805: Thanks to Volodymyr Kostyrko.
3806:
3807: *) Bugfix: the files more than 2G could not be transferred using
3808: sendfile and limit_rate on 64-bit platforms.
3809:
3810: *) Bugfix: the files more than 2G could not be transferred using
3811: sendfile on 64-bit Linux.
3812:
3813:
3814: Changes with nginx 0.5.18 19 Apr 2007
3815:
3816: *) Feature: the ngx_http_sub_filter_module.
3817:
3818: *) Feature: the "$upstream_http_..." variables.
3819:
3820: *) Feature: now the $upstream_status and $upstream_response_time
3821: variables keep data about all upstreams before X-Accel-Redirect.
3822:
3823: *) Bugfix: a segmentation fault occurred in master process after first
3824: reconfiguration and receiving any signal if nginx was built with
3825: ngx_http_perl_module and perl did not support multiplicity; the bug
3826: had appeared in 0.5.9.
3827:
3828: *) Bugfix: if perl did not support multiplicity, then after
3829: reconfiguration perl code did not work; the bug had appeared in
3830: 0.3.38.
3831:
3832:
3833: Changes with nginx 0.5.17 02 Apr 2007
3834:
3835: *) Change: now nginx always returns the 405 status for the TRACE method.
3836:
3837: *) Feature: now nginx supports the "include" directive inside the
3838: "types" block.
3839:
3840: *) Bugfix: the $document_root variable usage in the "root" and "alias"
3841: directives is disabled: this caused recursive stack overflow.
3842:
3843: *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
3844:
3845: *) Bugfix: in some cases non-cachable variables (such as $uri variable)
3846: returned old cached value.
3847:
3848:
3849: Changes with nginx 0.5.16 26 Mar 2007
3850:
3851: *) Bugfix: the C-class network was not used as hash key in the "ip_hash"
3852: directive.
3853: Thanks to Pavel Yarkovoy.
3854:
3855: *) Bugfix: a segmentation fault might occur in worker process if a
3856: charset was set in the "Content-Type" header line and the line has
3857: trailing ";"; the bug had appeared in 0.3.50.
3858:
3859: *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
3860: used and a request body written in a temporary file was multiple of
3861: 32K.
3862:
3863: *) Bugfix: nginx could not be built on Solaris without the --with-debug
3864: option; the bug had appeared in 0.5.15.
3865:
3866:
3867: Changes with nginx 0.5.15 19 Mar 2007
3868:
3869: *) Feature: the mail proxy supports authenticated SMTP proxying and the
3870: "smtp_auth", "smtp_capablities", and "xclient" directives.
3871: Thanks to Anton Yuzhaninov and Maxim Dounin.
3872:
3873: *) Feature: now the keep-alive connections are closed just after
3874: receiving the reconfiguration signal.
3875:
3876: *) Change: the "imap" and "auth" directives were renamed to the "mail"
3877: and "pop3_auth" directives.
3878:
3879: *) Bugfix: a segmentation fault occurred in worker process if the
3880: CRAM-MD5 authentication method was used and the APOP method was
3881: disabled.
3882:
3883: *) Bugfix: if the "starttls only" directive was used in POP3 protocol,
3884: then nginx allowed authentication without switching to the SSL mode.
3885:
3886: *) Bugfix: worker processes did not exit after reconfiguration and did
3887: not rotate logs if the eventport method was used.
3888:
3889: *) Bugfix: a worker process may got caught in an endless loop, if the
3890: "ip_hash" directive was used.
3891:
3892: *) Bugfix: now nginx does not log some alerts if eventport or /dev/poll
3893: methods are used.
3894:
3895:
3896: Changes with nginx 0.5.14 23 Feb 2007
3897:
3898: *) Bugfix: nginx ignored superfluous closing "}" in the end of
3899: configuration file.
3900:
3901:
3902: Changes with nginx 0.5.13 19 Feb 2007
3903:
3904: *) Feature: the COPY and MOVE methods.
3905:
3906: *) Bugfix: the ngx_http_realip_module set garbage for requests passed
3907: via keep-alive connection.
3908:
3909: *) Bugfix: nginx did not work on big-endian 64-bit Linux.
3910: Thanks to Andrei Nigmatulin.
3911:
3912: *) Bugfix: now when IMAP/POP3 proxy receives too long command it closes
3913: the connection right away, but not after timeout.
3914:
3915: *) Bugfix: if the "epoll" method was used and a client closed a
3916: connection prematurely, then nginx closed the connection after a send
3917: timeout only.
3918:
3919: *) Bugfix: nginx could not be built on platforms different from i386,
3920: amd64, sparc, and ppc; the bug had appeared in 0.5.8.
3921:
3922:
3923: Changes with nginx 0.5.12 12 Feb 2007
3924:
3925: *) Bugfix: nginx could not be built on platforms different from i386,
3926: amd64, sparc, and ppc; the bug had appeared in 0.5.8.
3927:
3928: *) Bugfix: a segmentation fault might occur in worker process if the
3929: temporary files were used while working with FastCGI server; the bug
3930: had appeared in 0.5.8.
3931:
3932: *) Bugfix: a segmentation fault might occur in worker process if the
3933: $fastcgi_script_name variable was logged.
3934:
3935: *) Bugfix: ngx_http_perl_module could not be built on Solaris.
3936:
3937:
3938: Changes with nginx 0.5.11 05 Feb 2007
3939:
3940: *) Feature: now configure detects system PCRE library in MacPorts.
3941: Thanks to Chris McGrath.
3942:
3943: *) Bugfix: the response was incorrect if several ranges were requested;
3944: the bug had appeared in 0.5.6.
3945:
3946: *) Bugfix: the "create_full_put_path" directive could not create the
3947: intermediate directories if no "dav_access" directive was set.
3948: Thanks to Evan Miller.
3949:
3950: *) Bugfix: the "0" response code might be logged in the access_log
3951: instead of the "400" and "408" error codes.
3952:
3953: *) Bugfix: a segmentation fault might occur in worker process if nginx
3954: was built with -O2 optimization.
3955:
3956:
3957: Changes with nginx 0.5.10 26 Jan 2007
3958:
3959: *) Bugfix: while online executable file upgrade the new master process
3960: did not inherit the listening sockets; the bug had appeared in 0.5.9.
3961:
3962: *) Bugfix: a segmentation fault might occur in worker process if nginx
3963: was built with -O2 optimization; the bug had appeared in 0.5.1.
3964:
3965:
3966: Changes with nginx 0.5.9 25 Jan 2007
3967:
3968: *) Change: now the ngx_http_memcached_module uses the $memcached_key
3969: variable value as a key.
3970:
3971: *) Feature: the $memcached_key variable.
3972:
3973: *) Feature: the "clean" parameter in the "client_body_in_file_only"
3974: directive.
3975:
3976: *) Feature: the "env" directive.
3977:
3978: *) Feature: the "sendfile" directive is available inside the "if" block.
3979:
3980: *) Feature: now on failure of the writing to access nginx logs a message
3981: to error_log, but not more often than once a minute.
3982:
3983: *) Bugfix: the "access_log off" directive did not always turn off the
3984: logging.
3985:
3986:
3987: Changes with nginx 0.5.8 19 Jan 2007
3988:
3989: *) Bugfix: a segmentation fault might occur if
3990: "client_body_in_file_only on" was used and a request body was small.
3991:
3992: *) Bugfix: a segmentation fault occurred if
3993: "client_body_in_file_only on" and "proxy_pass_request_body off" or
3994: "fastcgi_pass_request_body off" directives were used, and nginx
3995: switched to a next upstream.
3996:
3997: *) Bugfix: if the "proxy_buffering off" directive was used and a client
3998: connection was non-active, then the connection was closed after send
3999: timeout; the bug had appeared in 0.4.7.
4000:
4001: *) Bugfix: if the "epoll" method was used and a client closed a
4002: connection prematurely, then nginx closed the connection after a send
4003: timeout only.
4004:
4005: *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
4006: used.
4007:
4008: *) Bugfixes in the "limit_zone" directive.
4009:
4010:
4011: Changes with nginx 0.5.7 15 Jan 2007
4012:
4013: *) Feature: the ssl_session_cache storage optimization.
4014:
4015: *) Bugfixes in the "ssl_session_cache" and "limit_zone" directives.
4016:
4017: *) Bugfix: the segmentation fault was occurred on start or while
4018: reconfiguration if the "ssl_session_cache" or "limit_zone" directives
4019: were used on 64-bit platforms.
4020:
4021: *) Bugfix: a segmentation fault occurred if the "add_before_body" or
4022: "add_after_body" directives were used and there was no "Content-Type"
4023: header line in response.
4024:
4025: *) Bugfix: the OpenSSL library was always built with the threads
4026: support.
4027: Thanks to Den Ivanov.
4028:
4029: *) Bugfix: the PCRE-6.5+ library and the icc compiler compatibility.
4030:
4031:
4032: Changes with nginx 0.5.6 09 Jan 2007
4033:
4034: *) Change: now the ngx_http_index_module ignores all methods except the
4035: GET, HEAD, and POST methods.
4036:
4037: *) Feature: the ngx_http_limit_zone_module.
4038:
4039: *) Feature: the $binary_remote_addr variable.
4040:
4041: *) Feature: the "ssl_session_cache" directives of the
4042: ngx_http_ssl_module and ngx_imap_ssl_module.
4043:
4044: *) Feature: the DELETE method supports recursive removal.
4045:
4046: *) Bugfix: the byte-ranges were transferred incorrectly if the
4047: $r->sendfile() was used.
4048:
4049:
4050: Changes with nginx 0.5.5 24 Dec 2006
4051:
4052: *) Change: the -v switch does not show compiler information any more.
4053:
4054: *) Feature: the -V switch.
4055:
4056: *) Feature: the "worker_rlimit_core" directive supports size in K, M,
4057: and G.
4058:
4059: *) Bugfix: the nginx.pm module now could be installed by an unprivileged
4060: user.
4061:
4062: *) Bugfix: a segmentation fault might occur if the $r->request_body or
4063: $r->request_body_file methods were used.
4064:
4065: *) Bugfix: the ppc platform specific bugs.
4066:
4067:
4068: Changes with nginx 0.5.4 15 Dec 2006
4069:
4070: *) Feature: the "perl" directive may be used inside the "limit_except"
4071: block.
4072:
4073: *) Bugfix: the ngx_http_dav_module required the "Date" request header
4074: line for the DELETE method.
4075:
4076: *) Bugfix: if one only parameter was used in the "dav_access" directive,
4077: then nginx might report about configuration error.
4078:
4079: *) Bugfix: a segmentation fault might occur if the $host variable was
4080: used; the bug had appeared in 0.4.14.
4081:
4082:
4083: Changes with nginx 0.5.3 13 Dec 2006
4084:
4085: *) Feature: the ngx_http_perl_module supports the $r->status,
4086: $r->log_error, and $r->sleep methods.
4087:
4088: *) Feature: the $r->variable method supports variables that do not exist
4089: in nginx configuration.
4090:
4091: *) Bugfix: the $r->has_request_body method did not work.
4092:
4093:
4094: Changes with nginx 0.5.2 11 Dec 2006
4095:
4096: *) Bugfix: if the "proxy_pass" directive used the name of the "upstream"
4097: block, then nginx tried to resolve the name; the bug had appeared in
4098: 0.5.1.
4099:
4100:
4101: Changes with nginx 0.5.1 11 Dec 2006
4102:
4103: *) Bugfix: the "post_action" directive might not run after a
4104: unsuccessful completion of a request.
4105:
4106: *) Workaround: for Eudora for Mac; the bug had appeared in 0.4.11.
4107: Thanks to Bron Gondwana.
4108:
4109: *) Bugfix: if the "upstream" name was used in the "fastcgi_pass", then
4110: the message "no port in upstream" was issued; the bug had appeared in
4111: 0.5.0.
4112:
4113: *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the
4114: same servers but different ports, then these directives uses the
4115: first described port; the bug had appeared in 0.5.0.
4116:
4117: *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the
4118: unix domain sockets, then these directives used first described
4119: socket; the bug had appeared in 0.5.0.
4120:
4121: *) Bugfix: ngx_http_auth_basic_module ignored the user if it was in the
4122: last line in the password file and there was no the carriage return,
4123: the line feed, or the ":" symbol after the password.
4124:
4125: *) Bugfix: the $upstream_response_time variable might be equal to
4126: "0.000", although response time was more than 1 millisecond.
4127:
4128:
4129: Changes with nginx 0.5.0 04 Dec 2006
4130:
4131: *) Change: the parameters in the "%name" form in the "log_format"
4132: directive are not supported anymore.
4133:
4134: *) Change: the "proxy_upstream_max_fails",
4135: "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails",
4136: "fastcgi_upstream_fail_timeout", "memcached_upstream_max_fails", and
4137: "memcached_upstream_fail_timeout" directives are not supported
4138: anymore.
4139:
4140: *) Feature: the "server" directive in the "upstream" context supports
4141: the "max_fails", "fail_timeout", and "down" parameters.
4142:
4143: *) Feature: the "ip_hash" directive inside the "upstream" block.
4144:
4145: *) Feature: the WAIT status in the "Auth-Status" header line of the
4146: IMAP/POP3 proxy authentication server response.
4147:
4148: *) Bugfix: nginx could not be built on 64-bit platforms; the bug had
4149: appeared in 0.4.14.
4150:
4151:
4152: Changes with nginx 0.4.14 27 Nov 2006
4153:
4154: *) Feature: the "proxy_pass_error_message" directive in IMAP/POP3 proxy.
4155:
4156: *) Feature: now configure detects system PCRE library on FreeBSD, Linux,
4157: and NetBSD.
4158:
4159: *) Bugfix: ngx_http_perl_module did not work with perl built with the
4160: threads support; the bug had appeared in 0.3.38.
4161:
4162: *) Bugfix: ngx_http_perl_module did not work if perl was called
4163: recursively.
4164:
4165: *) Bugfix: nginx ignored a host name in a request line.
4166:
4167: *) Bugfix: a worker process may got caught in an endless loop, if a
4168: FastCGI server sent too many data to the stderr.
4169:
4170: *) Bugfix: the $upstream_response_time variable may be negative if the
4171: system time was changed backward.
4172:
4173: *) Bugfix: the "Auth-Login-Attempt" parameter was not sent to IMAP/POP3
4174: proxy authentication server when POP3 was used.
4175:
4176: *) Bugfix: a segmentation fault might occur if connect to IMAP/POP3
4177: proxy authentication server failed.
4178:
4179:
4180: Changes with nginx 0.4.13 15 Nov 2006
4181:
4182: *) Feature: the "proxy_pass" directive may be used inside the
4183: "limit_except" block.
4184:
4185: *) Feature: the "limit_except" directive supports all WebDAV methods.
4186:
4187: *) Bugfix: if the "add_before_body" directive was used without the
4188: "add_after_body" directive, then a response did not transferred
4189: complete.
4190:
4191: *) Bugfix: a large request body did not receive if the epoll method and
4192: the deferred accept() were used.
4193:
4194: *) Bugfix: a charset could not be set for ngx_http_autoindex_module
4195: responses; the bug had appeared in 0.3.50.
4196:
4197: *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
4198: used;
4199:
4200: *) Bugfix: the --group= configuration parameter was ignored.
4201: Thanks to Thomas Moschny.
4202:
4203: *) Bugfix: the 50th subrequest in SSI response did not work; the bug had
4204: appeared in 0.3.50.
4205:
4206:
4207: Changes with nginx 0.4.12 31 Oct 2006
4208:
4209: *) Feature: the ngx_http_perl_module supports the $r->variable method.
4210:
4211: *) Bugfix: if a big static file was included using SSI in a response,
4212: then the response may be transferred incomplete.
4213:
4214: *) Bugfix: nginx did not omit the "#fragment" part in URI.
4215:
4216:
4217: Changes with nginx 0.4.11 25 Oct 2006
4218:
4219: *) Feature: the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5.
4220:
4221: *) Feature: the ngx_http_perl_module supports the $r->allow_ranges
4222: method.
4223:
4224: *) Bugfix: if the APOP was enabled in the POP3 proxy, then the USER/PASS
4225: commands might not work; the bug had appeared in 0.4.10.
4226:
4227:
4228: Changes with nginx 0.4.10 23 Oct 2006
4229:
4230: *) Feature: the POP3 proxy supports the APOP command.
4231:
4232: *) Bugfix: if the select, poll or /dev/poll methods were used, then
4233: while waiting authentication server response the IMAP/POP3 proxy
4234: hogged CPU.
4235:
4236: *) Bugfix: a segmentation fault might occur if the $server_addr variable
4237: was used in the "map" directive.
4238:
4239: *) Bugfix: the ngx_http_flv_module did not support the byte ranges for
4240: full responses; the bug had appeared in 0.4.7.
4241:
4242: *) Bugfix: nginx could not be built on Debian amd64; the bug had
4243: appeared in 0.4.9.
4244:
4245:
4246: Changes with nginx 0.4.9 13 Oct 2006
4247:
4248: *) Feature: the "set" parameter in the "include" SSI command.
4249:
4250: *) Feature: the ngx_http_perl_module now tests the nginx.pm module
4251: version.
4252:
4253:
4254: Changes with nginx 0.4.8 11 Oct 2006
4255:
4256: *) Bugfix: if an "include" SSI command were before another "include" SSI
4257: command with a "wait" parameter, then the "wait" parameter might not
4258: work.
4259:
4260: *) Bugfix: the ngx_http_flv_module added the FLV header to the full
4261: responses.
4262: Thanks to Alexey Kovyrin.
4263:
4264:
4265: Changes with nginx 0.4.7 10 Oct 2006
4266:
4267: *) Feature: the ngx_http_flv_module.
4268:
4269: *) Feature: the $request_body_file variable.
4270:
4271: *) Feature: the "charset" and "source_charset" directives support the
4272: variables.
4273:
4274: *) Bugfix: if an "include" SSI command were before another "include" SSI
4275: command with a "wait" parameter, then the "wait" parameter might not
4276: work.
4277:
4278: *) Bugfix: if the "proxy_buffering off" directive was used or while
4279: working with memcached the connections might not be closed on
4280: timeout.
4281:
4282: *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64,
4283: and ppc64.
4284:
4285:
4286: Changes with nginx 0.4.6 06 Oct 2006
4287:
4288: *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64,
4289: and ppc64.
4290:
4291: *) Bugfix: nginx sent the chunked response for HTTP/1.1 request,
4292: if its length was set by text string in the
4293: $r->headers_out("Content-Length", ...) method.
4294:
4295: *) Bugfix: after redirecting error by an "error_page" directive any
4296: ngx_http_rewrite_module directive returned this error code; the bug
4297: had appeared in 0.4.4.
4298:
4299:
4300: Changes with nginx 0.4.5 02 Oct 2006
4301:
4302: *) Bugfix: nginx could not be built on Linux and Solaris; the bug had
4303: appeared in 0.4.4.
4304:
4305:
4306: Changes with nginx 0.4.4 02 Oct 2006
4307:
4308: *) Feature: the $scheme variable.
4309:
4310: *) Feature: the "expires" directive supports the "max" parameter.
4311:
4312: *) Feature: the "include" directive supports the "*" mask.
4313: Thanks to Jonathan Dance.
4314:
4315: *) Bugfix: the "return" directive always overrode the "error_page"
4316: response code redirected by the "error_page" directive.
4317:
4318: *) Bugfix: a segmentation fault occurred if zero-length body was in PUT
4319: method.
4320:
4321: *) Bugfix: the redirect was changed incorrectly if the variables were
4322: used in the "proxy_redirect" directive.
4323:
4324:
4325: Changes with nginx 0.4.3 26 Sep 2006
4326:
4327: *) Change: now the 499 error could not be redirected using an
4328: "error_page" directive.
4329:
4330: *) Feature: the Solaris 10 event ports support.
4331:
4332: *) Feature: the ngx_http_browser_module.
4333:
4334: *) Bugfix: a segmentation fault may occur while redirecting the 400
4335: error to the proxied server using a "proxy_pass" directive.
4336:
4337: *) Bugfix: a segmentation fault occurred if an unix domain socket was
4338: used in a "proxy_pass" directive; the bug had appeared in 0.3.47.
4339:
4340: *) Bugfix: SSI did work with memcached and nonbuffered responses.
4341:
4342: *) Workaround: of the Sun Studio PAUSE hardware capability bug.
4343:
4344:
4345: Changes with nginx 0.4.2 14 Sep 2006
4346:
4347: *) Bugfix: the O_NOATIME flag support on Linux was canceled; the bug had
4348: appeared in 0.4.1.
4349:
4350:
4351: Changes with nginx 0.4.1 14 Sep 2006
4352:
4353: *) Bugfix: the DragonFlyBSD compatibility.
4354: Thanks to Pavel Nazarov.
4355:
4356: *) Workaround: of bug in 64-bit Linux sendfile(), when file is more than
4357: 2G.
4358:
4359: *) Feature: now on Linux nginx uses O_NOATIME flag for static requests.
4360: Thanks to Yusuf Goolamabbas.
4361:
4362:
4363: Changes with nginx 0.4.0 30 Aug 2006
4364:
4365: *) Change in internal API: the HTTP modules initialization was moved
4366: from the init module phase to the HTTP postconfiguration phase.
4367:
4368: *) Change: now the request body is not read beforehand for the
4369: ngx_http_perl_module: it's required to start the reading using the
4370: $r->has_request_body method.
4371:
4372: *) Feature: the ngx_http_perl_module supports the DECLINED return code.
4373:
4374: *) Feature: the ngx_http_dav_module supports the incoming "Date" header
4375: line for the PUT method.
4376:
4377: *) Feature: the "ssi" directive is available inside the "if" block.
4378:
4379: *) Bugfix: a segmentation fault occurred if there was an "index"
4380: directive with variables and the first index name was without
4381: variables; the bug had appeared in 0.1.29.
4382:
4383:
4384: Changes with nginx 0.3.61 28 Aug 2006
4385:
4386: *) Change: now the "tcp_nodelay" directive is turned on by default.
4387:
4388: *) Feature: the "msie_refresh" directive.
4389:
4390: *) Feature: the "recursive_error_pages" directive.
4391:
4392: *) Bugfix: the "rewrite" directive returned incorrect redirect, if the
4393: redirect had the captured escaped symbols from original URI.
4394:
4395:
4396: Changes with nginx 0.3.60 18 Aug 2006
4397:
4398: *) Bugfix: a worker process may got caught in an endless loop while an
4399: error redirection; the bug had appeared in 0.3.59.
4400:
4401:
4402: Changes with nginx 0.3.59 16 Aug 2006
4403:
4404: *) Feature: now is possible to do several redirection using the
4405: "error_page" directive.
4406:
4407: *) Bugfix: the "dav_access" directive did not support three parameters.
4408:
4409: *) Bugfix: the "error_page" directive did not changes the "Content-Type"
4410: header line after the "X-Accel-Redirect" was used; the bug had
4411: appeared in 0.3.58.
4412:
4413:
4414: Changes with nginx 0.3.58 14 Aug 2006
4415:
4416: *) Feature: the "error_page" directive supports the variables.
4417:
4418: *) Change: now the procfs interface instead of sysctl is used on Linux.
4419:
4420: *) Change: now the "Content-Type" header line is inherited from first
4421: response when the "X-Accel-Redirect" was used.
4422:
4423: *) Bugfix: the "error_page" directive did not redirect the 413 error.
4424:
4425: *) Bugfix: the trailing "?" did not remove old arguments if no new
4426: arguments were added to a rewritten URI.
4427:
4428: *) Bugfix: nginx could not run on 64-bit FreeBSD 7.0-CURRENT.
4429:
4430:
4431: Changes with nginx 0.3.57 09 Aug 2006
4432:
4433: *) Feature: the $ssl_client_serial variable.
4434:
4435: *) Bugfix: in the "!-e" operator of the "if" directive.
4436: Thanks to Andrian Budanstov.
4437:
4438: *) Bugfix: while a client certificate verification nginx did not send to
4439: a client the required certificates information.
4440:
4441: *) Bugfix: the $document_root variable did not support the variables in
4442: the "root" directive.
4443:
4444:
4445: Changes with nginx 0.3.56 04 Aug 2006
4446:
4447: *) Feature: the "dav_access" directive.
4448:
4449: *) Feature: the "if" directive supports the "-d", "!-d", "-e", "!-e",
4450: "-x", and "!-x" operators.
4451:
4452: *) Bugfix: a segmentation fault occurred if a request returned a
4453: redirect and some sent to client header lines were logged in the
4454: access log.
4455:
4456:
4457: Changes with nginx 0.3.55 28 Jul 2006
4458:
4459: *) Feature: the "stub" parameter in the "include" SSI command.
4460:
4461: *) Feature: the "block" SSI command.
4462:
4463: *) Feature: the unicode2nginx script was added to contrib.
4464:
4465: *) Bugfix: if a "root" was specified by variable only, then the root was
4466: relative to a server prefix.
4467:
4468: *) Bugfix: if the request contained "//" or "/./" and escaped symbols
4469: after them, then the proxied request was sent unescaped.
4470:
4471: *) Bugfix: the $r->header_in("Cookie") of the ngx_http_perl_module now
4472: returns all "Cookie" header lines.
4473:
4474: *) Bugfix: a segmentation fault occurred if
4475: "client_body_in_file_only on" was used and nginx switched to a next
4476: upstream.
4477:
4478: *) Bugfix: on some condition while reconfiguration character codes
4479: inside the "charset_map" may be treated invalid; the bug had appeared
4480: in 0.3.50.
4481:
4482:
4483: Changes with nginx 0.3.54 11 Jul 2006
4484:
4485: *) Feature: nginx now logs the subrequest information to the error log.
4486:
4487: *) Feature: the "proxy_next_upstream", "fastcgi_next_upstream", and
4488: "memcached_next_upstream" directives support the "off" parameter.
4489:
4490: *) Feature: the "debug_connection" directive supports the CIDR address
4491: form.
4492:
4493: *) Bugfix: if a response of proxied server or FastCGI server was
4494: converted from UTF-8 or back, then it may be transferred incomplete.
4495:
4496: *) Bugfix: the $upstream_response_time variable had the time of the
4497: first request to a backend only.
4498:
4499: *) Bugfix: nginx could not be built on amd64 platform; the bug had
4500: appeared in 0.3.53.
4501:
4502:
4503: Changes with nginx 0.3.53 07 Jul 2006
4504:
4505: *) Change: the "add_header" directive adds the string to 204, 301, and
4506: 302 responses.
4507:
4508: *) Feature: the "server" directive in the "upstream" context supports
4509: the "weight" parameter.
4510:
4511: *) Feature: the "server_name" directive supports the "*" wildcard.
4512:
4513: *) Feature: nginx supports the request body size more than 2G.
4514:
4515: *) Bugfix: if a client was successfully authorized using "satisfy_any
4516: on", then anyway the message "access forbidden by rule" was written
4517: in the log.
4518:
4519: *) Bugfix: the "PUT" method may erroneously not create a file and return
4520: the 409 code.
4521:
4522: *) Bugfix: if the IMAP/POP3 backend returned an error, then nginx
4523: continued proxying anyway.
4524:
4525:
4526: Changes with nginx 0.3.52 03 Jul 2006
4527:
4528: *) Change: the ngx_http_index_module behavior for the "POST /" requests
4529: is reverted to the 0.3.40 version state: the module now does not
4530: return the 405 error.
4531:
4532: *) Bugfix: the worker process may got caught in an endless loop if the
4533: limit rate was used; the bug had appeared in 0.3.37.
4534:
4535: *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even
4536: if the recoding was not needed; the bug had appeared in 0.3.50.
4537:
4538: *) Bugfix: if a code response of the PUT request was 409, then a
4539: temporary file was not removed.
4540:
4541:
4542: Changes with nginx 0.3.51 30 Jun 2006
4543:
4544: *) Bugfix: the "<" symbols might disappeared some conditions in the SSI;
4545: the bug had appeared in 0.3.50.
4546:
4547:
4548: Changes with nginx 0.3.50 28 Jun 2006
4549:
4550: *) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors"
4551: directives was renamed to the "proxy_intercept_errors" and
4552: "fastcgi_intercept_errors" directives.
4553:
4554: *) Feature: the ngx_http_charset_module supports the recoding from the
4555: single byte encodings to the UTF-8 encoding and back.
4556:
4557: *) Feature: the "X-Accel-Charset" response header line is supported in
4558: proxy and FastCGI mode.
4559:
4560: *) Bugfix: the "\" escape symbol in the "\"" and "\'" pairs in the SSI
4561: command was removed only if the command also has the "$" symbol.
4562:
4563: *) Bugfix: the "<!--" string might be added on some conditions in the
4564: SSI after inclusion.
4565:
4566: *) Bugfix: if the "Content-Length: 0" header line was in response, then
4567: in nonbuffered proxying mode the client connection was not closed.
4568:
4569:
4570: Changes with nginx 0.3.49 31 May 2006
4571:
4572: *) Bugfix: in the "set" directive.
4573:
4574: *) Bugfix: if two or more FastCGI subrequests was in SSI, then first
4575: subrequest output was included instead of second and following
4576: subrequests.
4577:
4578:
4579: Changes with nginx 0.3.48 29 May 2006
4580:
4581: *) Change: now the ngx_http_charset_module works for subrequests, if the
4582: response has no "Content-Type" header line.
4583:
4584: *) Bugfix: if the "proxy_pass" directive has no URI part, then the
4585: "proxy_redirect default" directive add the unnecessary slash in start
4586: of the rewritten redirect.
4587:
4588: *) Bugfix: the internal redirect always transform client's HTTP method
4589: to GET, now the transformation is made for the "X-Accel-Redirect"
4590: redirects only and if the method is not HEAD; the bug had appeared in
4591: 0.3.42.
4592:
4593: *) Bugfix: the ngx_http_perl_module could not be built, if the perl was
4594: built with the threads support; the bug had appeared in 0.3.46.
4595:
4596:
4597: Changes with nginx 0.3.47 23 May 2006
4598:
4599: *) Feature: the "upstream" directive.
4600:
4601: *) Change: now the "\" escape symbol in the "\"" and "\'" pairs in the
4602: SSI command is always removed.
4603:
4604:
4605: Changes with nginx 0.3.46 11 May 2006
4606:
4607: *) Feature: the "proxy_hide_header", "proxy_pass_header",
4608: "fastcgi_hide_header", and "fastcgi_pass_header" directives.
4609:
4610: *) Change: the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and
4611: "proxy_pass_server" directives were canceled.
4612:
4613: *) Feature: the "X-Accel-Buffering" response header line is supported in
4614: proxy mode.
4615:
4616: *) Bugfix: the reconfiguration bug and memory leaks in the
4617: ngx_http_perl_module.
4618:
4619:
4620: Changes with nginx 0.3.45 06 May 2006
4621:
4622: *) Feature: the "ssl_verify_client", "ssl_verify_depth", and
4623: "ssl_client_certificate" directives.
4624:
4625: *) Change: the $request_method variable now returns the main request
4626: method.
4627:
4628: *) Change: the ° symbol codes were changed in koi-win conversion
4629: table.
4630:
4631: *) Feature: the euro and N symbols were added to koi-win conversion
4632: table.
4633:
4634: *) Bugfix: if nginx distributed the requests among several backends and
4635: some backend failed, then requests intended for this backend was
4636: directed to one live backend only instead of being distributed among
4637: the rest.
4638:
4639:
4640: Changes with nginx 0.3.44 04 May 2006
4641:
4642: *) Feature: the "wait" parameter in the "include" SSI command.
4643:
4644: *) Feature: the Ukrainian and Byelorussian characters were added to
4645: koi-win conversion table.
4646:
4647: *) Bugfix: in the SSI.
4648:
4649:
4650: Changes with nginx 0.3.43 26 Apr 2006
4651:
4652: *) Bugfix: in the SSI.
4653:
4654:
4655: Changes with nginx 0.3.42 26 Apr 2006
4656:
4657: *) Feature: the "bind" option of the "listen" directive in IMAP/POP3
4658: proxy.
4659:
4660: *) Bugfix: if the same capture in the "rewrite" directive was used more
4661: then once.
4662:
4663: *) Bugfix: the $sent_http_content_type, $sent_http_content_length,
4664: $sent_http_last_modified, $sent_http_connection,
4665: $sent_http_keep_alive, and $sent_http_transfer_encoding variables
4666: were not written to access log.
4667:
4668: *) Bugfix: the $sent_http_cache_control returned value of the single
4669: "Cache-Control" response header line.
4670:
4671:
4672: Changes with nginx 0.3.41 21 Apr 2006
4673:
4674: *) Feature: the -v switch.
4675:
4676: *) Bugfix: the segmentation fault may occurred if the SSI page has
4677: remote subrequests.
4678:
4679: *) Bugfix: in FastCGI handling.
4680:
4681: *) Bugfix: if the perl modules path was not set using
4682: --with-perl_modules_path=PATH or the "perl_modules", then the
4683: segmentation fault was occurred.
4684:
4685:
4686: Changes with nginx 0.3.40 19 Apr 2006
4687:
4688: *) Feature: the ngx_http_dav_module supports the MKCOL method.
4689:
4690: *) Feature: the "create_full_put_path" directive.
4691:
4692: *) Feature: the "$limit_rate" variable.
4693:
4694:
4695: Changes with nginx 0.3.39 17 Apr 2006
4696:
4697: *) Feature: the "uninitialized_variable_warn" directive; the logging
4698: level of the "uninitialized variable" message was lowered from
4699: "alert" to "warn".
4700:
4701: *) Feature: the "override_charset" directive.
4702:
4703: *) Change: now if the unknown variable is used in the "echo" and "if
4704: expr='$name'" SSI-commands, then the "unknown variable" message is
4705: not logged.
4706:
4707: *) Bugfix: the active connection counter increased on the exceeding of
4708: the connection limit specified by the "worker_connections" directive;
4709: the bug had appeared in 0.2.0.
4710:
4711: *) Bugfix: the limit rate might not work on some condition; the bug had
4712: appeared in 0.3.38.
4713:
4714:
4715: Changes with nginx 0.3.38 14 Apr 2006
4716:
4717: *) Feature: the ngx_http_dav_module.
4718:
4719: *) Change: the ngx_http_perl_module optimizations.
4720: Thanks to Sergey Skvortsov.
4721:
4722: *) Feature: the ngx_http_perl_module supports the $r->request_body_file
4723: method.
4724:
4725: *) Feature: the "client_body_in_file_only" directive.
4726:
4727: *) Workaround: now on disk overflow nginx tries to write access logs
4728: once a second only.
4729: Thanks to Anton Yuzhaninov and Maxim Dounin.
4730:
4731: *) Bugfix: now the "limit_rate" directive more precisely limits rate if
4732: rate is more than 100 Kbyte/s.
4733: Thanks to ForJest.
4734:
4735: *) Bugfix: now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in
4736: login and password to pass authorization server.
4737: Thanks to Maxim Dounin.
4738:
4739:
4740: Changes with nginx 0.3.37 07 Apr 2006
4741:
4742: *) Feature: the "limit_except" directive.
4743:
4744: *) Feature: the "if" directive supports the "!~", "!~*", "-f", and "!-f"
4745: operators.
4746:
4747: *) Feature: the ngx_http_perl_module supports the $r->request_body
4748: method.
4749:
4750: *) Bugfix: in the ngx_http_addition_filter_module.
4751:
4752:
4753: Changes with nginx 0.3.36 05 Apr 2006
4754:
4755: *) Feature: the ngx_http_addition_filter_module.
4756:
4757: *) Feature: the "proxy_pass" and "fastcgi_pass" directives may be used
4758: inside the "if" block.
4759:
4760: *) Feature: the "proxy_ignore_client_abort" and
4761: "fastcgi_ignore_client_abort" directives.
4762:
4763: *) Feature: the "$request_completion" variable.
4764:
4765: *) Feature: the ngx_http_perl_module supports the $r->request_method and
4766: $r->remote_addr.
4767:
4768: *) Feature: the ngx_http_ssi_module supports the "elif" command.
4769:
4770: *) Bugfix: the "\/" string in the expression of the "if" command of the
4771: ngx_http_ssi_module was treated incorrectly.
4772:
4773: *) Bugfix: in the regular expressions in the "if" command of the
4774: ngx_http_ssi_module.
4775:
4776: *) Bugfix: if the relative path was specified in the
4777: "client_body_temp_path", "proxy_temp_path", "fastcgi_temp_path", and
4778: "perl_modules" directives, then the directory was used relatively to
4779: a current path but not to a server prefix.
4780:
4781:
4782: Changes with nginx 0.3.35 22 Mar 2006
4783:
4784: *) Bugfix: the accept-filter and the TCP_DEFER_ACCEPT option were set
4785: for first "listen" directive only; the bug had appeared in 0.3.31.
4786:
4787: *) Bugfix: in the "proxy_pass" directive without the URI part in a
4788: subrequest.
4789:
4790:
4791: Changes with nginx 0.3.34 21 Mar 2006
4792:
4793: *) Feature: the "add_header" directive supports the variables.
4794:
4795:
4796: Changes with nginx 0.3.33 15 Mar 2006
4797:
4798: *) Feature: the "http_503" parameter of the "proxy_next_upstream" or
4799: "fastcgi_next_upstream" directives.
4800:
4801: *) Bugfix: ngx_http_perl_module did not work with inlined in the
4802: configuration code, if it was not started with the "sub" word.
4803:
4804: *) Bugfix: in the "post_action" directive.
4805:
4806:
4807: Changes with nginx 0.3.32 11 Mar 2006
4808:
4809: *) Bugfix: the debug logging on startup and reconfiguration time was
4810: removed; the bug had appeared in 0.3.31.
4811:
4812:
4813: Changes with nginx 0.3.31 10 Mar 2006
4814:
4815: *) Change: now nginx passes the malformed proxied backend responses.
4816:
4817: *) Feature: the "listen" directives support the address in the "*:port"
4818: form.
4819:
4820: *) Feature: the EVFILER_TIMER support in MacOSX 10.4.
4821:
4822: *) Workaround: for MacOSX 64-bit kernel kqueue millisecond timeout bug.
4823: Thanks to Andrei Nigmatulin.
4824:
4825: *) Bugfix: if there were several "listen" directives listening one
4826: various addresses inside one server, then server names like
4827: "*.domain.tld" worked for first address only; the bug had appeared in
4828: 0.3.18.
4829:
4830: *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive
4831: and the request body was in temporary file then the request was not
4832: transferred.
4833:
4834: *) Bugfix: perl 5.8.8 compatibility.
4835:
4836:
4837: Changes with nginx 0.3.30 22 Feb 2006
4838:
4839: *) Change: the ECONNABORTED error log level was changed to "error" from
4840: "crit".
4841:
4842: *) Bugfix: the ngx_http_perl_module could not be build without the
4843: ngx_http_ssi_filter_module.
4844:
4845: *) Bugfix: nginx could not be built on i386 platform, if the PIC was
4846: used; the bug had appeared in 0.3.27.
4847:
4848:
4849: Changes with nginx 0.3.29 20 Feb 2006
4850:
4851: *) Feature: now nginx uses less memory, if PHP in FastCGI mode sends
4852: many warnings before the response.
4853:
4854: *) Bugfix: the "Transfer-Encoding: chunked" header line was issued in
4855: the 204 responses for the HTTP/1.1 requests.
4856:
4857: *) Bugfix: nginx returned the 502 response, if the complete response
4858: header lines were transferred in a separate FastCGI records.
4859:
4860: *) Bugfix: if the proxied URI was specified in the "post_action"
4861: directive, then it ran only after a successful completion of a
4862: request.
4863:
4864:
4865: Changes with nginx 0.3.28 16 Feb 2006
4866:
4867: *) Feature: the "restrict_host_names" directive was canceled.
4868:
4869: *) Feature: the --with-cpu-opt=ppc64 configuration parameter.
4870:
4871: *) Bugfix: on some condition the proxied connection with a client was
4872: terminated prematurely.
4873: Thanks to Vladimir Shutoff.
4874:
4875: *) Bugfix: the "X-Accel-Limit-Rate" header line was not taken into
4876: account if the request was redirected using the "X-Accel-Redirect"
4877: header line.
4878:
4879: *) Bugfix: the "post_action" directive ran only after a successful
4880: completion of a request.
4881:
4882: *) Bugfix: the proxied response body generated by the "post_action"
4883: directive was transferred to a client.
4884:
4885:
4886: Changes with nginx 0.3.27 08 Feb 2006
4887:
4888: *) Change: the "variables_hash_max_size" and
4889: "variables_hash_bucket_size" directives.
4890:
4891: *) Feature: the $body_bytes_sent variable can be used not only in the
4892: "log_format" directive.
4893:
4894: *) Feature: the $ssl_protocol and $ssl_cipher variables.
4895:
4896: *) Feature: the cache line size detection for widespread CPUs at start
4897: time.
4898:
4899: *) Feature: now the "accept_mutex" directive is supported using fcntl(2)
4900: on platforms different from i386, amd64, sparc64, and ppc.
4901:
4902: *) Feature: the "lock_file" directive and the --with-lock-path=PATH
4903: autoconfiguration directive.
4904:
4905: *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive
4906: then the requests with the body was not transferred.
4907:
4908:
4909: Changes with nginx 0.3.26 03 Feb 2006
4910:
4911: *) Change: the "optimize_host_names" directive was renamed to the
4912: "optimize_server_names".
4913:
4914: *) Bugfix: if in the "proxy_pass" directive was no the URI part, then
4915: the main request URI was transferred to a backend while proxying the
4916: SSI subrequest.
4917:
4918:
4919: Changes with nginx 0.3.25 01 Feb 2006
4920:
4921: *) Bugfix: the segmentation fault was occurred on start or while
4922: reconfiguration if there was invalid configuration; the bug had
4923: appeared in 0.3.24.
4924:
4925:
4926: Changes with nginx 0.3.24 01 Feb 2006
4927:
4928: *) Workaround: for bug in FreeBSD kqueue.
4929:
4930: *) Bugfix: now a response generated by the "post_action" directive is
4931: not transferred to a client.
4932:
4933: *) Bugfix: the memory leaks were occurring if many log files were used.
4934:
4935: *) Bugfix: the first "proxy_redirect" directive was working inside one
4936: location.
4937:
4938: *) Bugfix: on 64-bit platforms segmentation fault may occurred on start
4939: if the many names were used in the "server_name" directives; the bug
4940: had appeared in 0.3.18.
4941:
4942:
4943: Changes with nginx 0.3.23 24 Jan 2006
4944:
4945: *) Feature: the "optimize_host_names" directive.
4946:
4947: *) Bugfix: in using of the variables in the "path" and "alias"
4948: directives.
4949:
4950: *) Bugfix: the ngx_http_perl_module was incorrectly built on Linux and
4951: Solaris.
4952:
4953:
4954: Changes with nginx 0.3.22 17 Jan 2006
4955:
4956: *) Feature: the ngx_http_perl_module supports the $r->args and
4957: $r->unescape methods.
4958:
4959: *) Feature: the method $r->query_string of ngx_http_perl_module was
4960: canceled.
4961:
4962: *) Bugfix: segmentation fault was occurred if the "none" or "blocked"
4963: values was specified in the "valid_referers" directive; the bug had
4964: appeared in 0.3.18.
4965:
4966:
4967: Changes with nginx 0.3.21 16 Jan 2006
4968:
4969: *) Feature: the ngx_http_perl_module.
4970:
4971: *) Change: the "valid_referers" directive allows the referreres without
4972: URI part.
4973:
4974:
4975: Changes with nginx 0.3.20 11 Jan 2006
4976:
4977: *) Bugfix: in SSI handling.
4978:
4979: *) Bugfix: the ngx_http_memcached_module did not support the keys in the
4980: "/usr?args" form.
4981:
4982:
4983: Changes with nginx 0.3.19 28 Dec 2005
4984:
4985: *) Feature: the "path" and "alias" directives support the variables.
4986:
4987: *) Change: now the "valid_referers" directive again checks the URI part.
4988:
4989: *) Bugfix: in SSI handling.
4990:
4991:
4992: Changes with nginx 0.3.18 26 Dec 2005
4993:
4994: *) Feature: the "server_names" directive supports the ".domain.tld"
4995: names.
4996:
4997: *) Feature: the "server_names" directive uses the hash for the
4998: "*.domain.tld" names and more effective hash for usual names.
4999:
5000: *) Change: the "server_names_hash_max_size" and
5001: "server_names_hash_bucket_size" directives.
5002:
5003: *) Change: the "server_names_hash" and "server_names_hash_threshold"
5004: directives were canceled.
5005:
5006: *) Feature: the "valid_referers" directive uses the hash site names.
5007:
5008: *) Change: now the "valid_referers" directive checks the site names only
5009: without the URI part.
5010:
5011: *) Bugfix: some ".domain.tld" names incorrectly processed by the
5012: ngx_http_map_module.
5013:
5014: *) Bugfix: segmentation fault was occurred if configuration file did not
5015: exist; the bug had appeared in 0.3.12.
5016:
5017: *) Bugfix: on 64-bit platforms segmentation fault may occurred on start;
5018: the bug had appeared in 0.3.16.
5019:
5020:
5021: Changes with nginx 0.3.17 18 Dec 2005
5022:
5023: *) Change: now on Linux configure checks the presence of epoll and
5024: sendfile64() in kernel.
5025:
5026: *) Feature: the "map" directive supports domain names in the
5027: ".domain.tld" form.
5028:
5029: *) Bugfix: the timeouts were not used in SSL handshake; the bug had
5030: appeared in 0.2.4.
5031:
5032: *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
5033:
5034: *) Bugfix: when the HTTPS protocol was used in the "proxy_pass"
5035: directive the port 80 was used by default.
5036:
5037:
5038: Changes with nginx 0.3.16 16 Dec 2005
5039:
5040: *) Feature: the ngx_http_map_module.
5041:
5042: *) Feature: the "types_hash_max_size" and "types_hash_bucket_size"
5043: directives.
5044:
5045: *) Feature: the "ssi_value_length" directive.
5046:
5047: *) Feature: the "worker_rlimit_core" directive.
5048:
5049: *) Workaround: the connection number in logs was always 1 if nginx was
5050: built by the icc 8.1 or 9.0 compilers with optimization for
5051: Pentium 4.
5052:
5053: *) Bugfix: the "config timefmt" SSI command set incorrect time format.
5054:
5055: *) Bugfix: nginx did not close connection to IMAP/POP3 backend for the
5056: SSL connections; the bug had appeared in 0.3.13.
5057: Thanks to Rob Mueller.
5058:
5059: *) Bugfix: segmentation fault may occurred in at SSL shutdown; the bug
5060: had appeared in 0.3.13.
5061:
5062:
5063: Changes with nginx 0.3.15 07 Dec 2005
5064:
5065: *) Feature: the new 444 code of the "return" directive to close
5066: connection.
5067:
5068: *) Feature: the "so_keepalive" directive in IMAP/POP3 proxy.
5069:
5070: *) Bugfix: if there are unclosed connection nginx now calls abort() only
5071: on gracefull quit and active "debug_points" directive.
5072:
5073:
5074: Changes with nginx 0.3.14 05 Dec 2005
5075:
5076: *) Bugfix: in the 304 response the body was transferred; the bug had
5077: appeared in 0.3.13.
5078:
5079:
5080: Changes with nginx 0.3.13 05 Dec 2005
5081:
5082: *) Feature: the IMAP/POP3 proxy supports STARTTLS and STLS.
5083:
5084: *) Bugfix: the IMAP/POP3 proxy did not work with the select, poll, and
5085: /dev/poll methods.
5086:
5087: *) Bugfix: in SSI handling.
5088:
5089: *) Bugfix: now Solaris sendfilev() is not used to transfer the client
5090: request body to FastCGI-server via the unix domain socket.
5091:
5092: *) Bugfix: the "auth_basic" directive did not disable the authorization;
5093: the bug had appeared in 0.3.11.
5094:
5095:
5096: Changes with nginx 0.3.12 26 Nov 2005
5097:
5098: *) Security: if nginx was built with the ngx_http_realip_module and the
5099: "satisfy_any on" directive was used, then access and authorization
5100: directives did not work. The ngx_http_realip_module was not built and
5101: is not built by default.
5102:
5103: *) Change: the "$time_gmt" variable name was changed to "$time_local".
5104:
5105: *) Change: the "proxy_header_buffer_size" and
5106: "fastcgi_header_buffer_size" directives was renamed to the
5107: "proxy_buffer_size" and "fastcgi_buffer_size" directives.
5108:
5109: *) Feature: the ngx_http_memcached_module.
5110:
5111: *) Feature: the "proxy_buffering" directive.
5112:
5113: *) Bugfix: the changes in accept mutex handling when the "rtsig" method
5114: was used; the bug had appeared in 0.3.0.
5115:
5116: *) Bugfix: if the client sent the "Transfer-Encoding: chunked" header
5117: line, then nginx returns the 411 error.
5118:
5119: *) Bugfix: if the "auth_basic" directive was inherited from the http
5120: level, then the realm in the "WWW-Authenticate" header line was
5121: without the "Basic realm" text.
5122:
5123: *) Bugfix: if the "combined" format was explicitly specified in the
5124: "access_log" directive, then the empty lines was written to the log;
5125: the bug had appeared in 0.3.8.
5126:
5127: *) Bugfix: nginx did not run on the sparc platform under any OS except
5128: Solaris.
5129:
5130: *) Bugfix: now it is not necessary to place space between the quoted
5131: string and closing bracket in the "if" directive.
5132:
5133:
5134: Changes with nginx 0.3.11 15 Nov 2005
5135:
5136: *) Bugfix: nginx did not pass the client request headers and body while
5137: proxying; the bug had appeared in 0.3.10.
5138:
5139:
5140: Changes with nginx 0.3.10 15 Nov 2005
5141:
5142: *) Change: the "valid_referers" directive and the "$invalid_referer"
5143: variable were moved to the new ngx_http_referer_module from the
5144: ngx_http_rewrite_module.
5145:
5146: *) Change: the "$apache_bytes_sent" variable name was changed to
5147: "$body_bytes_sent".
5148:
5149: *) Feature: the "$sent_http_..." variables.
5150:
5151: *) Feature: the "if" directive supports the "=" and "!=" operations.
5152:
5153: *) Feature: the "proxy_pass" directive supports the HTTPS protocol.
5154:
5155: *) Feature: the "proxy_set_body" directive.
5156:
5157: *) Feature: the "post_action" directive.
5158:
5159: *) Feature: the ngx_http_empty_gif_module.
5160:
5161: *) Feature: the "worker_cpu_affinity" directive for Linux.
5162:
5163: *) Bugfix: the "rewrite" directive did not unescape URI part in
5164: redirect, now it is unescaped except the %00-%25 and %7F-%FF
5165: characters.
5166:
5167: *) Bugfix: nginx could not be built by the icc 9.0 compiler.
5168:
5169: *) Bugfix: if the SSI was enabled for zero size static file, then the
5170: chunked response was encoded incorrectly.
5171:
5172:
5173: Changes with nginx 0.3.9 10 Nov 2005
5174:
5175: *) Bugfix: nginx considered URI as unsafe if two any symbols was between
5176: two slashes; the bug had appeared in 0.3.8.
5177:
5178:
5179: Changes with nginx 0.3.8 09 Nov 2005
5180:
5181: *) Security: nginx now checks URI got from a backend in
5182: "X-Accel-Redirect" header line or in SSI file for the "/../" paths
5183: and zeroes.
5184:
5185: *) Change: nginx now does not treat the empty user name in the
5186: "Authorization" header line as valid one.
5187:
5188: *) Feature: the "ssl_session_timeout" directives of the
5189: ngx_http_ssl_module and ngx_imap_ssl_module.
5190:
5191: *) Feature: the "auth_http_header" directive of the
5192: ngx_imap_auth_http_module.
5193:
5194: *) Feature: the "add_header" directive.
5195:
5196: *) Feature: the ngx_http_realip_module.
5197:
5198: *) Feature: the new variables to use in the "log_format" directive:
5199: $bytes_sent, $apache_bytes_sent, $status, $time_gmt, $uri,
5200: $request_time, $request_length, $upstream_status,
5201: $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
5202: $connection, $pipe, and $msec. The parameters in the "%name" form
5203: will be canceled soon.
5204:
5205: *) Change: now the false variable values in the "if" directive are the
5206: empty string "" and string starting with "0".
5207:
5208: *) Bugfix: while using proxied or FastCGI-server nginx may leave
5209: connections and temporary files with client requests in open state.
5210:
5211: *) Bugfix: the worker processes did not flush the buffered logs on
5212: graceful exit.
5213:
5214: *) Bugfix: if the request URI was changes by the "rewrite" directive and
5215: the request was proxied in location given by regular expression, then
5216: the incorrect request was transferred to backend; the bug had
5217: appeared in 0.2.6.
5218:
5219: *) Bugfix: the "expires" directive did not remove the previous "Expires"
5220: header.
5221:
5222: *) Bugfix: nginx may stop to accept requests if the "rtsig" method and
5223: several worker processes were used.
5224:
5225: *) Bugfix: the "\"" and "\'" escape symbols were incorrectly handled in
5226: SSI commands.
5227:
5228: *) Bugfix: if the response was ended just after the SSI command and
5229: gzipping was used, then the response did not transferred complete or
5230: did not transferred at all.
5231:
5232:
5233: Changes with nginx 0.3.7 27 Oct 2005
5234:
5235: *) Feature: the "access_log" supports the "buffer=" parameter.
5236:
5237: *) Bugfix: nginx could not be built on platforms different from i386,
5238: amd64, sparc, and ppc; the bug had appeared in 0.3.2.
5239:
5240:
5241: Changes with nginx 0.3.6 24 Oct 2005
5242:
5243: *) Change: now the IMAP/POP3 proxy do not send the empty login to
5244: authorization server.
5245:
5246: *) Feature: the "log_format" supports the variables in the $name form.
5247:
5248: *) Bugfix: if at least in one server was no the "listen" directive, then
5249: nginx did not listen on the 80 port; the bug had appeared in 0.3.3.
5250:
5251: *) Bugfix: if the URI part is omitted in "proxy_pass" directive, the 80
5252: port was always used.
5253:
5254:
5255: Changes with nginx 0.3.5 21 Oct 2005
5256:
5257: *) Bugfix: the segmentation fault may occurred if the IMAP/POP3 login
5258: was changed by authorization server; the bug had appeared in 0.2.2.
5259:
5260: *) Bugfix: the accept mutex did not work and all connections were
5261: handled by one process; the bug had appeared in 0.3.3.
5262:
5263: *) Bugfix: the timeout did not work if the "rtsig" method and the
5264: "timer_resolution" directive were used.
5265:
5266:
5267: Changes with nginx 0.3.4 19 Oct 2005
5268:
5269: *) Bugfix: nginx could not be built on Linux 2.4+ and MacOS X; the bug
5270: had appeared in 0.3.3.
5271:
5272:
5273: Changes with nginx 0.3.3 19 Oct 2005
5274:
5275: *) Change: the "bl" and "af" parameters of the "listen" directive was
5276: renamed to the "backlog" and "accept_filter".
5277:
5278: *) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen"
5279: directive.
5280:
5281: *) Change: the "$msec" log parameter does not require now the additional
5282: the gettimeofday() system call.
5283:
5284: *) Feature: the -t switch now tests the "listen" directives.
5285:
5286: *) Bugfix: if the invalid address was specified in the "listen"
5287: directive, then after the -HUP signal nginx left an open socket in
5288: the CLOSED state.
5289:
5290: *) Bugfix: the mime type may be incorrectly set to default value for
5291: index file with variable in the name; the bug had appeared in 0.3.0.
5292:
5293: *) Feature: the "timer_resolution" directive.
5294:
5295: *) Feature: the millisecond "$upstream_response_time" log parameter.
5296:
5297: *) Bugfix: a temporary file with client request body now is removed just
5298: after the response header was transferred to a client.
5299:
5300: *) Bugfix: OpenSSL 0.9.6 compatibility.
5301:
5302: *) Bugfix: the SSL certificate and key file paths could not be relative.
5303:
5304: *) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in the
5305: ngx_imap_ssl_module.
5306:
5307: *) Bugfix: the "ssl_protocols" directive allowed to specify the single
5308: protocol only.
5309:
5310:
5311: Changes with nginx 0.3.2 12 Oct 2005
5312:
5313: *) Feature: the Sun Studio 10 C compiler support.
5314:
5315: *) Feature: the "proxy_upstream_max_fails",
5316: "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", and
5317: "fastcgi_upstream_fail_timeout" directives.
5318:
5319:
5320: Changes with nginx 0.3.1 10 Oct 2005
5321:
5322: *) Bugfix: the segmentation fault occurred when the signal queue
5323: overflowed if the "rtsig" method was used; the bug had appeared in
5324: 0.2.0.
5325:
5326: *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in
5327: SSI.
5328:
5329:
5330: Changes with nginx 0.3.0 07 Oct 2005
5331:
5332: *) Change: the 10-days live time limit of worker process was eliminated.
5333: The limit was introduced because of millisecond timers overflow.
5334:
5335:
5336: Changes with nginx 0.2.6 05 Oct 2005
5337:
5338: *) Change: while using load-balancing the time before the failed backend
5339: retry was decreased from 60 to 10 seconds.
5340:
5341: *) Change: the "proxy_pass_unparsed_uri" was canceled, the original URI
5342: now passed, if the URI part is omitted in "proxy_pass" directive.
5343:
5344: *) Feature: the "error_page" directive supports redirects and allows
5345: more flexible to change an error code.
5346:
5347: *) Change: the charset in the "Content-Type" header line now is ignored
5348: in proxied subrequests.
5349:
5350: *) Bugfix: if the URI was changed in the "if" block and request did not
5351: found new configuration, then the ngx_http_rewrite_module rules ran
5352: again.
5353:
5354: *) Bugfix: if the "set" directive set the ngx_http_geo_module variable
5355: in some configuration part, the this variable was not available in
5356: other configuration parts and the "using uninitialized variable"
5357: error was occurred; the bug had appeared in 0.2.2.
5358:
5359:
5360: Changes with nginx 0.2.5 04 Oct 2005
5361:
5362: *) Change: the duplicate value of the ngx_http_geo_module variable now
5363: causes the warning and changes old value.
5364:
5365: *) Feature: the ngx_http_ssi_module supports the "set" command.
5366:
5367: *) Feature: the ngx_http_ssi_module supports the "file" parameter in the
5368: "include" command.
5369:
5370: *) Feature: the ngx_http_ssi_module supports the variable value
5371: substitutions in expressions of the "if" command.
5372:
5373:
5374: Changes with nginx 0.2.4 03 Oct 2005
5375:
5376: *) Feature: the ngx_http_ssi_module supports "$var=text", "$var!=text",
5377: "$var=/text/", and "$var!=/text/" expressions in the "if" command.
5378:
5379: *) Bugfix: in proxying location without trailing slash; the bug had
5380: appeared in 0.1.44.
5381:
5382: *) Bugfix: the segmentation fault may occurred if the "rtsig" method was
5383: used; the bug had appeared in 0.2.0.
5384:
5385:
5386: Changes with nginx 0.2.3 30 Sep 2005
5387:
5388: *) Bugfix: nginx could not be built without the --with-debug option; the
5389: bug had appeared in 0.2.2.
5390:
5391:
5392: Changes with nginx 0.2.2 30 Sep 2005
5393:
5394: *) Feature: the "config errmsg" command of the ngx_http_ssi_module.
5395:
5396: *) Change: the ngx_http_geo_module variables can be overridden by the
5397: "set" directive.
5398:
5399: *) Feature: the "ssl_protocols" and "ssl_prefer_server_ciphers"
5400: directives of the ngx_http_ssl_module and ngx_imap_ssl_module.
5401:
5402: *) Bugfix: the ngx_http_autoindex_module did not show correctly the long
5403: file names;
5404:
5405: *) Bugfix: the ngx_http_autoindex_module now do not show the files
5406: starting by dot.
5407:
5408: *) Bugfix: if the SSL handshake failed then another connection may be
5409: closed too.
5410: Thanks to Rob Mueller.
5411:
5412: *) Bugfix: the export versions of MSIE 5.x could not connect via HTTPS.
5413:
5414:
5415: Changes with nginx 0.2.1 23 Sep 2005
5416:
5417: *) Bugfix: if all backend using in load-balancing failed after one
5418: error, then nginx may got caught in an endless loop; the bug had
5419: appeared in 0.2.0.
5420:
5421:
5422: Changes with nginx 0.2.0 23 Sep 2005
5423:
5424: *) The pid-file names used during online upgrade was changed and now is
5425: not required a manual rename operation. The old master process adds
5426: the ".oldbin" suffix to its pid-file and executes a new binary file.
5427: The new master process creates usual pid-file without the ".newbin"
5428: suffix. If the master process exits, then old master process renames
5429: back its pid-file with the ".oldbin" suffix to the pid-file without
5430: suffix.
5431:
5432: *) Change: the "worker_connections" directive, new name of the
5433: "connections" directive; now the directive specifies maximum number
5434: of connections, but not maximum socket descriptor number.
5435:
5436: *) Feature: SSL supports the session cache inside one worker process.
5437:
5438: *) Feature: the "satisfy_any" directive.
5439:
5440: *) Change: the ngx_http_access_module and ngx_http_auth_basic_module do
5441: not run for subrequests.
5442:
5443: *) Feature: the "worker_rlimit_nofile" and "worker_rlimit_sigpending"
5444: directives.
5445:
5446: *) Bugfix: if all backend using in load-balancing failed after one
5447: error, then nginx did not try do connect to them during 60 seconds.
5448:
5449: *) Bugfix: in IMAP/POP3 command argument parsing.
5450: Thanks to Rob Mueller.
5451:
5452: *) Bugfix: errors while using SSL in IMAP/POP3 proxy.
5453:
5454: *) Bugfix: errors while using SSI and gzipping.
5455:
5456: *) Bugfix: the "Expires" and "Cache-Control" header lines were omitted
5457: from the 304 responses.
5458: Thanks to Alexandr Kukushkin.
5459:
5460:
5461: Changes with nginx 0.1.45 08 Sep 2005
5462:
5463: *) Change: the "ssl_engine" directive was canceled in the
5464: ngx_http_ssl_module and now is introduced at global level.
5465:
5466: *) Bugfix: the responses with SSI subrequests did not transferred via
5467: SSL connection.
5468:
5469: *) Various bug fixes in the IMAP/POP3 proxy.
5470:
5471:
5472: Changes with nginx 0.1.44 06 Sep 2005
5473:
5474: *) Feature: the IMAP/POP3 proxy supports SSL.
5475:
5476: *) Feature: the "proxy_timeout" directive of the ngx_imap_proxy_module.
5477:
5478: *) Feature: the "userid_mark" directive.
5479:
5480: *) Feature: the $remote_user variable value is determined independently
5481: of authorization use.
5482:
5483:
5484: Changes with nginx 0.1.43 30 Aug 2005
5485:
5486: *) Feature: the listen(2) backlog in the "listen" directive can be
5487: changed using the -HUP signal.
5488:
5489: *) Feature: the geo2nginx.pl script was added to contrib.
5490:
5491: *) Change: the FastCGI parameters with the empty values now are passed
5492: to a server.
5493:
5494: *) Bugfix: the segmentation fault occurred or the worker process may got
5495: caught in an endless loop if the proxied or FastCGI server sent the
5496: "Cache-Control" header line and the "expires" directive was used; in
5497: the proxied mode the bug had appeared in 0.1.29.
5498:
5499:
5500: Changes with nginx 0.1.42 23 Aug 2005
5501:
5502: *) Bugfix: if the request URI had a zero length after the processing in
5503: the ngx_http_proxy_module, then the segmentation fault or bus error
5504: occurred in the ngx_http_proxy_module.
5505:
5506: *) Bugfix: the "limit_rate" directive did not work inside the "if"
5507: block; the bug had appeared in 0.1.38.
5508:
5509:
5510: Changes with nginx 0.1.41 25 Jul 2005
5511:
5512: *) Bugfix: if the variable was used in the configuration file, then it
5513: can not be used in SSI.
5514:
5515:
5516: Changes with nginx 0.1.40 22 Jul 2005
5517:
5518: *) Bugfix: if a client sent too long header line, then the request
5519: information did not logged in the error log.
5520:
5521: *) Bugfix: the "Set-Cookie" header line was not transferred when the
5522: "X-Accel-Redirect" was used; the bug had appeared in 0.1.39.
5523:
5524: *) Bugfix: the "Content-Disposition" header line was not transferred
5525: when the "X-Accel-Redirect" was used.
5526:
5527: *) Bugfix: the master process did not close the listen socket on the
5528: SIGQUIT signal.
5529:
5530: *) Bugfix: after on-line upgrade on Linux and Solaris the process name
5531: became shorter in the "ps" command.
5532:
5533:
5534: Changes with nginx 0.1.39 14 Jul 2005
5535:
5536: *) The changes in the ngx_http_charset_module: the "default_charset"
5537: directive was canceled; the "charset" directive sets the response
5538: charset; the "source_charset" directive sets the source charset only.
5539:
5540: *) Bugfix: the backend "WWW-Authenticate" header line did not
5541: transferred while the 401 response code redirecting.
5542:
5543: *) Bugfix: the ngx_http_proxy_module and ngx_http_fastcgi_module may
5544: close a connection before anything was transferred to a client; the
5545: bug had appeared in 0.1.38.
5546:
5547: *) Workaround: the Linux glibc crypt_r() initialization bug.
5548:
5549: *) Bugfix: the ngx_http_ssi_module did not support the relative URI in
5550: the "include virtual" command.
5551:
5552: *) Bugfix: if the backend response had the "Location" header line and
5553: nginx should not rewrite this line, then the 500 code response body
5554: was transferred; the bug had appeared in 0.1.29.
5555:
5556: *) Bugfix: some directives of the ngx_http_proxy_module and
5557: ngx_http_fastcgi_module were not inherited from the server to the
5558: location level; the bug had appeared in 0.1.29.
5559:
5560: *) Bugfix: the ngx_http_ssl_module did not support the certificate
5561: chain.
5562:
5563: *) Bugfix: the ngx_http_autoindex_module did not show correctly the long
5564: file names; the bug had appeared in 0.1.38.
5565:
5566: *) Bugfixes in IMAP/POP3 proxy in interaction with a backend at the
5567: login state.
5568:
5569:
5570: Changes with nginx 0.1.38 08 Jul 2005
5571:
5572: *) Feature: the "limit_rate" directive is supported in proxy and FastCGI
5573: mode.
5574:
5575: *) Feature: the "X-Accel-Limit-Rate" response header line is supported
5576: in proxy and FastCGI mode.
5577:
5578: *) Feature: the "break" directive.
5579:
5580: *) Feature: the "log_not_found" directive.
5581:
5582: *) Bugfix: the response status code was not changed when request was
5583: redirected by the ""X-Accel-Redirect" header line.
5584:
5585: *) Bugfix: the variables set by the "set" directive could not be used in
5586: SSI.
5587:
5588: *) Bugfix: the segmentation fault may occurred if the SSI page has more
5589: than one remote subrequest.
5590:
5591: *) Bugfix: nginx treated the backend response as invalid if the status
5592: line in the header was transferred in two packets; the bug had
5593: appeared in 0.1.29.
5594:
5595: *) Feature: the "ssi_types" directive.
5596:
5597: *) Feature: the "autoindex_exact_size" directive.
5598:
5599: *) Bugfix: the ngx_http_autoindex_module did not support the long file
5600: names in UTF-8.
5601:
5602: *) Feature: the IMAP/POP3 proxy.
5603:
5604:
5605: Changes with nginx 0.1.37 23 Jun 2005
5606:
5607: *) Change: now the "\n" is added to the end of the "nginx.pid" file.
5608:
5609: *) Bugfix: the responses may be transferred not completely, if many
5610: parts or the big parts were included by SSI.
5611:
5612: *) Bugfix: if all backends had returned the 404 reponse and the
5613: "http_404" parameter of the "proxy_next_upstream" or
5614: "fastcgi_next_upstream" directives was used, then nginx started to
5615: request all backends again.
5616:
5617:
5618: Changes with nginx 0.1.36 15 Jun 2005
5619:
5620: *) Change: if the request header has duplicate the "Host", "Connection",
5621: "Content-Length", or "Authorization" lines, then nginx now returns
5622: the 400 error.
5623:
5624: *) Change: the "post_accept_timeout" directive was canceled.
5625:
5626: *) Feature: the "default", "af=", "bl=", "deferred", and "bind"
5627: parameters of the "listen" directive.
5628:
5629: *) Feature: the FreeBSD accept filters support.
5630:
5631: *) Feature: the Linux TCP_DEFER_ACCEPT support.
5632:
5633: *) Bugfix: the ngx_http_autoindex_module did not support the file names
5634: in UTF-8.
5635:
5636: *) Bugfix: the new log file can be rotated by the -USR1 signal only if
5637: the reconfiguration by the -HUP signal was made twice.
5638:
5639:
5640: Changes with nginx 0.1.35 07 Jun 2005
5641:
5642: *) Feature: the "working_directory" directive.
5643:
5644: *) Feature: the "port_in_redirect" directive.
5645:
5646: *) Bugfix: the segmentation fault was occurred if the backend response
5647: header was in several packets; the bug had appeared in 0.1.29.
5648:
5649: *) Bugfix: if more than 10 servers were configured or some server did
5650: not use the "listen" directive, then the segmentation fault was
5651: occurred on the start.
5652:
5653: *) Bugfix: the segmentation fault might occur if the response was bigger
5654: than the temporary file.
5655:
5656: *) Bugfix: nginx returned the 400 response on requests like
5657: "GET http://www.domain.com/uri HTTP/1.0"; the bug had appeared in
5658: 0.1.28.
5659:
5660:
5661: Changes with nginx 0.1.34 26 May 2005
5662:
5663: *) Bugfix: the worker process may got caught in an endless loop if the
5664: big response part were include by SSI.
5665:
5666: *) Bugfix: the variables set by the "set" directive were not available
5667: in SSI.
5668:
5669: *) Feature: the "autoindex_localtime" directive.
5670:
5671: *) Bugfix: the empty value of the "proxy_set_header" directive forbids
5672: the client request header line passing.
5673:
5674:
5675: Changes with nginx 0.1.33 23 May 2005
5676:
5677: *) Bugfix: nginx could not be built with the --without-pcre parameter;
5678: the bug had appeared in 0.1.29.
5679:
5680: *) Bugfix: 3, 4, 7, and 8 the "proxy_set_header" directives in one level
5681: cause the bus fault on start up.
5682:
5683: *) Bugfix: the HTTP protocol was specified in the HTTPS redirects.
5684:
5685: *) Bugfix: if the "rewrite" directive used the captures inside the "if"
5686: directive, then the 500 error code was returned.
5687:
5688:
5689: Changes with nginx 0.1.32 19 May 2005
5690:
5691: *) Bugfix: the arguments were omitted in the redirects, issued by the
5692: "rewrite" directive; the bug had appeared in 0.1.29.
5693:
5694: *) Feature: the "if" directive supports the captures in regular
5695: expressions.
5696:
5697: *) Feature: the "set" directive supports the variables and the captures
5698: of regular expressions.
5699:
5700: *) Feature: the "X-Accel-Redirect" response header line is supported in
5701: proxy and FastCGI mode.
5702:
5703:
5704: Changes with nginx 0.1.31 16 May 2005
5705:
5706: *) Bugfix: the response encrypted by SSL may not transferred complete.
5707:
5708: *) Bugfix: errors while processing FastCGI response by SSI.
5709:
5710: *) Bugfix: errors while using SSI and gzipping.
5711:
5712: *) Bugfix: the redirect with the 301 code was transferred without
5713: response body; the bug had appeared in 0.1.30.
5714:
5715:
5716: Changes with nginx 0.1.30 14 May 2005
5717:
5718: *) Bugfix: the worker process may got caught in an endless loop if the
5719: SSI was used.
5720:
5721: *) Bugfix: the response encrypted by SSL may not transferred complete.
5722:
5723: *) Bugfix: if the length of the response part received at once from
5724: proxied or FastCGI server was equal to 500, then nginx returns the
5725: 500 response code; in proxy mode the bug had appeared in 0.1.29 only.
5726:
5727: *) Bugfix: nginx did not consider the directives with 8 or 9 parameters
5728: as invalid.
5729:
5730: *) Feature: the "return" directive can return the 204 response code.
5731:
5732: *) Feature: the "ignore_invalid_headers" directive.
5733:
5734:
5735: Changes with nginx 0.1.29 12 May 2005
5736:
5737: *) Feature: the ngx_http_ssi_module supports "include virtual" command.
5738:
5739: *) Feature: the ngx_http_ssi_module supports the condition command like
5740: 'if expr="$NAME"' and "else" and "endif" commands. Only one nested
5741: level is supported.
5742:
5743: *) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT
5744: variables and "config timefmt" command.
5745:
5746: *) Feature: the "ssi_ignore_recycled_buffers" directive.
5747:
5748: *) Bugfix: the "echo" command did not show the default value for the
5749: empty QUERY_STRING variable.
5750:
5751: *) Change: the ngx_http_proxy_module was rewritten.
5752:
5753: *) Feature: the "proxy_redirect", "proxy_pass_request_headers",
5754: "proxy_pass_request_body", and "proxy_method" directives.
5755:
5756: *) Feature: the "proxy_set_header" directive. The "proxy_x_var" was
5757: canceled and must be replaced with the proxy_set_header directive.
5758:
5759: *) Change: the "proxy_preserve_host" is canceled and must be replaced
5760: with the "proxy_set_header Host $host" and the "proxy_redirect off"
5761: directives, the "proxy_set_header Host $host:$proxy_port" directive
5762: and the appropriate proxy_redirect directives.
5763:
5764: *) Change: the "proxy_set_x_real_ip" is canceled and must be replaced
5765: with the "proxy_set_header X-Real-IP $remote_addr" directive.
5766:
5767: *) Change: the "proxy_add_x_forwarded_for" is canceled and must be
5768: replaced with
5769: the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"
5770: directive.
5771:
5772: *) Change: the "proxy_set_x_url" is canceled and must be replaced with
5773: the "proxy_set_header X-URL http://$host:$server_port$request_uri"
5774: directive.
5775:
5776: *) Feature: the "fastcgi_param" directive.
5777:
5778: *) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params"
5779: directive are canceled and must be replaced with the fastcgi_param
5780: directives.
5781:
5782: *) Feature: the "index" directive can use the variables.
5783:
5784: *) Feature: the "index" directive can be used at http and server levels.
5785:
5786: *) Change: the last index only in the "index" directive can be absolute.
5787:
5788: *) Feature: the "rewrite" directive can use the variables.
5789:
5790: *) Feature: the "internal" directive.
5791:
5792: *) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
5793: SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
5794: REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
5795:
5796: *) Change: nginx now passes the invalid lines in a client request
5797: headers or a backend response header.
5798:
5799: *) Bugfix: if the backend did not transfer response for a long time and
5800: the "send_timeout" was less than "proxy_read_timeout", then nginx
5801: returned the 408 response.
5802:
5803: *) Bugfix: the segmentation fault was occurred if the backend sent an
5804: invalid line in response header; the bug had appeared in 0.1.26.
5805:
5806: *) Bugfix: the segmentation fault may occurred in FastCGI fault
5807: tolerance configuration.
5808:
5809: *) Bugfix: the "expires" directive did not remove the previous "Expires"
5810: and "Cache-Control" headers.
5811:
5812: *) Bugfix: nginx did not take into account trailing dot in "Host" header
5813: line.
5814:
5815: *) Bugfix: the ngx_http_auth_module did not work under Linux.
5816:
5817: *) Bugfix: the rewrite directive worked incorrectly, if the arguments
5818: were in a request.
5819:
5820: *) Bugfix: nginx could not be built on MacOS X.
5821:
5822:
5823: Changes with nginx 0.1.28 08 Apr 2005
5824:
5825: *) Bugfix: nginx hogs CPU while proxying the huge files.
5826:
5827: *) Bugfix: nginx could not be built by gcc 4.0 on Linux.
5828:
5829:
5830: Changes with nginx 0.1.27 28 Mar 2005
5831:
5832: *) Feature: the "blocked" parameter of the "valid_referers" directive.
5833:
5834: *) Change: the errors while handling the request header now logged at
5835: "info" level. The server name and the "Host" and "Referer" header
5836: lines also logged.
5837:
5838: *) Change: the "Host" header line is also logged in error log.
5839:
5840: *) Feature: the proxy_pass_unparsed_uri directive. The special handling
5841: of the "://" symbols in URI, appeared in 0.1.11 version, now is
5842: canceled.
5843:
5844: *) Bugfix: nginx could not be built on FreeBSD and Linux, if the
5845: --without-ngx_http_auth_basic_module configuration parameter was
5846: used.
5847:
5848:
5849: Changes with nginx 0.1.26 22 Mar 2005
5850:
5851: *) Change: the invalid client header lines are now ignored and logged at
5852: the info level.
5853:
5854: *) Change: the server name is also logged in error log.
5855:
5856: *) Feature: the ngx_http_auth_basic_module module and the auth_basic and
5857: auth_basic_user_file directives.
5858:
5859:
5860: Changes with nginx 0.1.25 19 Mar 2005
5861:
5862: *) Bugfix: nginx did run on Linux parisc.
5863:
5864: *) Feature: nginx now does not start under FreeBSD if the sysctl
5865: kern.ipc.somaxconn value is too big.
5866:
5867: *) Bugfix: if a request was internally redirected by the
5868: ngx_http_index_module module to the ngx_http_proxy_module or
5869: ngx_http_fastcgi_module modules, then the index file was not closed
5870: after request completion.
5871:
5872: *) Feature: the "proxy_pass" can be used in location with regular
5873: expression.
5874:
5875: *) Feature: the ngx_http_rewrite_filter_module module supports the
5876: condition like "if ($HTTP_USER_AGENT ~ MSIE)".
5877:
5878: *) Bugfix: nginx started too slow if the large number of addresses and
5879: text values were used in the "geo" directive.
5880:
5881: *) Change: a variable name must be declared as "$name" in the "geo"
5882: directive. The previous variant without "$" is still supported, but
5883: will be removed soon.
5884:
5885: *) Feature: the "%{VARIABLE}v" logging parameter.
5886:
5887: *) Feature: the "set $name value" directive.
5888:
5889: *) Bugfix: gcc 4.0 compatibility.
5890:
5891: *) Feature: the --with-openssl-opt=OPTIONS autoconfiguration directive.
5892:
5893:
5894: Changes with nginx 0.1.24 04 Mar 2005
5895:
5896: *) Feature: the ngx_http_ssi_filter_module supports the QUERY_STRING and
5897: DOCUMENT_URI variables.
5898:
5899: *) Bugfix: the ngx_http_autoindex_module may some times return the 404
5900: response for existent directory, if this directory was used in
5901: "alias" directive.
5902:
5903: *) Bugfix: the ngx_http_ssi_filter_module ran incorrectly for large
5904: responses.
5905:
5906: *) Bugfix: the lack of the "Referer" header line was always accounted as
5907: valid referrer.
5908:
5909:
5910: Changes with nginx 0.1.23 01 Mar 2005
5911:
5912: *) Feature: the ngx_http_ssi_filter_module and the ssi,
5913: ssi_silent_errors, and ssi_min_file_chunk directives. The 'echo
5914: var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands are
5915: supported.
5916:
5917: *) Feature: the %request_time log parameter.
5918:
5919: *) Feature: if the request has no the "Host" header line, then the
5920: "proxy_preserve_host" directive set this header line to the first
5921: server name of the "server_name" directive.
5922:
5923: *) Bugfix: nginx could not be built on platforms different from i386,
5924: amd64, sparc, and ppc; the bug had appeared in 0.1.22.
5925:
5926: *) Bugfix: the ngx_http_autoindex_module now shows the information not
5927: about the symlink, but about file or directory it points to.
5928:
5929: *) Bugfix: the %apache_length parameter logged the negative length of
5930: the response header if the no response was transferred to a client.
5931:
5932:
5933: Changes with nginx 0.1.22 22 Feb 2005
5934:
5935: *) Bugfix: the ngx_http_stub_status_module showed incorrect handled
5936: connections statistics if the proxying or FastCGI server were used.
5937:
5938: *) Bugfix: the installation paths were incorrectly quoted on Linux and
5939: Solaris; the bug had appeared in 0.1.21.
5940:
5941:
5942: Changes with nginx 0.1.21 22 Feb 2005
5943:
5944: *) Bugfix: the ngx_http_stub_status_module showed incorrect statistics
5945: if "rtsig" method was used or if several worker process ran on SMP.
5946:
5947: *) Bugfix: nginx could not be built by the icc compiler on Linux or if
5948: the zlib-1.2.x library was building from sources.
5949:
5950: *) Bugfix: nginx could not be built on NetBSD 2.0.
5951:
5952:
5953: Changes with nginx 0.1.20 17 Feb 2005
5954:
5955: *) Feature: the new "script_filename" and "remote_port" parameters of
5956: the fastcgi_params directive.
5957:
5958: *) Bugfix: the FastCGI stderr stream was handled incorrectly.
5959:
5960:
5961: Changes with nginx 0.1.19 16 Feb 2005
5962:
5963: *) Bugfix: now, if request contains the zero, then the 404 error is
5964: returned for the local requests.
5965:
5966: *) Bugfix: nginx could not be built on NetBSD 2.0.
5967:
5968: *) Bugfix: the timeout may occur while reading of the client request
5969: body via SSL connections.
5970:
5971:
5972: Changes with nginx 0.1.18 09 Feb 2005
5973:
5974: *) Workaround: the default values of the devpoll_events and the
5975: devpoll_changes directives changed from 512 to 32 to be compatible
5976: with Solaris 10.
5977:
5978: *) Bugfix: the proxy_set_x_var and fastcgi_set_var directives were not
5979: inherited.
5980:
5981: *) Bugfix: in a redirect rewrite directive arguments were concatenated
5982: with URI by an "&" rather than a "?".
5983:
5984: *) Bugfix: the lines without trailing ";" in the file being included by
5985: the ngx_http_geo_module were silently ignored.
5986:
5987: *) Feature: the ngx_http_stub_status_module.
5988:
5989: *) Bugfix: the unknown log format in the access_log directive caused the
5990: segmentation fault.
5991:
5992: *) Feature: the new "document_root" parameter of the fastcgi_params
5993: directive.
5994:
5995: *) Feature: the fastcgi_redirect_errors directive.
5996:
5997: *) Feature: the new "break" modifier of the "rewrite" directive allows
5998: to stop the rewrite/location cycle and sets the current configuration
5999: to the request.
6000:
6001:
6002: Changes with nginx 0.1.17 03 Feb 2005
6003:
6004: *) Change: the ngx_http_rewrite_module was rewritten from the scratch.
6005: Now it is possible to redirect, to return the error codes, to check
6006: the variables and referrers. The directives can be used inside
6007: locations. The redirect directive was canceled.
6008:
6009: *) Feature: the ngx_http_geo_module.
6010:
6011: *) Feature: the proxy_set_x_var and fastcgi_set_var directives.
6012:
6013: *) Bugfix: the location configuration with "=" modifier may be used in
6014: another location.
6015:
6016: *) Bugfix: the correct content type was set only for requests that use
6017: small caps letters in extension.
6018:
6019: *) Bugfix: if the proxy_pass or fastcgi_pass directives were set in the
6020: location, and access was denied, and the error was redirected to a
6021: static page, then the segmentation fault occurred.
6022:
6023: *) Bugfix: if in a proxied "Location" header was a relative URL, then a
6024: host name and a slash were added to them; the bug had appeared in
6025: 0.1.14.
6026:
6027: *) Bugfix: the system error message was not logged on Linux.
6028:
6029:
6030: Changes with nginx 0.1.16 25 Jan 2005
6031:
6032: *) Bugfix: if the response were transferred by chunks, then on the HEAD
6033: request the final chunk was issued.
6034:
6035: *) Bugfix: the "Connection: keep-alive" header were issued, even if the
6036: keepalive_timeout directive forbade the keep-alive use.
6037:
6038: *) Bugfix: the errors in the ngx_http_fastcgi_module caused the
6039: segmentation faults.
6040:
6041: *) Bugfix: the compressed response encrypted by SSL may not transferred
6042: complete.
6043:
6044: *) Bugfix: the TCP-specific TCP_NODELAY, TCP_NOPSUH, and TCP_CORK
6045: options, are not used for the unix domain sockets.
6046:
6047: *) Feature: the rewrite directive supports the arguments rewriting.
6048:
6049: *) Bugfix: the response code 400 was returned for the POST request with
6050: the "Content-Length: 0" header; the bug had appeared in 0.1.14.
6051:
6052:
6053: Changes with nginx 0.1.15 19 Jan 2005
6054:
6055: *) Bugfix: the error while the connecting to the FastCGI server caused
6056: segmentation fault.
6057:
6058: *) Bugfix: the correct handling of the regular expression, that has
6059: different number of the captures and substitutions.
6060:
6061: *) Feature: the location, that is passed to the FastCGI server, can be
6062: regular expression.
6063:
6064: *) Bugfix: the FastCGI's parameter REQUEST_URI is now passed with the
6065: arguments and in the original state.
6066:
6067: *) Bugfix: the ngx_http_rewrite_module module was required to be built
6068: to use the regular expressions in locations.
6069:
6070: *) Bugfix: the directive "proxy_preserve_host on" adds port 80 to the
6071: "Host" headers, if upstream listen on port 80; the bug had appeared
6072: in 0.1.14.
6073:
6074: *) Bugfix: the same paths in autoconfiguration parameters
6075: --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH, or
6076: --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH
6077: caused segmentation fault.
6078:
6079:
6080: Changes with nginx 0.1.14 18 Jan 2005
6081:
6082: *) Feature: the autoconfiguration directives:
6083: --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH, and
6084: --http-fastcgi-temp-path=PATH
6085:
6086: *) Change: the directory name for the temporary files with the client
6087: request body is specified by directive client_body_temp_path, by
6088: default it is <prefix>/client_body_temp.
6089:
6090: *) Feature: the ngx_http_fastcgi_module and the directives:
6091: fastcgi_pass, fastcgi_root, fastcgi_index, fastcgi_params,
6092: fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout,
6093: fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers,
6094: fastcgi_busy_buffers_size, fastcgi_temp_path,
6095: fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
6096: fastcgi_next_upstream, and fastcgi_x_powered_by.
6097:
6098: *) Bugfix: the "[alert] zero size buf" error; the bug had appeared in
6099: 0.1.3.
6100:
6101: *) Change: the URI must be specified after the host name in the
6102: proxy_pass directive.
6103:
6104: *) Change: the %3F symbol in the URI was considered as the argument
6105: string start.
6106:
6107: *) Feature: the unix domain sockets support in the
6108: ngx_http_proxy_module.
6109:
6110: *) Feature: the ssl_engine and ssl_ciphers directives.
6111: Thanks to Sergey Skvortsov for SSL-accelerator.
6112:
6113:
6114: Changes with nginx 0.1.13 21 Dec 2004
6115:
6116: *) Feature: the server_names_hash and server_names_hash_threshold
6117: directives.
6118:
6119: *) Bugfix: the *.domain.tld names in the "server_name" directive did not
6120: work.
6121:
6122: *) Bugfix: the %request_length log parameter logged the incorrect
6123: length.
6124:
6125:
6126: Changes with nginx 0.1.12 06 Dec 2004
6127:
6128: *) Feature: the %request_length log parameter.
6129:
6130: *) Bugfix: when using the /dev/poll, select and poll on the platforms,
6131: where these methods may do the false reports, there may be the long
6132: delay when the request was passed via the keep-alive connection. It
6133: may be at least on Solaris when using the /dev/poll.
6134:
6135: *) Bugfix: the send_lowat directive is ignored on Linux because Linux
6136: does not support the SO_SNDLOWAT option.
6137:
6138:
6139: Changes with nginx 0.1.11 02 Dec 2004
6140:
6141: *) Feature: the worker_priority directive.
6142:
6143: *) Change: both tcp_nopush and tcp_nodelay directives affect the
6144: transferred response.
6145:
6146: *) Bugfix: nginx did not call initgroups().
6147: Thanks to Andrew Sitnikov and Andrei Nigmatulin.
6148:
6149: *) Change: now the ngx_http_autoindex_module shows the file size in the
6150: bytes.
6151:
6152: *) Bugfix: the ngx_http_autoindex_module returned the 500 error if the
6153: broken symlink was in a directory.
6154:
6155: *) Bugfix: the files bigger than 4G could not be transferred using
6156: sendfile.
6157:
6158: *) Bugfix: if the backend was resolved to several backends and there was
6159: an error while the response waiting then process may got caught in an
6160: endless loop.
6161:
6162: *) Bugfix: the worker process may exit with the "unknown cycle" message
6163: when the /dev/poll method was used.
6164:
6165: *) Bugfix: "close() channel failed" errors.
6166:
6167: *) Bugfix: the autodetection of the "nobody" and "nogroup" groups.
6168:
6169: *) Bugfix: the send_lowat directive did not work on Linux.
6170:
6171: *) Bugfix: the segmentation fault occurred if there was no events
6172: section in configuration.
6173:
6174: *) Bugfix: nginx could not be built on OpenBSD.
6175:
6176: *) Bugfix: the double slashes in "://" in the URI were converted to
6177: ":/".
6178:
6179:
6180: Changes with nginx 0.1.10 26 Nov 2004
6181:
6182: *) Bugfix: if the request without arguments contains "//", "/./", "/../"
6183: or "%XX" then the last character in the request line was lost; the
6184: bug had appeared in 0.1.9.
6185:
6186: *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did
6187: not work.
6188:
6189:
6190: Changes with nginx 0.1.9 25 Nov 2004
6191:
6192: *) Bugfix: the proxied request was sent without arguments if the request
6193: contains "//", "/./", "/../" or "%XX".
6194:
6195: *) Bugfix: the large compressed responses may be transferred not
6196: completely.
6197:
6198: *) Bugfix: the files bigger than 2G was not transferred on Linux that
6199: does not support sendfile64().
6200:
6201: *) Bugfix: while the build configuration on Linux the --with-poll_module
6202: parameter was required; the bug had appeared in 0.1.8.
6203:
6204:
6205: Changes with nginx 0.1.8 20 Nov 2004
6206:
6207: *) Bugfix: in the ngx_http_autoindex_module if the long file names were
6208: in the listing.
6209:
6210: *) Feature: the "^~" modifier in the location directive.
6211:
6212: *) Feature: the proxy_max_temp_file_size directive.
6213:
6214:
6215: Changes with nginx 0.1.7 12 Nov 2004
6216:
6217: *) Bugfix: on FreeBSD the segmentation fault may occur if the size of
6218: the transferred file was changed; the bug had appeared in 0.1.5.
6219:
6220:
6221: Changes with nginx 0.1.6 11 Nov 2004
6222:
6223: *) Bugfix: some location directive combinations with the regular
6224: expressions caused the wrong configuration choose.
6225:
6226:
6227: Changes with nginx 0.1.5 11 Nov 2004
6228:
6229: *) Bugfix: on Solaris and Linux there may be too many "recvmsg()
6230: returned not enough data" alerts.
6231:
6232: *) Bugfix: there were the "writev() failed (22: Invalid argument)"
6233: errors on Solaris in proxy mode without sendfile. On other platforms
6234: that do not support sendfile at all the process got caught in an
6235: endless loop.
6236:
6237: *) Bugfix: segmentation fault on Solaris in proxy mode and using
6238: sendfile.
6239:
6240: *) Bugfix: segmentation fault on Solaris.
6241:
6242: *) Bugfix: on-line upgrade did not work on Linux.
6243:
6244: *) Bugfix: the ngx_http_autoindex_module module did not escape the
6245: spaces, the quotes, and the percent signs in the directory listing.
6246:
6247: *) Change: the decrease of the copy operations.
6248:
6249: *) Feature: the userid_p3p directive.
6250:
6251:
6252: Changes with nginx 0.1.4 26 Oct 2004
6253:
6254: *) Bugfix: in the ngx_http_autoindex_module.
6255:
6256:
6257: Changes with nginx 0.1.3 25 Oct 2004
6258:
6259: *) Feature: the ngx_http_autoindex_module and the autoindex directive.
6260:
6261: *) Feature: the proxy_set_x_url directive.
6262:
6263: *) Bugfix: proxy module may get caught in an endless loop when sendfile
6264: is not used.
6265:
6266:
6267: Changes with nginx 0.1.2 21 Oct 2004
6268:
6269: *) Feature: the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS
6270: options in configure.
6271:
6272: *) Feature: the server_name directive supports *.domain.tld.
6273:
6274: *) Bugfix: the portability improvements.
6275:
6276: *) Bugfix: if configuration file was set in command line, the
6277: reconfiguration was impossible; the bug had appeared in 0.1.1.
6278:
6279: *) Bugfix: proxy module may get caught in an endless loop when sendfile
6280: is not used.
6281:
6282: *) Bugfix: with sendfile the response was not recoded according to the
6283: charset module directives; the bug had appeared in 0.1.1.
6284:
6285: *) Bugfix: very seldom bug in the kqueue processing.
6286:
6287: *) Bugfix: the gzip module compressed the proxied responses that was
6288: already compressed.
6289:
6290:
6291: Changes with nginx 0.1.1 11 Oct 2004
6292:
6293: *) Feature: the gzip_types directive.
6294:
6295: *) Feature: the tcp_nodelay directive.
6296:
6297: *) Feature: the send_lowat directive is working not only on OSes that
6298: support kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT.
6299:
6300: *) Feature: the setproctitle() emulation for Linux and Solaris.
6301:
6302: *) Bugfix: the "Location" header rewrite bug fixed while the proxying.
6303:
6304: *) Bugfix: the ngx_http_chunked_module module may get caught in an
6305: endless loop.
6306:
6307: *) Bugfix: the /dev/poll module bugs fixed.
6308:
6309: *) Bugfix: the responses were corrupted when the temporary files were
6310: used while the proxying.
6311:
6312: *) Bugfix: the unescaped requests were passed to the backend.
6313:
6314: *) Bugfix: while the build configuration on Linux 2.4 the
6315: --with-poll_module parameter was required.
6316:
6317:
6318: Changes with nginx 0.1.0 04 Oct 2004
6319:
6320: *) The first public version.
6321:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>