comparison CHANGES @ 382:984bb0b1399b NGINX_0_7_3

nginx 0.7.3 *) Change: the "rss" extension MIME type has been changed to "application/rss+xml". *) Change: now the "gzip_vary" directive turned on issues a "Vary: Accept-Encoding" header line for uncompressed responses too. *) Feature: now the "rewrite" directive does a redirect automatically if the "https://" protocol is used. *) Bugfix: the "proxy_pass" directive did not work with the HTTPS protocol; the bug had appeared in 0.6.9.
author Igor Sysoev <http://sysoev.ru>
date Mon, 23 Jun 2008 00:00:00 +0400
parents bc21d9cd9c54
children 12defd37f578
comparison
equal deleted inserted replaced
381:23d1555141d9 382:984bb0b1399b
1
2 Changes with nginx 0.7.3 23 Jun 2008
3
4 *) Change: the "rss" extension MIME type has been changed to
5 "application/rss+xml".
6
7 *) Change: now the "gzip_vary" directive turned on issues a
8 "Vary: Accept-Encoding" header line for uncompressed responses too.
9
10 *) Feature: now the "rewrite" directive does a redirect automatically
11 if the "https://" protocol is used.
12
13 *) Bugfix: the "proxy_pass" directive did not work with the HTTPS
14 protocol; the bug had appeared in 0.6.9.
15
1 16
2 Changes with nginx 0.7.2 16 Jun 2008 17 Changes with nginx 0.7.2 16 Jun 2008
3 18
4 *) Feature: now nginx supports EDH key exchange ciphers. 19 *) Feature: now nginx supports EDH key exchange ciphers.
5 20
7 22
8 *) Feature: the $ssl_client_cert variable. 23 *) Feature: the $ssl_client_cert variable.
9 Thanks to Manlio Perillo. 24 Thanks to Manlio Perillo.
10 25
11 *) Bugfix: after changing URI via a "rewrite" directive nginx did not 26 *) Bugfix: after changing URI via a "rewrite" directive nginx did not
12 search a new location; bug appeared in 0.7.1. 27 search a new location; the bug had appeared in 0.7.1.
13 Thanks to Maxim Dounin. 28 Thanks to Maxim Dounin.
14 29
15 *) Bugfix: nginx could not be built without PCRE library; bug appeared 30 *) Bugfix: nginx could not be built without PCRE library; the bug had
16 in 0.7.1. 31 appeared in 0.7.1.
17 32
18 *) Bugfix: when a request to a directory was redirected with the slash 33 *) Bugfix: when a request to a directory was redirected with the slash
19 added, nginx dropped a query string from the original request. 34 added, nginx dropped a query string from the original request.
20 35
21 36
63 78
64 79
65 Changes with nginx 0.6.31 12 May 2008 80 Changes with nginx 0.6.31 12 May 2008
66 81
67 *) Bugfix: nginx did not process FastCGI response if header was at the 82 *) Bugfix: nginx did not process FastCGI response if header was at the
68 end of FastCGI record; bug appeared in 0.6.2. 83 end of FastCGI record; the bug had appeared in 0.6.2.
69 Thanks to Sergey Serov. 84 Thanks to Sergey Serov.
70 85
71 *) Bugfix: a segmentation fault might occur in worker process if a file 86 *) Bugfix: a segmentation fault might occur in worker process if a file
72 was deleted and the "open_file_cache_errors" directive was off. 87 was deleted and the "open_file_cache_errors" directive was off.
73 88
89 *) Bugfix: the "error_page" directive did not take into account 104 *) Bugfix: the "error_page" directive did not take into account
90 arguments in redirected URI. 105 arguments in redirected URI.
91 106
92 *) Bugfix: now nginx always opens files in binary mode under Cygwin. 107 *) Bugfix: now nginx always opens files in binary mode under Cygwin.
93 108
94 *) Bugfix: nginx could not be built on OpenBSD; bug appeared in 0.6.15. 109 *) Bugfix: nginx could not be built on OpenBSD; the bug had appeared in
110 0.6.15.
95 111
96 112
97 Changes with nginx 0.6.29 18 Mar 2008 113 Changes with nginx 0.6.29 18 Mar 2008
98 114
99 *) Feature: the ngx_google_perftools_module. 115 *) Feature: the ngx_google_perftools_module.
100 116
101 *) Bugfix: the ngx_http_perl_module could not be built on 64-bit 117 *) Bugfix: the ngx_http_perl_module could not be built on 64-bit
102 platforms; bug appeared in 0.6.27. 118 platforms; the bug had appeared in 0.6.27.
103 119
104 120
105 Changes with nginx 0.6.28 13 Mar 2008 121 Changes with nginx 0.6.28 13 Mar 2008
106 122
107 *) Bugfix: the rtsig method could not be built; bug appeared in 0.6.27. 123 *) Bugfix: the rtsig method could not be built; the bug had appeared in
124 0.6.27.
108 125
109 126
110 Changes with nginx 0.6.27 12 Mar 2008 127 Changes with nginx 0.6.27 12 Mar 2008
111 128
112 *) Change: now by default the rtsig method is not built on 129 *) Change: now by default the rtsig method is not built on
174 191
175 *) Bugfix: socket leak in HTTPS mode if deferred accept was used. 192 *) Bugfix: socket leak in HTTPS mode if deferred accept was used.
176 Thanks to Ben Maurer. 193 Thanks to Ben Maurer.
177 194
178 *) Bugfix: nginx issued the bogus error message "SSL_shutdown() failed 195 *) Bugfix: nginx issued the bogus error message "SSL_shutdown() failed
179 (SSL: )"; bug appeared in 0.6.23. 196 (SSL: )"; the bug had appeared in 0.6.23.
180 197
181 *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" 198 *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
182 error; bug appeared in 0.6.23. 199 error; the bug had appeared in 0.6.23.
183 200
184 201
185 Changes with nginx 0.6.25 08 Jan 2008 202 Changes with nginx 0.6.25 08 Jan 2008
186 203
187 *) Change: now the "server_name_in_redirect" directive is used instead 204 *) Change: now the "server_name_in_redirect" directive is used instead
199 *) Feature: the "min_delete_depth" directive. 216 *) Feature: the "min_delete_depth" directive.
200 217
201 *) Bugfix: the COPY and MOVE methods did not work with single files. 218 *) Bugfix: the COPY and MOVE methods did not work with single files.
202 219
203 *) Bugfix: the ngx_http_gzip_static_module did not allow the 220 *) Bugfix: the ngx_http_gzip_static_module did not allow the
204 ngx_http_dav_module to work; bug appeared in 0.6.23. 221 ngx_http_dav_module to work; the bug had appeared in 0.6.23.
205 222
206 *) Bugfix: socket leak in HTTPS mode if deferred accept was used. 223 *) Bugfix: socket leak in HTTPS mode if deferred accept was used.
207 Thanks to Ben Maurer. 224 Thanks to Ben Maurer.
208 225
209 *) Bugfix: nginx could not be built without PCRE library; bug appeared 226 *) Bugfix: nginx could not be built without PCRE library; the bug had
210 in 0.6.23. 227 appeared in 0.6.23.
211 228
212 229
213 Changes with nginx 0.6.24 27 Dec 2007 230 Changes with nginx 0.6.24 27 Dec 2007
214 231
215 *) Bugfix: a segmentation fault might occur in worker process if HTTPS 232 *) Bugfix: a segmentation fault might occur in worker process if HTTPS
216 was used; bug appeared in 0.6.23. 233 was used; the bug had appeared in 0.6.23.
217 234
218 235
219 Changes with nginx 0.6.23 27 Dec 2007 236 Changes with nginx 0.6.23 27 Dec 2007
220 237
221 *) Change: the "off" parameter in the "ssl_session_cache" directive; 238 *) Change: the "off" parameter in the "ssl_session_cache" directive;
251 268
252 *) Bugfix: the STARTTLS in SMTP mode did not work. 269 *) Bugfix: the STARTTLS in SMTP mode did not work.
253 Thanks to Oleg Motienko. 270 Thanks to Oleg Motienko.
254 271
255 *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" 272 *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
256 error; bug appeared in 0.5.13. 273 error; the bug had appeared in 0.5.13.
257 274
258 275
259 Changes with nginx 0.6.22 19 Dec 2007 276 Changes with nginx 0.6.22 19 Dec 2007
260 277
261 *) Change: now all ngx_http_perl_module methods return values copied to 278 *) Change: now all ngx_http_perl_module methods return values copied to
262 perl's allocated memory. 279 perl's allocated memory.
263 280
264 *) Bugfix: if nginx was built with ngx_http_perl_module, the perl 281 *) Bugfix: if nginx was built with ngx_http_perl_module, the perl
265 before 5.8.6 was used, and perl supported threads, then during 282 before 5.8.6 was used, and perl supported threads, then during
266 reconfiguration the master process aborted; bug appeared in 283 reconfiguration the master process aborted; the bug had appeared in
267 0.5.9. 284 0.5.9.
268 Thanks to Boris Zhmurov. 285 Thanks to Boris Zhmurov.
269 286
270 *) Bugfix: the ngx_http_perl_module methods may get invalid values of 287 *) Bugfix: the ngx_http_perl_module methods may get invalid values of
271 the regex captures. 288 the regex captures.
277 *) Bugfix: large_client_header_buffers did not freed before going to 294 *) Bugfix: large_client_header_buffers did not freed before going to
278 keep-alive state. 295 keep-alive state.
279 Thanks to Olexander Shtepa. 296 Thanks to Olexander Shtepa.
280 297
281 *) Bugfix: the last address was missed in the $upstream_addr variable; 298 *) Bugfix: the last address was missed in the $upstream_addr variable;
282 bug appeared in 0.6.18. 299 the bug had appeared in 0.6.18.
283 300
284 *) Bugfix: the "fastcgi_catch_stderr" directive did return error code; 301 *) Bugfix: the "fastcgi_catch_stderr" directive did return error code;
285 now it returns 502 code, that can be rerouted to a next server using 302 now it returns 502 code, that can be rerouted to a next server using
286 the "fastcgi_next_upstream invalid_header" directive. 303 the "fastcgi_next_upstream invalid_header" directive.
287 304
288 *) Bugfix: a segmentation fault occurred in master process if the 305 *) Bugfix: a segmentation fault occurred in master process if the
289 "fastcgi_catch_stderr" directive was used; bug appeared in 306 "fastcgi_catch_stderr" directive was used; the bug had appeared in
290 0.6.10. 307 0.6.10.
291 Thanks to Manlio Perillo. 308 Thanks to Manlio Perillo.
292 309
293 310
294 Changes with nginx 0.6.21 03 Dec 2007 311 Changes with nginx 0.6.21 03 Dec 2007
296 *) Change: if variable values used in a "proxy_pass" directive contain 313 *) Change: if variable values used in a "proxy_pass" directive contain
297 IP-addresses only, then a "resolver" directive is not mandatory. 314 IP-addresses only, then a "resolver" directive is not mandatory.
298 resolver 315 resolver
299 316
300 *) Bugfix: a segmentation fault might occur in worker process if a 317 *) Bugfix: a segmentation fault might occur in worker process if a
301 "proxy_pass" directive with URI-part was used; bug appeared in 318 "proxy_pass" directive with URI-part was used; the bug had appeared
302 0.6.19. 319 in 0.6.19.
303 320
304 *) Bugfix: if resolver was used on platform that does not support 321 *) Bugfix: if resolver was used on platform that does not support
305 kqueue, then nginx issued an alert "name is out of response". 322 kqueue, then nginx issued an alert "name is out of response".
306 Thanks to Andrei Nigmatulin. 323 Thanks to Andrei Nigmatulin.
307 324
315 332
316 333
317 Changes with nginx 0.6.20 28 Nov 2007 334 Changes with nginx 0.6.20 28 Nov 2007
318 335
319 *) Bugfix: a segmentation fault might occur in worker process if a 336 *) Bugfix: a segmentation fault might occur in worker process if a
320 "proxy_pass" directive with URI-part was used; bug appeared in 337 "proxy_pass" directive with URI-part was used; the bug had appeared
321 0.6.19. 338 in 0.6.19.
322 339
323 340
324 Changes with nginx 0.6.19 27 Nov 2007 341 Changes with nginx 0.6.19 27 Nov 2007
325 342
326 *) Bugfix: the 0.6.18 version could not be built. 343 *) Bugfix: the 0.6.18 version could not be built.
349 366
350 *) Feature: the "If-Range" request header line support. 367 *) Feature: the "If-Range" request header line support.
351 Thanks to Alexander V. Inyukhin. 368 Thanks to Alexander V. Inyukhin.
352 369
353 *) Bugfix: URL double escaping in a redirect of the "msie_refresh" 370 *) Bugfix: URL double escaping in a redirect of the "msie_refresh"
354 directive; bug appeared in 0.6.4. 371 directive; the bug had appeared in 0.6.4.
355 372
356 *) Bugfix: the "autoindex" directive did not work with the "alias /" 373 *) Bugfix: the "autoindex" directive did not work with the "alias /"
357 directive. 374 directive.
358 375
359 *) Bugfix: a segmentation fault might occur in worker process if 376 *) Bugfix: a segmentation fault might occur in worker process if
370 387
371 *) Change: now the uname(2) is used on Linux instead of procfs. 388 *) Change: now the uname(2) is used on Linux instead of procfs.
372 Thanks to Ilya Novikov. 389 Thanks to Ilya Novikov.
373 390
374 *) Bugfix: if the "?" character was in a "error_page" directive, then 391 *) Bugfix: if the "?" character was in a "error_page" directive, then
375 it was escaped in a proxied request; bug appeared in 0.6.11. 392 it was escaped in a proxied request; the bug had appeared in 0.6.11.
376 393
377 *) Bugfix: compatibility with mget. 394 *) Bugfix: compatibility with mget.
378 395
379 396
380 Changes with nginx 0.6.15 22 Oct 2007 397 Changes with nginx 0.6.15 22 Oct 2007
398 "GET http://www.domain.com HTTP/1.0". 415 "GET http://www.domain.com HTTP/1.0".
399 Thanks to James Oakley. 416 Thanks to James Oakley.
400 417
401 *) Bugfix: if request with request body was redirected using the 418 *) Bugfix: if request with request body was redirected using the
402 "error_page" directive, then nginx tried to read the request body 419 "error_page" directive, then nginx tried to read the request body
403 again; bug appeared in 0.6.7. 420 again; the bug had appeared in 0.6.7.
404 421
405 *) Bugfix: a segmentation fault occurred in worker process if no 422 *) Bugfix: a segmentation fault occurred in worker process if no
406 server_name was explicitly defined for server processing request; 423 server_name was explicitly defined for server processing request;
407 bug appeared in 0.6.7. 424 the bug had appeared in 0.6.7.
408 425
409 426
410 Changes with nginx 0.6.14 15 Oct 2007 427 Changes with nginx 0.6.14 15 Oct 2007
411 428
412 *) Change: now by default the "echo" SSI command uses entity encoding. 429 *) Change: now by default the "echo" SSI command uses entity encoding.
415 432
416 *) Feature: the "access_log" directive may be used inside the 433 *) Feature: the "access_log" directive may be used inside the
417 "limit_except" block. 434 "limit_except" block.
418 435
419 *) Bugfix: if all upstream servers were failed, then all servers had 436 *) Bugfix: if all upstream servers were failed, then all servers had
420 got weight the was equal one until servers became alive; bug 437 got weight the was equal one until servers became alive; the bug had
421 appeared in 0.6.6. 438 appeared in 0.6.6.
422 439
423 *) Bugfix: a segmentation fault occurred in worker process if 440 *) Bugfix: a segmentation fault occurred in worker process if
424 $date_local and $date_gmt were used outside the 441 $date_local and $date_gmt were used outside the
425 ngx_http_ssi_filter_module. 442 ngx_http_ssi_filter_module.
434 451
435 *) Bugfix: a worker process may got caught in an endless loop, if the 452 *) Bugfix: a worker process may got caught in an endless loop, if the
436 memcached was used. 453 memcached was used.
437 454
438 *) Bugfix: nginx supported low case only "close" and "keep-alive" 455 *) Bugfix: nginx supported low case only "close" and "keep-alive"
439 values in the "Connection" request header line; bug appeared in 456 values in the "Connection" request header line; the bug had appeared
440 0.6.11. 457 in 0.6.11.
441 458
442 *) Bugfix: sub_filter did not work with empty substitution. 459 *) Bugfix: sub_filter did not work with empty substitution.
443 460
444 *) Bugfix: in sub_filter parsing. 461 *) Bugfix: in sub_filter parsing.
445 462
459 and --without-mail_smtp_module configuration parameters. 476 and --without-mail_smtp_module configuration parameters.
460 477
461 *) Feature: the "smtp_greeting_delay" and "smtp_client_buffer" 478 *) Feature: the "smtp_greeting_delay" and "smtp_client_buffer"
462 directives of the ngx_mail_smtp_module. 479 directives of the ngx_mail_smtp_module.
463 480
464 *) Bugfix: the trailing wildcards did not work; bug appeared in 0.6.9. 481 *) Bugfix: the trailing wildcards did not work; the bug had appeared in
482 0.6.9.
465 483
466 *) Bugfix: nginx could not start on Solaris if the shared PCRE library 484 *) Bugfix: nginx could not start on Solaris if the shared PCRE library
467 located in non-standard place was used. 485 located in non-standard place was used.
468 486
469 *) Bugfix: the "proxy_hide_header" and "fastcgi_hide_header" directives 487 *) Bugfix: the "proxy_hide_header" and "fastcgi_hide_header" directives
482 500
483 *) Bugfix: nginx did not support several "Connection" request header 501 *) Bugfix: nginx did not support several "Connection" request header
484 lines. 502 lines.
485 503
486 *) Bugfix: if the "max_fails" was set for upstream server, then after 504 *) Bugfix: if the "max_fails" was set for upstream server, then after
487 first failure server weight was always one; bug appeared in 0.6.6. 505 first failure server weight was always one; the bug had appeared in
506 0.6.6.
488 507
489 508
490 Changes with nginx 0.6.10 03 Sep 2007 509 Changes with nginx 0.6.10 03 Sep 2007
491 510
492 *) Feature: the "open_file_cache", "open_file_cache_retest", and 511 *) Feature: the "open_file_cache", "open_file_cache_retest", and
493 "open_file_cache_errors" directives. 512 "open_file_cache_errors" directives.
494 513
495 *) Bugfix: socket leak; bug appeared in 0.6.7. 514 *) Bugfix: socket leak; the bug had appeared in 0.6.7.
496 515
497 *) Bugfix: a charset set by the "charset" directive was not appended to 516 *) Bugfix: a charset set by the "charset" directive was not appended to
498 the "Content-Type" header set by $r->send_http_header(). 517 the "Content-Type" header set by $r->send_http_header().
499 518
500 *) Bugfix: a segmentation fault might occur in worker process if 519 *) Bugfix: a segmentation fault might occur in worker process if
502 521
503 522
504 Changes with nginx 0.6.9 28 Aug 2007 523 Changes with nginx 0.6.9 28 Aug 2007
505 524
506 *) Bugfix: a worker process may got caught in an endless loop, if the 525 *) Bugfix: a worker process may got caught in an endless loop, if the
507 HTTPS protocol was used; bug appeared in 0.6.7. 526 HTTPS protocol was used; the bug had appeared in 0.6.7.
508 527
509 *) Bugfix: if server listened on two addresses or ports and trailing 528 *) Bugfix: if server listened on two addresses or ports and trailing
510 wildcard was used, then nginx did not run. 529 wildcard was used, then nginx did not run.
511 530
512 *) Bugfix: the "ip_hash" directive might incorrectly mark servers as 531 *) Bugfix: the "ip_hash" directive might incorrectly mark servers as
513 down. 532 down.
514 533
515 *) Bugfix: nginx could not be built on amd64; bug appeared in 0.6.8. 534 *) Bugfix: nginx could not be built on amd64; the bug had appeared in
535 0.6.8.
516 536
517 537
518 Changes with nginx 0.6.8 20 Aug 2007 538 Changes with nginx 0.6.8 20 Aug 2007
519 539
520 *) Change: now nginx tries to set the "worker_priority", 540 *) Change: now nginx tries to set the "worker_priority",
525 authentication server. 545 authentication server.
526 546
527 *) Change: now nginx escapes "%" in $memcached_key variable. 547 *) Change: now nginx escapes "%" in $memcached_key variable.
528 548
529 *) Bugfix: nginx used path relative to configuration prefix for 549 *) Bugfix: nginx used path relative to configuration prefix for
530 non-absolute configuration file path specified in the "-c" key; bug 550 non-absolute configuration file path specified in the "-c" key; the
531 appeared in 0.6.6. 551 bug had appeared in 0.6.6.
532 552
533 *) Bugfix: nginx did not work on FreeBSD/sparc64. 553 *) Bugfix: nginx did not work on FreeBSD/sparc64.
534 554
535 555
536 Changes with nginx 0.6.7 15 Aug 2007 556 Changes with nginx 0.6.7 15 Aug 2007
568 *) Bugfix: now nginx uses default listen backlog value 511 on all 588 *) Bugfix: now nginx uses default listen backlog value 511 on all
569 platforms except FreeBSD. 589 platforms except FreeBSD.
570 Thanks to Jiang Hong. 590 Thanks to Jiang Hong.
571 591
572 *) Bugfix: a worker process may got caught in an endless loop, if a 592 *) Bugfix: a worker process may got caught in an endless loop, if a
573 "server" inside "upstream" block was marked as "down"; bug appeared 593 "server" inside "upstream" block was marked as "down"; the bug had
574 in 0.6.6. 594 appeared in 0.6.6.
575 595
576 *) Bugfix: now Solaris sendfilev() is not used to transfer the client 596 *) Bugfix: now Solaris sendfilev() is not used to transfer the client
577 request body to FastCGI-server via the unix domain socket. 597 request body to FastCGI-server via the unix domain socket.
578 598
579 599
594 614
595 *) Bugfix: if the same host without specified port was used as backend 615 *) Bugfix: if the same host without specified port was used as backend
596 for HTTP and HTTPS, then nginx used only one port - 80 or 443. 616 for HTTP and HTTPS, then nginx used only one port - 80 or 443.
597 617
598 *) Bugfix: fix building on Solaris/amd64 by Sun Studio 11 and early 618 *) Bugfix: fix building on Solaris/amd64 by Sun Studio 11 and early
599 versions; bug appeared in 0.6.4. 619 versions; the bug had appeared in 0.6.4.
600 620
601 621
602 Changes with nginx 0.6.5 23 Jul 2007 622 Changes with nginx 0.6.5 23 Jul 2007
603 623
604 *) Feature: $nginx_version variable. 624 *) Feature: $nginx_version variable.
655 675
656 *) Bugfix: a segmentation fault might occur in worker process if the 676 *) Bugfix: a segmentation fault might occur in worker process if the
657 eventport method was used. 677 eventport method was used.
658 678
659 *) Bugfix: the "proxy_ignore_client_abort" and 679 *) Bugfix: the "proxy_ignore_client_abort" and
660 "fastcgi_ignore_client_abort" directives did not work; bug appeared 680 "fastcgi_ignore_client_abort" directives did not work; the bug had
661 in 0.5.13. 681 appeared in 0.5.13.
662 682
663 683
664 Changes with nginx 0.6.2 09 Jul 2007 684 Changes with nginx 0.6.2 09 Jul 2007
665 685
666 *) Bugfix: if the FastCGI header was split in records, then nginx 686 *) Bugfix: if the FastCGI header was split in records, then nginx
688 708
689 709
690 Changes with nginx 0.5.25 11 Jun 2007 710 Changes with nginx 0.5.25 11 Jun 2007
691 711
692 *) Bugfix: nginx could not be built with the 712 *) Bugfix: nginx could not be built with the
693 --without-http_rewrite_module parameter; bug appeared in 0.5.24. 713 --without-http_rewrite_module parameter; the bug had appeared in
714 0.5.24.
694 715
695 716
696 Changes with nginx 0.5.24 06 Jun 2007 717 Changes with nginx 0.5.24 06 Jun 2007
697 718
698 *) Security: the "ssl_verify_client" directive did not work if request 719 *) Security: the "ssl_verify_client" directive did not work if request
699 was made using HTTP/0.9. 720 was made using HTTP/0.9.
700 721
701 *) Bugfix: a part of response body might be passed uncompressed if gzip 722 *) Bugfix: a part of response body might be passed uncompressed if gzip
702 was used; bug appeared in 0.5.23. 723 was used; the bug had appeared in 0.5.23.
703 724
704 725
705 Changes with nginx 0.5.23 04 Jun 2007 726 Changes with nginx 0.5.23 04 Jun 2007
706 727
707 *) Feature: the ngx_http_ssl_module supports Server Name Indication TLS 728 *) Feature: the ngx_http_ssl_module supports Server Name Indication TLS
720 *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive. 741 *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
721 742
722 743
723 Changes with nginx 0.5.22 29 May 2007 744 Changes with nginx 0.5.22 29 May 2007
724 745
725 *) Bugfix: a big request body might not be passed to backend; bug 746 *) Bugfix: a big request body might not be passed to backend; the bug
726 appeared in 0.5.21. 747 had appeared in 0.5.21.
727 748
728 749
729 Changes with nginx 0.5.21 28 May 2007 750 Changes with nginx 0.5.21 28 May 2007
730 751
731 *) Bugfix: if server has more than about ten locations, then regex 752 *) Bugfix: if server has more than about ten locations, then regex
794 *) Feature: now the $upstream_status and $upstream_response_time 815 *) Feature: now the $upstream_status and $upstream_response_time
795 variables keep data about all upstreams before X-Accel-Redirect. 816 variables keep data about all upstreams before X-Accel-Redirect.
796 817
797 *) Bugfix: a segmentation fault occurred in master process after first 818 *) Bugfix: a segmentation fault occurred in master process after first
798 reconfiguration and receiving any signal if nginx was built with 819 reconfiguration and receiving any signal if nginx was built with
799 ngx_http_perl_module and perl did not support multiplicity; bug 820 ngx_http_perl_module and perl did not support multiplicity; the bug
800 appeared in 0.5.9. 821 had appeared in 0.5.9.
801 822
802 *) Bugfix: if perl did not support multiplicity, then after 823 *) Bugfix: if perl did not support multiplicity, then after
803 reconfiguration perl code did not work; bug appeared in 0.3.38. 824 reconfiguration perl code did not work; the bug had appeared in
825 0.3.38.
804 826
805 827
806 Changes with nginx 0.5.17 02 Apr 2007 828 Changes with nginx 0.5.17 02 Apr 2007
807 829
808 *) Change: now nginx always returns the 405 status for the TRACE method. 830 *) Change: now nginx always returns the 405 status for the TRACE method.
825 "ip_hash" directive. 847 "ip_hash" directive.
826 Thanks to Pavel Yarkovoy. 848 Thanks to Pavel Yarkovoy.
827 849
828 *) Bugfix: a segmentation fault might occur in worker process if a 850 *) Bugfix: a segmentation fault might occur in worker process if a
829 charset was set in the "Content-Type" header line and the line has 851 charset was set in the "Content-Type" header line and the line has
830 trailing ";"; bug appeared in 0.3.50. 852 trailing ";"; the bug had appeared in 0.3.50.
831 853
832 *) Bugfix: the "[alert] zero size buf" error when FastCGI server was 854 *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
833 used and a request body written in a temporary file was multiple of 855 used and a request body written in a temporary file was multiple of
834 32K. 856 32K.
835 857
836 *) Bugfix: nginx could not be built on Solaris without the --with-debug 858 *) Bugfix: nginx could not be built on Solaris without the --with-debug
837 option; bug appeared in 0.5.15. 859 option; the bug had appeared in 0.5.15.
838 860
839 861
840 Changes with nginx 0.5.15 19 Mar 2007 862 Changes with nginx 0.5.15 19 Mar 2007
841 863
842 *) Feature: the mail proxy supports authenticated SMTP proxying and the 864 *) Feature: the mail proxy supports authenticated SMTP proxying and the
888 *) Bugfix: if the "epoll" method was used and a client closed a 910 *) Bugfix: if the "epoll" method was used and a client closed a
889 connection prematurely, then nginx closed the connection after a 911 connection prematurely, then nginx closed the connection after a
890 send timeout only. 912 send timeout only.
891 913
892 *) Bugfix: nginx could not be built on platforms different from i386, 914 *) Bugfix: nginx could not be built on platforms different from i386,
893 amd64, sparc and ppc; bug appeared in 0.5.8. 915 amd64, sparc and ppc; the bug had appeared in 0.5.8.
894 916
895 917
896 Changes with nginx 0.5.12 12 Feb 2007 918 Changes with nginx 0.5.12 12 Feb 2007
897 919
898 *) Bugfix: nginx could not be built on platforms different from i386, 920 *) Bugfix: nginx could not be built on platforms different from i386,
899 amd64, sparc É ppc; bug appeared in 0.5.8. 921 amd64, sparc É ppc; the bug had appeared in 0.5.8.
900 922
901 *) Bugfix: a segmentation fault might occur in worker process if the 923 *) Bugfix: a segmentation fault might occur in worker process if the
902 temporarily files were used while working with FastCGI server; bug 924 temporarily files were used while working with FastCGI server; the
903 appeared in 0.5.8. 925 bug had appeared in 0.5.8.
904 926
905 *) Bugfix: a segmentation fault might occur in worker process if the 927 *) Bugfix: a segmentation fault might occur in worker process if the
906 $fastcgi_script_name variable was logged. 928 $fastcgi_script_name variable was logged.
907 929
908 *) Bugfix: ngx_http_perl_module could not be built on Solaris. 930 *) Bugfix: ngx_http_perl_module could not be built on Solaris.
912 934
913 *) Feature: now configure detects system PCRE library in MacPorts. 935 *) Feature: now configure detects system PCRE library in MacPorts.
914 Thanks to Chris McGrath. 936 Thanks to Chris McGrath.
915 937
916 *) Bugfix: the response was incorrect if several ranges were requested; 938 *) Bugfix: the response was incorrect if several ranges were requested;
917 bug appeared in 0.5.6. 939 the bug had appeared in 0.5.6.
918 940
919 *) Bugfix: the "create_full_put_path" directive could not create the 941 *) Bugfix: the "create_full_put_path" directive could not create the
920 intermediate directories if no "dav_access" directive was set. 942 intermediate directories if no "dav_access" directive was set.
921 Thanks to Evan Miller. 943 Thanks to Evan Miller.
922 944
928 950
929 951
930 Changes with nginx 0.5.10 26 Jan 2007 952 Changes with nginx 0.5.10 26 Jan 2007
931 953
932 *) Bugfix: while online executable file upgrade the new master process 954 *) Bugfix: while online executable file upgrade the new master process
933 did not inherit the listening sockets; bug appeared in 0.5.9. 955 did not inherit the listening sockets; the bug had appeared in 0.5.9.
934 956
935 *) Bugfix: a segmentation fault might occur in worker process if nginx 957 *) Bugfix: a segmentation fault might occur in worker process if nginx
936 was built with -O2 optimization; bug appeared in 0.5.1. 958 was built with -O2 optimization; the bug had appeared in 0.5.1.
937 959
938 960
939 Changes with nginx 0.5.9 25 Jan 2007 961 Changes with nginx 0.5.9 25 Jan 2007
940 962
941 *) Change: now the ngx_http_memcached_module uses the $memcached_key 963 *) Change: now the ngx_http_memcached_module uses the $memcached_key
967 "fastcgi_pass_request_body off" directives were used, and nginx 989 "fastcgi_pass_request_body off" directives were used, and nginx
968 switched to a next upstream. 990 switched to a next upstream.
969 991
970 *) Bugfix: if the "proxy_buffering off" directive was used and a client 992 *) Bugfix: if the "proxy_buffering off" directive was used and a client
971 connection was non-active, then the connection was closed after send 993 connection was non-active, then the connection was closed after send
972 timeout; bug appeared in 0.4.7. 994 timeout; the bug had appeared in 0.4.7.
973 995
974 *) Bugfix: if the "epoll" method was used and a client closed a 996 *) Bugfix: if the "epoll" method was used and a client closed a
975 connection prematurely, then nginx closed the connection after a 997 connection prematurely, then nginx closed the connection after a
976 send timeout only. 998 send timeout only.
977 999
1048 1070
1049 *) Bugfix: if one only parameter was used in the "dav_access" 1071 *) Bugfix: if one only parameter was used in the "dav_access"
1050 directive, then nginx might report about configuration error. 1072 directive, then nginx might report about configuration error.
1051 1073
1052 *) Bugfix: a segmentation fault might occur if the $host variable was 1074 *) Bugfix: a segmentation fault might occur if the $host variable was
1053 used; bug appeared in 0.4.14. 1075 used; the bug had appeared in 0.4.14.
1054 1076
1055 1077
1056 Changes with nginx 0.5.3 13 Dec 2006 1078 Changes with nginx 0.5.3 13 Dec 2006
1057 1079
1058 *) Feature: the ngx_http_perl_module supports the $r->status, 1080 *) Feature: the ngx_http_perl_module supports the $r->status,
1065 1087
1066 1088
1067 Changes with nginx 0.5.2 11 Dec 2006 1089 Changes with nginx 0.5.2 11 Dec 2006
1068 1090
1069 *) Bugfix: if the "proxy_pass" directive used the name of the 1091 *) Bugfix: if the "proxy_pass" directive used the name of the
1070 "upstream" block, then nginx tried to resolve the name; bug appeared 1092 "upstream" block, then nginx tried to resolve the name; the bug had
1071 in 0.5.1. 1093 appeared in 0.5.1.
1072 1094
1073 1095
1074 Changes with nginx 0.5.1 11 Dec 2006 1096 Changes with nginx 0.5.1 11 Dec 2006
1075 1097
1076 *) Bugfix: the "post_action" directive might not run after a 1098 *) Bugfix: the "post_action" directive might not run after a
1077 unsuccessful completion of a request. 1099 unsuccessful completion of a request.
1078 1100
1079 *) Workaround: for Eudora for Mac; bug appeared in 0.4.11. 1101 *) Workaround: for Eudora for Mac; the bug had appeared in 0.4.11.
1080 Thanks to Bron Gondwana. 1102 Thanks to Bron Gondwana.
1081 1103
1082 *) Bugfix: if the "upstream" name was used in the "fastcgi_pass", then 1104 *) Bugfix: if the "upstream" name was used in the "fastcgi_pass", then
1083 the message "no port in upstream" was issued; bug appeared in 0.5.0. 1105 the message "no port in upstream" was issued; the bug had appeared
1106 in 0.5.0.
1084 1107
1085 *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the 1108 *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the
1086 same servers but different ports, then these directives uses the 1109 same servers but different ports, then these directives uses the
1087 first described port; bug appeared in 0.5.0. 1110 first described port; the bug had appeared in 0.5.0.
1088 1111
1089 *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the 1112 *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the
1090 unix domain sockets, then these directives used first described 1113 unix domain sockets, then these directives used first described
1091 socket; bug appeared in 0.5.0. 1114 socket; the bug had appeared in 0.5.0.
1092 1115
1093 *) Bugfix: ngx_http_auth_basic_module ignored the user if it was in the 1116 *) Bugfix: ngx_http_auth_basic_module ignored the user if it was in the
1094 last line in the password file and there was no the carriage return, 1117 last line in the password file and there was no the carriage return,
1095 the line feed, or the ":" symbol after the password. 1118 the line feed, or the ":" symbol after the password.
1096 1119
1115 *) Feature: the "ip_hash" directive inside the "upstream" block. 1138 *) Feature: the "ip_hash" directive inside the "upstream" block.
1116 1139
1117 *) Feature: the WAIT status in the "Auth-Status" header line of the 1140 *) Feature: the WAIT status in the "Auth-Status" header line of the
1118 IMAP/POP3 proxy authentication server response. 1141 IMAP/POP3 proxy authentication server response.
1119 1142
1120 *) Bugfix: nginx could not be built on 64-bit platforms; bug appeared 1143 *) Bugfix: nginx could not be built on 64-bit platforms; the bug had
1121 in 0.4.14. 1144 appeared in 0.4.14.
1122 1145
1123 1146
1124 Changes with nginx 0.4.14 27 Nov 2006 1147 Changes with nginx 0.4.14 27 Nov 2006
1125 1148
1126 *) Feature: the "proxy_pass_error_message" directive in IMAP/POP3 proxy. 1149 *) Feature: the "proxy_pass_error_message" directive in IMAP/POP3 proxy.
1127 1150
1128 *) Feature: now configure detects system PCRE library on FreeBSD, 1151 *) Feature: now configure detects system PCRE library on FreeBSD,
1129 Linux, and NetBSD. 1152 Linux, and NetBSD.
1130 1153
1131 *) Bugfix: ngx_http_perl_module did not work with perl built with the 1154 *) Bugfix: ngx_http_perl_module did not work with perl built with the
1132 threads support; bug appeared in 0.3.38. 1155 threads support; the bug had appeared in 0.3.38.
1133 1156
1134 *) Bugfix: ngx_http_perl_module did not work if perl was called 1157 *) Bugfix: ngx_http_perl_module did not work if perl was called
1135 recursively. 1158 recursively.
1136 1159
1137 *) Bugfix: nginx ignored a host name in a request line. 1160 *) Bugfix: nginx ignored a host name in a request line.
1162 1185
1163 *) Bugfix: a large request body did not receive if the epoll method and 1186 *) Bugfix: a large request body did not receive if the epoll method and
1164 the deferred accept() were used. 1187 the deferred accept() were used.
1165 1188
1166 *) Bugfix: a charset could not be set for ngx_http_autoindex_module 1189 *) Bugfix: a charset could not be set for ngx_http_autoindex_module
1167 responses; bug appeared in 0.3.50. 1190 responses; the bug had appeared in 0.3.50.
1168 1191
1169 *) Bugfix: the "[alert] zero size buf" error when FastCGI server was 1192 *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
1170 used; 1193 used;
1171 1194
1172 *) Bugfix: the --group= configuration parameter was ignored. 1195 *) Bugfix: the --group= configuration parameter was ignored.
1173 Thanks to Thomas Moschny. 1196 Thanks to Thomas Moschny.
1174 1197
1175 *) Bugfix: the 50th subrequest in SSI response did not work; bug 1198 *) Bugfix: the 50th subrequest in SSI response did not work; the bug
1176 appeared in 0.3.50. 1199 had appeared in 0.3.50.
1177 1200
1178 1201
1179 Changes with nginx 0.4.12 31 Oct 2006 1202 Changes with nginx 0.4.12 31 Oct 2006
1180 1203
1181 *) Feature: the ngx_http_perl_module supports the $r->variable method. 1204 *) Feature: the ngx_http_perl_module supports the $r->variable method.
1192 1215
1193 *) Feature: the ngx_http_perl_module supports the $r->allow_ranges 1216 *) Feature: the ngx_http_perl_module supports the $r->allow_ranges
1194 method. 1217 method.
1195 1218
1196 *) Bugfix: if the APOP was enabled in the POP3 proxy, then the 1219 *) Bugfix: if the APOP was enabled in the POP3 proxy, then the
1197 USER/PASS commands might not work; bug appeared in 0.4.10. 1220 USER/PASS commands might not work; the bug had appeared in 0.4.10.
1198 1221
1199 1222
1200 Changes with nginx 0.4.10 23 Oct 2006 1223 Changes with nginx 0.4.10 23 Oct 2006
1201 1224
1202 *) Feature: the POP3 proxy supports the APOP command. 1225 *) Feature: the POP3 proxy supports the APOP command.
1207 1230
1208 *) Bugfix: a segmentation fault might occur if the $server_addr 1231 *) Bugfix: a segmentation fault might occur if the $server_addr
1209 variable was used in the "map" directive. 1232 variable was used in the "map" directive.
1210 1233
1211 *) Bugfix: the ngx_http_flv_module did not support the byte ranges for 1234 *) Bugfix: the ngx_http_flv_module did not support the byte ranges for
1212 full responses; bug appeared in 0.4.7. 1235 full responses; the bug had appeared in 0.4.7.
1213 1236
1214 *) Bugfix: nginx could not be built on Debian amd64; bug appeared in 1237 *) Bugfix: nginx could not be built on Debian amd64; the bug had
1215 0.4.9. 1238 appeared in 0.4.9.
1216 1239
1217 1240
1218 Changes with nginx 0.4.9 13 Oct 2006 1241 Changes with nginx 0.4.9 13 Oct 2006
1219 1242
1220 *) Feature: the "set" parameter in the "include" SSI command. 1243 *) Feature: the "set" parameter in the "include" SSI command.
1263 *) Bugfix: nginx sent the chunked response for HTTP/1.1 request, 1286 *) Bugfix: nginx sent the chunked response for HTTP/1.1 request,
1264 if its length was set by text string in the 1287 if its length was set by text string in the
1265 $r->headers_out("Content-Length", ...) method. 1288 $r->headers_out("Content-Length", ...) method.
1266 1289
1267 *) Bugfix: after redirecting error by an "error_page" directive any 1290 *) Bugfix: after redirecting error by an "error_page" directive any
1268 ngx_http_rewrite_module directive returned this error code; bug 1291 ngx_http_rewrite_module directive returned this error code; the bug
1292 had appeared in 0.4.4.
1293
1294
1295 Changes with nginx 0.4.5 02 Oct 2006
1296
1297 *) Bugfix: nginx could not be built on Linux and Solaris; the bug had
1269 appeared in 0.4.4. 1298 appeared in 0.4.4.
1270
1271
1272 Changes with nginx 0.4.5 02 Oct 2006
1273
1274 *) Bugfix: nginx could not be built on Linux and Solaris; bug appeared
1275 in 0.4.4.
1276 1299
1277 1300
1278 Changes with nginx 0.4.4 02 Oct 2006 1301 Changes with nginx 0.4.4 02 Oct 2006
1279 1302
1280 *) Feature: the $scheme variable. 1303 *) Feature: the $scheme variable.
1305 1328
1306 *) Bugfix: a segmentation fault may occur while redirecting the 400 1329 *) Bugfix: a segmentation fault may occur while redirecting the 400
1307 error to the proxied server using a "proxy_pass" directive. 1330 error to the proxied server using a "proxy_pass" directive.
1308 1331
1309 *) Bugfix: a segmentation fault occurred if an unix domain socket was 1332 *) Bugfix: a segmentation fault occurred if an unix domain socket was
1310 used in a "proxy_pass" directive; bug appeared in 0.3.47. 1333 used in a "proxy_pass" directive; the bug had appeared in 0.3.47.
1311 1334
1312 *) Bugfix: SSI did work with memcached and nonbuffered responses. 1335 *) Bugfix: SSI did work with memcached and nonbuffered responses.
1313 1336
1314 *) Workaround: of the Sun Studio PAUSE hardware capability bug. 1337 *) Workaround: of the Sun Studio PAUSE hardware capability bug.
1315 1338
1316 1339
1317 Changes with nginx 0.4.2 14 Sep 2006 1340 Changes with nginx 0.4.2 14 Sep 2006
1318 1341
1319 *) Bugfix: the O_NOATIME flag support on Linux was canceled; bug 1342 *) Bugfix: the O_NOATIME flag support on Linux was canceled; the bug
1320 appeared in 0.4.1. 1343 had appeared in 0.4.1.
1321 1344
1322 1345
1323 Changes with nginx 0.4.1 14 Sep 2006 1346 Changes with nginx 0.4.1 14 Sep 2006
1324 1347
1325 *) Bugfix: the DragonFlyBSD compatibility. 1348 *) Bugfix: the DragonFlyBSD compatibility.
1349 1372
1350 *) Feature: the "ssi" directive is available inside the "if" block. 1373 *) Feature: the "ssi" directive is available inside the "if" block.
1351 1374
1352 *) Bugfix: a segmentation fault occurred if there was an "index" 1375 *) Bugfix: a segmentation fault occurred if there was an "index"
1353 directive with variables and the first index name was without 1376 directive with variables and the first index name was without
1354 variables; bug appeared in 0.1.29. 1377 variables; the bug had appeared in 0.1.29.
1355 1378
1356 1379
1357 Changes with nginx 0.3.61 28 Aug 2006 1380 Changes with nginx 0.3.61 28 Aug 2006
1358 1381
1359 *) Change: now the "tcp_nodelay" directive is turned on by default. 1382 *) Change: now the "tcp_nodelay" directive is turned on by default.
1367 1390
1368 1391
1369 Changes with nginx 0.3.60 18 Aug 2006 1392 Changes with nginx 0.3.60 18 Aug 2006
1370 1393
1371 *) Bugfix: a worker process may got caught in an endless loop while an 1394 *) Bugfix: a worker process may got caught in an endless loop while an
1372 error redirection; bug appeared in 0.3.59. 1395 error redirection; the bug had appeared in 0.3.59.
1373 1396
1374 1397
1375 Changes with nginx 0.3.59 16 Aug 2006 1398 Changes with nginx 0.3.59 16 Aug 2006
1376 1399
1377 *) Feature: now is possible to do several redirection using the 1400 *) Feature: now is possible to do several redirection using the
1379 1402
1380 *) Bugfix: the "dav_access" directive did not support three parameters. 1403 *) Bugfix: the "dav_access" directive did not support three parameters.
1381 1404
1382 *) Bugfix: the "error_page" directive did not changes the 1405 *) Bugfix: the "error_page" directive did not changes the
1383 "Content-Type" header line after the "X-Accel-Redirect" was used; 1406 "Content-Type" header line after the "X-Accel-Redirect" was used;
1384 bug appeared in 0.3.58. 1407 the bug had appeared in 0.3.58.
1385 1408
1386 1409
1387 Changes with nginx 0.3.58 14 Aug 2006 1410 Changes with nginx 0.3.58 14 Aug 2006
1388 1411
1389 *) Feature: the "error_page" directive supports the variables. 1412 *) Feature: the "error_page" directive supports the variables.
1447 *) Bugfix: a segmentation fault occurred if 1470 *) Bugfix: a segmentation fault occurred if
1448 "client_body_in_file_only on" was used and nginx switched to a next 1471 "client_body_in_file_only on" was used and nginx switched to a next
1449 upstream. 1472 upstream.
1450 1473
1451 *) Bugfix: on some condition while reconfiguration character codes 1474 *) Bugfix: on some condition while reconfiguration character codes
1452 inside the "charset_map" may be treated invalid; bug appeared in 1475 inside the "charset_map" may be treated invalid; the bug had
1453 0.3.50. 1476 appeared in 0.3.50.
1454 1477
1455 1478
1456 Changes with nginx 0.3.54 11 Jul 2006 1479 Changes with nginx 0.3.54 11 Jul 2006
1457 1480
1458 *) Feature: nginx now logs the subrequest information to the error log. 1481 *) Feature: nginx now logs the subrequest information to the error log.
1467 converted from UTF-8 or back, then it may be transferred incomplete. 1490 converted from UTF-8 or back, then it may be transferred incomplete.
1468 1491
1469 *) Bugfix: the $upstream_response_time variable had the time of the 1492 *) Bugfix: the $upstream_response_time variable had the time of the
1470 first request to a backend only. 1493 first request to a backend only.
1471 1494
1472 *) Bugfix: nginx could not be built on amd64 platform; bug appeared in 1495 *) Bugfix: nginx could not be built on amd64 platform; the bug had
1473 0.3.53. 1496 appeared in 0.3.53.
1474 1497
1475 1498
1476 Changes with nginx 0.3.53 07 Jul 2006 1499 Changes with nginx 0.3.53 07 Jul 2006
1477 1500
1478 *) Change: the "add_header" directive adds the string to 204, 301, and 1501 *) Change: the "add_header" directive adds the string to 204, 301, and
1501 *) Change: the ngx_http_index_module behavior for the "POST /" requests 1524 *) Change: the ngx_http_index_module behavior for the "POST /" requests
1502 is reverted to the 0.3.40 version state: the module now does not 1525 is reverted to the 0.3.40 version state: the module now does not
1503 return the 405 error. 1526 return the 405 error.
1504 1527
1505 *) Bugfix: the worker process may got caught in an endless loop if the 1528 *) Bugfix: the worker process may got caught in an endless loop if the
1506 limit rate was used; bug appeared in 0.3.37. 1529 limit rate was used; the bug had appeared in 0.3.37.
1507 1530
1508 *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even 1531 *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even
1509 if the recoding was not needed; bug appeared in 0.3.50. 1532 if the recoding was not needed; the bug had appeared in 0.3.50.
1510 1533
1511 *) Bugfix: if a code response of the PUT request was 409, then a 1534 *) Bugfix: if a code response of the PUT request was 409, then a
1512 temporary file was not removed. 1535 temporary file was not removed.
1513 1536
1514 1537
1515 Changes with nginx 0.3.51 30 Jun 2006 1538 Changes with nginx 0.3.51 30 Jun 2006
1516 1539
1517 *) Bugfix: the "<" symbols might disappeared some conditions in the 1540 *) Bugfix: the "<" symbols might disappeared some conditions in the
1518 SSI; bug appeared in 0.3.50. 1541 SSI; the bug had appeared in 0.3.50.
1519 1542
1520 1543
1521 Changes with nginx 0.3.50 28 Jun 2006 1544 Changes with nginx 0.3.50 28 Jun 2006
1522 1545
1523 *) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors" 1546 *) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors"
1558 "proxy_redirect default" directive add the unnecessary slash in 1581 "proxy_redirect default" directive add the unnecessary slash in
1559 start of the rewritten redirect. 1582 start of the rewritten redirect.
1560 1583
1561 *) Bugfix: the internal redirect always transform client's HTTP method 1584 *) Bugfix: the internal redirect always transform client's HTTP method
1562 to GET, now the transformation is made for the "X-Accel-Redirect" 1585 to GET, now the transformation is made for the "X-Accel-Redirect"
1563 redirects only and if the method is not HEAD; bug appeared in 0.3.42. 1586 redirects only and if the method is not HEAD; the bug had appeared
1587 in 0.3.42.
1564 1588
1565 *) Bugfix: the ngx_http_perl_module could not be built, if the perl was 1589 *) Bugfix: the ngx_http_perl_module could not be built, if the perl was
1566 built with the threads support; bug appeared in 0.3.46. 1590 built with the threads support; the bug had appeared in 0.3.46.
1567 1591
1568 1592
1569 Changes with nginx 0.3.47 23 May 2006 1593 Changes with nginx 0.3.47 23 May 2006
1570 1594
1571 *) Feature: the "upstream" directive. 1595 *) Feature: the "upstream" directive.
1675 expr='$name'" SSI-commands, then the "unknown variable" message is 1699 expr='$name'" SSI-commands, then the "unknown variable" message is
1676 not logged. 1700 not logged.
1677 1701
1678 *) Bugfix: the active connection counter increased on the exceeding of 1702 *) Bugfix: the active connection counter increased on the exceeding of
1679 the connection limit specified by the "worker_connections" 1703 the connection limit specified by the "worker_connections"
1680 directive; bug appeared in 0.2.0. 1704 directive; the bug had appeared in 0.2.0.
1681 1705
1682 *) Bugfix: the limit rate might not work on some condition; bug 1706 *) Bugfix: the limit rate might not work on some condition; the bug had
1683 appeared in 0.3.38. 1707 appeared in 0.3.38.
1684 1708
1685 1709
1686 Changes with nginx 0.3.38 14 Apr 2006 1710 Changes with nginx 0.3.38 14 Apr 2006
1687 1711
1751 1775
1752 1776
1753 Changes with nginx 0.3.35 22 Mar 2006 1777 Changes with nginx 0.3.35 22 Mar 2006
1754 1778
1755 *) Bugfix: the accept-filter and the TCP_DEFER_ACCEPT option were set 1779 *) Bugfix: the accept-filter and the TCP_DEFER_ACCEPT option were set
1756 for first "listen" directive only; bug appeared in 0.3.31. 1780 for first "listen" directive only; the bug had appeared in 0.3.31.
1757 1781
1758 *) Bugfix: in the "proxy_pass" directive without the URI part in a 1782 *) Bugfix: in the "proxy_pass" directive without the URI part in a
1759 subrequest. 1783 subrequest.
1760 1784
1761 1785
1776 1800
1777 1801
1778 Changes with nginx 0.3.32 11 Mar 2006 1802 Changes with nginx 0.3.32 11 Mar 2006
1779 1803
1780 *) Bugfix: the debug logging on startup and reconfiguration time was 1804 *) Bugfix: the debug logging on startup and reconfiguration time was
1781 removed; bug appeared in 0.3.31. 1805 removed; the bug had appeared in 0.3.31.
1782 1806
1783 1807
1784 Changes with nginx 0.3.31 10 Mar 2006 1808 Changes with nginx 0.3.31 10 Mar 2006
1785 1809
1786 *) Change: now nginx passes the malformed proxied backend responses. 1810 *) Change: now nginx passes the malformed proxied backend responses.
1794 bug. 1818 bug.
1795 Thanks to Andrei Nigmatulin. 1819 Thanks to Andrei Nigmatulin.
1796 1820
1797 *) Bugfix: if there were several "listen" directives listening one 1821 *) Bugfix: if there were several "listen" directives listening one
1798 various addresses inside one server, then server names like 1822 various addresses inside one server, then server names like
1799 "*.domain.tld" worked for first address only; bug appeared in 0.3.18. 1823 "*.domain.tld" worked for first address only; the bug had appeared
1824 in 0.3.18.
1800 1825
1801 *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive 1826 *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive
1802 and the request body was in temporarily file then the request was 1827 and the request body was in temporarily file then the request was
1803 not transferred. 1828 not transferred.
1804 1829
1812 1837
1813 *) Bugfix: the ngx_http_perl_module could not be build without the 1838 *) Bugfix: the ngx_http_perl_module could not be build without the
1814 ngx_http_ssi_filter_module. 1839 ngx_http_ssi_filter_module.
1815 1840
1816 *) Bugfix: nginx could not be built on i386 platform, if the PIC was 1841 *) Bugfix: nginx could not be built on i386 platform, if the PIC was
1817 used; bug appeared in 0.3.27. 1842 used; the bug had appeared in 0.3.27.
1818 1843
1819 1844
1820 Changes with nginx 0.3.29 20 Feb 2006 1845 Changes with nginx 0.3.29 20 Feb 2006
1821 1846
1822 *) Feature: now nginx uses less memory, if PHP in FastCGI mode sends 1847 *) Feature: now nginx uses less memory, if PHP in FastCGI mode sends
1888 1913
1889 1914
1890 Changes with nginx 0.3.25 01 Feb 2006 1915 Changes with nginx 0.3.25 01 Feb 2006
1891 1916
1892 *) Bugfix: the segmentation fault was occurred on start or while 1917 *) Bugfix: the segmentation fault was occurred on start or while
1893 reconfiguration if there was invalid configuration; bug appeared in 1918 reconfiguration if there was invalid configuration; the bug had
1894 0.3.24. 1919 appeared in 0.3.24.
1895 1920
1896 1921
1897 Changes with nginx 0.3.24 01 Feb 2006 1922 Changes with nginx 0.3.24 01 Feb 2006
1898 1923
1899 *) Workaround: for bug in FreeBSD kqueue. 1924 *) Workaround: for bug in FreeBSD kqueue.
1905 1930
1906 *) Bugfix: the first "proxy_redirect" directive was working inside one 1931 *) Bugfix: the first "proxy_redirect" directive was working inside one
1907 location. 1932 location.
1908 1933
1909 *) Bugfix: on 64-bit platforms segmentation fault may occurred on start 1934 *) Bugfix: on 64-bit platforms segmentation fault may occurred on start
1910 if the many names were used in the "server_name" directives; bug 1935 if the many names were used in the "server_name" directives; the bug
1911 appeared in 0.3.18. 1936 had appeared in 0.3.18.
1912 1937
1913 1938
1914 Changes with nginx 0.3.23 24 Jan 2006 1939 Changes with nginx 0.3.23 24 Jan 2006
1915 1940
1916 *) Feature: the "optimize_host_names" directive. 1941 *) Feature: the "optimize_host_names" directive.
1929 1954
1930 *) Feature: the method $r->query_string of ngx_http_perl_module was 1955 *) Feature: the method $r->query_string of ngx_http_perl_module was
1931 canceled. 1956 canceled.
1932 1957
1933 *) Bugfix: segmentation fault was occurred if the "none" or "blocked" 1958 *) Bugfix: segmentation fault was occurred if the "none" or "blocked"
1934 values was specified in the "valid_referers" directive; bug appeared 1959 values was specified in the "valid_referers" directive; the bug had
1935 in 0.3.18. 1960 appeared in 0.3.18.
1936 1961
1937 1962
1938 Changes with nginx 0.3.21 16 Jan 2006 1963 Changes with nginx 0.3.21 16 Jan 2006
1939 1964
1940 *) Feature: the ngx_http_perl_module. 1965 *) Feature: the ngx_http_perl_module.
1981 2006
1982 *) Bugfix: some ".domain.tld" names incorrectly processed by the 2007 *) Bugfix: some ".domain.tld" names incorrectly processed by the
1983 ngx_http_map_module. 2008 ngx_http_map_module.
1984 2009
1985 *) Bugfix: segmentation fault was occurred if configuration file did 2010 *) Bugfix: segmentation fault was occurred if configuration file did
1986 not exist; bug appeared in 0.3.12. 2011 not exist; the bug had appeared in 0.3.12.
1987 2012
1988 *) Bugfix: on 64-bit platforms segmentation fault may occurred on 2013 *) Bugfix: on 64-bit platforms segmentation fault may occurred on
1989 start; bug appeared in 0.3.16. 2014 start; the bug had appeared in 0.3.16.
1990 2015
1991 2016
1992 Changes with nginx 0.3.17 18 Dec 2005 2017 Changes with nginx 0.3.17 18 Dec 2005
1993 2018
1994 *) Change: now on Linux configure checks the presence of epoll and 2019 *) Change: now on Linux configure checks the presence of epoll and
1995 sendfile64() in kernel. 2020 sendfile64() in kernel.
1996 2021
1997 *) Feature: the "map" directive supports domain names in the 2022 *) Feature: the "map" directive supports domain names in the
1998 ".domain.tld" form. 2023 ".domain.tld" form.
1999 2024
2000 *) Bugfix: the timeouts were not used in SSL handshake; bug appeared in 2025 *) Bugfix: the timeouts were not used in SSL handshake; the bug had
2001 0.2.4. 2026 appeared in 0.2.4.
2002 2027
2003 *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive. 2028 *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
2004 2029
2005 *) Bugfix: when the HTTPS protocol was used in the "proxy_pass" 2030 *) Bugfix: when the HTTPS protocol was used in the "proxy_pass"
2006 directive the port 80 was used by default. 2031 directive the port 80 was used by default.
2022 Pentium 4. 2047 Pentium 4.
2023 2048
2024 *) Bugfix: the "config timefmt" SSI command set incorrect time format. 2049 *) Bugfix: the "config timefmt" SSI command set incorrect time format.
2025 2050
2026 *) Bugfix: nginx did not close connection to IMAP/POP3 backend for the 2051 *) Bugfix: nginx did not close connection to IMAP/POP3 backend for the
2027 SSL connections; bug appeared in 0.3.13. 2052 SSL connections; the bug had appeared in 0.3.13.
2028 Thanks to Rob Mueller. 2053 Thanks to Rob Mueller.
2029 2054
2030 *) Bugfix: segmentation fault may occurred in at SSL shutdown; bug 2055 *) Bugfix: segmentation fault may occurred in at SSL shutdown; the bug
2031 appeared in 0.3.13. 2056 had appeared in 0.3.13.
2032 2057
2033 2058
2034 Changes with nginx 0.3.15 07 Dec 2005 2059 Changes with nginx 0.3.15 07 Dec 2005
2035 2060
2036 *) Feature: the new 444 code of the "return" directive to close 2061 *) Feature: the new 444 code of the "return" directive to close
2042 only on gracefull quit and active "debug_points" directive. 2067 only on gracefull quit and active "debug_points" directive.
2043 2068
2044 2069
2045 Changes with nginx 0.3.14 05 Dec 2005 2070 Changes with nginx 0.3.14 05 Dec 2005
2046 2071
2047 *) Bugfix: in the 304 response the body was transferred; bug appeared 2072 *) Bugfix: in the 304 response the body was transferred; the bug had
2048 in 0.3.13. 2073 appeared in 0.3.13.
2049 2074
2050 2075
2051 Changes with nginx 0.3.13 05 Dec 2005 2076 Changes with nginx 0.3.13 05 Dec 2005
2052 2077
2053 *) Feature: the IMAP/POP3 proxy supports STARTTLS and STLS. 2078 *) Feature: the IMAP/POP3 proxy supports STARTTLS and STLS.
2059 2084
2060 *) Bugfix: now Solaris sendfilev() is not used to transfer the client 2085 *) Bugfix: now Solaris sendfilev() is not used to transfer the client
2061 request body to FastCGI-server via the unix domain socket. 2086 request body to FastCGI-server via the unix domain socket.
2062 2087
2063 *) Bugfix: the "auth_basic" directive did not disable the 2088 *) Bugfix: the "auth_basic" directive did not disable the
2064 authorization; bug appeared in 0.3.11. 2089 authorization; the bug had appeared in 0.3.11.
2065 2090
2066 2091
2067 Changes with nginx 0.3.12 26 Nov 2005 2092 Changes with nginx 0.3.12 26 Nov 2005
2068 2093
2069 *) Security: if nginx was built with the ngx_http_realip_module and the 2094 *) Security: if nginx was built with the ngx_http_realip_module and the
2080 *) Feature: the ngx_http_memcached_module. 2105 *) Feature: the ngx_http_memcached_module.
2081 2106
2082 *) Feature: the "proxy_buffering" directive. 2107 *) Feature: the "proxy_buffering" directive.
2083 2108
2084 *) Bugfix: the changes in accept mutex handling when the "rtsig" method 2109 *) Bugfix: the changes in accept mutex handling when the "rtsig" method
2085 was used; bug appeared in 0.3.0. 2110 was used; the bug had appeared in 0.3.0.
2086 2111
2087 *) Bugfix: if the client sent the "Transfer-Encoding: chunked" header 2112 *) Bugfix: if the client sent the "Transfer-Encoding: chunked" header
2088 line, then nginx returns the 411 error. 2113 line, then nginx returns the 411 error.
2089 2114
2090 *) Bugfix: if the "auth_basic" directive was inherited from the http 2115 *) Bugfix: if the "auth_basic" directive was inherited from the http
2091 level, then the realm in the "WWW-Authenticate" header line was 2116 level, then the realm in the "WWW-Authenticate" header line was
2092 without the "Basic realm" text. 2117 without the "Basic realm" text.
2093 2118
2094 *) Bugfix: if the "combined" format was explicitly specified in the 2119 *) Bugfix: if the "combined" format was explicitly specified in the
2095 "access_log" directive, then the empty lines was written to the log; 2120 "access_log" directive, then the empty lines was written to the log;
2096 bug appeared in 0.3.8. 2121 the bug had appeared in 0.3.8.
2097 2122
2098 *) Bugfix: nginx did not run on the sparc platform under any OS except 2123 *) Bugfix: nginx did not run on the sparc platform under any OS except
2099 Solaris. 2124 Solaris.
2100 2125
2101 *) Bugfix: now it is not necessary to place space between the quoted 2126 *) Bugfix: now it is not necessary to place space between the quoted
2103 2128
2104 2129
2105 Changes with nginx 0.3.11 15 Nov 2005 2130 Changes with nginx 0.3.11 15 Nov 2005
2106 2131
2107 *) Bugfix: nginx did not pass the client request headers and body while 2132 *) Bugfix: nginx did not pass the client request headers and body while
2108 proxying; bug appeared in 0.3.10. 2133 proxying; the bug had appeared in 0.3.10.
2109 2134
2110 2135
2111 Changes with nginx 0.3.10 15 Nov 2005 2136 Changes with nginx 0.3.10 15 Nov 2005
2112 2137
2113 *) Change: the "valid_referers" directive and the "$invalid_referer" 2138 *) Change: the "valid_referers" directive and the "$invalid_referer"
2142 2167
2143 2168
2144 Changes with nginx 0.3.9 10 Nov 2005 2169 Changes with nginx 0.3.9 10 Nov 2005
2145 2170
2146 *) Bugfix: nginx considered URI as unsafe if two any symbols was 2171 *) Bugfix: nginx considered URI as unsafe if two any symbols was
2147 between two slashes; bug appeared in 0.3.8. 2172 between two slashes; the bug had appeared in 0.3.8.
2148 2173
2149 2174
2150 Changes with nginx 0.3.8 09 Nov 2005 2175 Changes with nginx 0.3.8 09 Nov 2005
2151 2176
2152 *) Security: nginx now checks URI got from a backend in 2177 *) Security: nginx now checks URI got from a backend in
2182 *) Bugfix: the worker processes did not flush the buffered logs on 2207 *) Bugfix: the worker processes did not flush the buffered logs on
2183 graceful exit. 2208 graceful exit.
2184 2209
2185 *) Bugfix: if the request URI was changes by the "rewrite" directive 2210 *) Bugfix: if the request URI was changes by the "rewrite" directive
2186 and the request was proxied in location given by regular expression, 2211 and the request was proxied in location given by regular expression,
2187 then the incorrect request was transferred to backend; bug appeared 2212 then the incorrect request was transferred to backend; the bug had
2188 in 0.2.6. 2213 appeared in 0.2.6.
2189 2214
2190 *) Bugfix: the "expires" directive did not remove the previous 2215 *) Bugfix: the "expires" directive did not remove the previous
2191 "Expires" header. 2216 "Expires" header.
2192 2217
2193 *) Bugfix: nginx may stop to accept requests if the "rtsig" method and 2218 *) Bugfix: nginx may stop to accept requests if the "rtsig" method and
2204 Changes with nginx 0.3.7 27 Oct 2005 2229 Changes with nginx 0.3.7 27 Oct 2005
2205 2230
2206 *) Feature: the "access_log" supports the "buffer=" parameter. 2231 *) Feature: the "access_log" supports the "buffer=" parameter.
2207 2232
2208 *) Bugfix: nginx could not be built on platforms different from i386, 2233 *) Bugfix: nginx could not be built on platforms different from i386,
2209 amd64, sparc É ppc; bug appeared in 0.3.2. 2234 amd64, sparc É ppc; the bug had appeared in 0.3.2.
2210 2235
2211 2236
2212 Changes with nginx 0.3.6 24 Oct 2005 2237 Changes with nginx 0.3.6 24 Oct 2005
2213 2238
2214 *) Change: now the IMAP/POP3 proxy do not send the empty login to 2239 *) Change: now the IMAP/POP3 proxy do not send the empty login to
2215 authorization server. 2240 authorization server.
2216 2241
2217 *) Feature: the "log_format" supports the variables in the $name form. 2242 *) Feature: the "log_format" supports the variables in the $name form.
2218 2243
2219 *) Bugfix: if at least in one server was no the "listen" directive, 2244 *) Bugfix: if at least in one server was no the "listen" directive,
2220 then nginx did not listen on the 80 port; bug appeared in 0.3.3. 2245 then nginx did not listen on the 80 port; the bug had appeared in
2246 0.3.3.
2221 2247
2222 *) Bugfix: if the URI part is omitted in "proxy_pass" directive, the 2248 *) Bugfix: if the URI part is omitted in "proxy_pass" directive, the
2223 the 80 port was always used. 2249 the 80 port was always used.
2224 2250
2225 2251
2226 Changes with nginx 0.3.5 21 Oct 2005 2252 Changes with nginx 0.3.5 21 Oct 2005
2227 2253
2228 *) Bugfix: the segmentation fault may occurred if the IMAP/POP3 login 2254 *) Bugfix: the segmentation fault may occurred if the IMAP/POP3 login
2229 was changed by authorization server; bug appeared in 0.2.2. 2255 was changed by authorization server; the bug had appeared in 0.2.2.
2230 2256
2231 *) Bugfix: the accept mutex did not work and all connections were 2257 *) Bugfix: the accept mutex did not work and all connections were
2232 handled by one process; bug appeared in 0.3.3. 2258 handled by one process; the bug had appeared in 0.3.3.
2233 2259
2234 *) Bugfix: the timeout did not work if the "rtsig" method and the 2260 *) Bugfix: the timeout did not work if the "rtsig" method and the
2235 "timer_resolution" directive were used. 2261 "timer_resolution" directive were used.
2236 2262
2237 2263
2238 Changes with nginx 0.3.4 19 Oct 2005 2264 Changes with nginx 0.3.4 19 Oct 2005
2239 2265
2240 *) Bugfix: nginx could not be built on Linux 2.4+ and MacOS X; bug 2266 *) Bugfix: nginx could not be built on Linux 2.4+ and MacOS X; the bug
2241 appeared in 0.3.3. 2267 had appeared in 0.3.3.
2242 2268
2243 2269
2244 Changes with nginx 0.3.3 19 Oct 2005 2270 Changes with nginx 0.3.3 19 Oct 2005
2245 2271
2246 *) Change: the "bl" and "af" parameters of the "listen" directive was 2272 *) Change: the "bl" and "af" parameters of the "listen" directive was
2257 *) Bugfix: if the invalid address was specified in the "listen" 2283 *) Bugfix: if the invalid address was specified in the "listen"
2258 directive, then after the -HUP signal nginx left an open socket in 2284 directive, then after the -HUP signal nginx left an open socket in
2259 the CLOSED state. 2285 the CLOSED state.
2260 2286
2261 *) Bugfix: the mime type may be incorrectly set to default value for 2287 *) Bugfix: the mime type may be incorrectly set to default value for
2262 index file with variable in the name; bug appeared in 0.3.0. 2288 index file with variable in the name; the bug had appeared in 0.3.0.
2263 2289
2264 *) Feature: the "timer_resolution" directive. 2290 *) Feature: the "timer_resolution" directive.
2265 2291
2266 *) Feature: the millisecond "$upstream_response_time" log parameter. 2292 *) Feature: the millisecond "$upstream_response_time" log parameter.
2267 2293
2289 2315
2290 2316
2291 Changes with nginx 0.3.1 10 Oct 2005 2317 Changes with nginx 0.3.1 10 Oct 2005
2292 2318
2293 *) Bugfix: the segmentation fault occurred when the signal queue 2319 *) Bugfix: the segmentation fault occurred when the signal queue
2294 overflowed if the "rtsig" method was used; bug appeared in 0.2.0. 2320 overflowed if the "rtsig" method was used; the bug had appeared in
2321 0.2.0.
2295 2322
2296 *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in 2323 *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in
2297 SSI. 2324 SSI.
2298 2325
2299 2326
2323 again. 2350 again.
2324 2351
2325 *) Bugfix: if the "set" directive set the ngx_http_geo_module variable 2352 *) Bugfix: if the "set" directive set the ngx_http_geo_module variable
2326 in some configuration part, the this variable was not available in 2353 in some configuration part, the this variable was not available in
2327 other configuration parts and the "using uninitialized variable" 2354 other configuration parts and the "using uninitialized variable"
2328 error was occurred; bug appeared in 0.2.2. 2355 error was occurred; the bug had appeared in 0.2.2.
2329 2356
2330 2357
2331 Changes with nginx 0.2.5 04 Oct 2005 2358 Changes with nginx 0.2.5 04 Oct 2005
2332 2359
2333 *) Change: the duplicate value of the ngx_http_geo_module variable now 2360 *) Change: the duplicate value of the ngx_http_geo_module variable now
2345 Changes with nginx 0.2.4 03 Oct 2005 2372 Changes with nginx 0.2.4 03 Oct 2005
2346 2373
2347 *) Feature: the ngx_http_ssi_module supports "$var=text", "$var!=text", 2374 *) Feature: the ngx_http_ssi_module supports "$var=text", "$var!=text",
2348 "$var=/text/", and "$var!=/text/" expressions in the "if" command. 2375 "$var=/text/", and "$var!=/text/" expressions in the "if" command.
2349 2376
2350 *) Bugfix: in proxying location without trailing slash; bug appeared in 2377 *) Bugfix: in proxying location without trailing slash; the bug had
2351 0.1.44. 2378 appeared in 0.1.44.
2352 2379
2353 *) Bugfix: the segmentation fault may occurred if the "rtsig" method 2380 *) Bugfix: the segmentation fault may occurred if the "rtsig" method
2354 was used; bug appeared in 0.2.0. 2381 was used; the bug had appeared in 0.2.0.
2355 2382
2356 2383
2357 Changes with nginx 0.2.3 30 Sep 2005 2384 Changes with nginx 0.2.3 30 Sep 2005
2358 2385
2359 *) Bugfix: nginx could not be built without the --with-debug option; 2386 *) Bugfix: nginx could not be built without the --with-debug option;
2360 bug appeared in 0.2.2. 2387 the bug had appeared in 0.2.2.
2361 2388
2362 2389
2363 Changes with nginx 0.2.2 30 Sep 2005 2390 Changes with nginx 0.2.2 30 Sep 2005
2364 2391
2365 *) Feature: the "config errmsg" command of the ngx_http_ssi_module. 2392 *) Feature: the "config errmsg" command of the ngx_http_ssi_module.
2384 2411
2385 2412
2386 Changes with nginx 0.2.1 23 Sep 2005 2413 Changes with nginx 0.2.1 23 Sep 2005
2387 2414
2388 *) Bugfix: if all backend using in load-balancing failed after one 2415 *) Bugfix: if all backend using in load-balancing failed after one
2389 error, then nginx may got caught in an endless loop; bug appeared in 2416 error, then nginx may got caught in an endless loop; the bug had
2390 0.2.0. 2417 appeared in 0.2.0.
2391 2418
2392 2419
2393 Changes with nginx 0.2.0 23 Sep 2005 2420 Changes with nginx 0.2.0 23 Sep 2005
2394 2421
2395 *) The pid-file names used during online upgrade was changed and now is 2422 *) The pid-file names used during online upgrade was changed and now is
2463 to a server. 2490 to a server.
2464 2491
2465 *) Bugfix: the segmentation fault occurred or the worker process may 2492 *) Bugfix: the segmentation fault occurred or the worker process may
2466 got caught in an endless loop if the proxied or FastCGI server sent 2493 got caught in an endless loop if the proxied or FastCGI server sent
2467 the "Cache-Control" header line and the "expires" directive was 2494 the "Cache-Control" header line and the "expires" directive was
2468 used; in the proxied mode the bug appeared in 0.1.29. 2495 used; in the proxied mode the the bug had appeared in 0.1.29.
2469 2496
2470 2497
2471 Changes with nginx 0.1.42 23 Aug 2005 2498 Changes with nginx 0.1.42 23 Aug 2005
2472 2499
2473 *) Bugfix: if the request URI had a zero length after the processing in 2500 *) Bugfix: if the request URI had a zero length after the processing in
2474 the ngx_http_proxy_module, then the segmentation fault or bus error 2501 the ngx_http_proxy_module, then the segmentation fault or bus error
2475 occurred in the ngx_http_proxy_module. 2502 occurred in the ngx_http_proxy_module.
2476 2503
2477 *) Bugfix: the "limit_rate" directive did not work inside the "if" 2504 *) Bugfix: the "limit_rate" directive did not work inside the "if"
2478 block; bug appeared in 0.1.38. 2505 block; the bug had appeared in 0.1.38.
2479 2506
2480 2507
2481 Changes with nginx 0.1.41 25 Jul 2005 2508 Changes with nginx 0.1.41 25 Jul 2005
2482 2509
2483 *) Bugfix: if the variable was used in the configuration file, then it 2510 *) Bugfix: if the variable was used in the configuration file, then it
2488 2515
2489 *) Bugfix: if a client sent too long header line, then the request 2516 *) Bugfix: if a client sent too long header line, then the request
2490 information did not logged in the error log. 2517 information did not logged in the error log.
2491 2518
2492 *) Bugfix: the "Set-Cookie" header line was not transferred when the 2519 *) Bugfix: the "Set-Cookie" header line was not transferred when the
2493 "X-Accel-Redirect" was used; bug appeared in 0.1.39. 2520 "X-Accel-Redirect" was used; the bug had appeared in 0.1.39.
2494 2521
2495 *) Bugfix: the "Content-Disposition" header line was not transferred 2522 *) Bugfix: the "Content-Disposition" header line was not transferred
2496 when the "X-Accel-Redirect" was used. 2523 when the "X-Accel-Redirect" was used.
2497 2524
2498 *) Bugfix: the master process did not close the listen socket on the 2525 *) Bugfix: the master process did not close the listen socket on the
2510 2537
2511 *) Bugfix: the backend "WWW-Authenticate" header line did not 2538 *) Bugfix: the backend "WWW-Authenticate" header line did not
2512 transferred while the 401 response code redirecting. 2539 transferred while the 401 response code redirecting.
2513 2540
2514 *) Bugfix: the ngx_http_proxy_module and ngx_http_fastcgi_module may 2541 *) Bugfix: the ngx_http_proxy_module and ngx_http_fastcgi_module may
2515 close a connection before anything was transferred to a client; bug 2542 close a connection before anything was transferred to a client; the
2516 appeared in 0.1.38. 2543 bug had appeared in 0.1.38.
2517 2544
2518 *) Workaround: the Linux glibc crypt_r() initialization bug. 2545 *) Workaround: the Linux glibc crypt_r() initialization bug.
2519 2546
2520 *) Bugfix: the ngx_http_ssi_module did not support the relative URI in 2547 *) Bugfix: the ngx_http_ssi_module did not support the relative URI in
2521 the "include virtual" command. 2548 the "include virtual" command.
2522 2549
2523 *) Bugfix: if the backend response had the "Location" header line and 2550 *) Bugfix: if the backend response had the "Location" header line and
2524 nginx should not rewrite this line, then the 500 code response body 2551 nginx should not rewrite this line, then the 500 code response body
2525 was transferred; bug appeared in 0.1.29. 2552 was transferred; the bug had appeared in 0.1.29.
2526 2553
2527 *) Bugfix: some directives of the ngx_http_proxy_module and 2554 *) Bugfix: some directives of the ngx_http_proxy_module and
2528 ngx_http_fastcgi_module were not inherited from the server to the 2555 ngx_http_fastcgi_module were not inherited from the server to the
2529 location level; bug appeared in 0.1.29. 2556 location level; the bug had appeared in 0.1.29.
2530 2557
2531 *) Bugfix: the ngx_http_ssl_module did not support the certificate 2558 *) Bugfix: the ngx_http_ssl_module did not support the certificate
2532 chain. 2559 chain.
2533 2560
2534 *) Bugfix: the ngx_http_autoindex_module did not show correctly the 2561 *) Bugfix: the ngx_http_autoindex_module did not show correctly the
2535 long file names; bug appeared in 0.1.38. 2562 long file names; the bug had appeared in 0.1.38.
2536 2563
2537 *) Bugfixes in IMAP/POP3 proxy in interaction with a backend at the 2564 *) Bugfixes in IMAP/POP3 proxy in interaction with a backend at the
2538 login state. 2565 login state.
2539 2566
2540 2567
2558 2585
2559 *) Bugfix: the segmentation fault may occurred if the SSI page has more 2586 *) Bugfix: the segmentation fault may occurred if the SSI page has more
2560 than one remote subrequest. 2587 than one remote subrequest.
2561 2588
2562 *) Bugfix: nginx treated the backend response as invalid if the status 2589 *) Bugfix: nginx treated the backend response as invalid if the status
2563 line in the header was transferred in two packets; bug appeared in 2590 line in the header was transferred in two packets; the bug had
2564 0.1.29. 2591 appeared in 0.1.29.
2565 2592
2566 *) Feature: the "ssi_types" directive. 2593 *) Feature: the "ssi_types" directive.
2567 2594
2568 *) Feature: the "autoindex_exact_size" directive. 2595 *) Feature: the "autoindex_exact_size" directive.
2569 2596
2613 *) Feature: the "working_directory" directive. 2640 *) Feature: the "working_directory" directive.
2614 2641
2615 *) Feature: the "port_in_redirect" directive. 2642 *) Feature: the "port_in_redirect" directive.
2616 2643
2617 *) Bugfix: the segmentation fault was occurred if the backend response 2644 *) Bugfix: the segmentation fault was occurred if the backend response
2618 header was in several packets; bug appeared in 0.1.29. 2645 header was in several packets; the bug had appeared in 0.1.29.
2619 2646
2620 *) Bugfix: if more than 10 servers were configured or some server did 2647 *) Bugfix: if more than 10 servers were configured or some server did
2621 not use the "listen" directive, then the segmentation fault was 2648 not use the "listen" directive, then the segmentation fault was
2622 occurred on the start. 2649 occurred on the start.
2623 2650
2624 *) Bugfix: the segmentation fault might occur if the response was 2651 *) Bugfix: the segmentation fault might occur if the response was
2625 bigger than the temporary file. 2652 bigger than the temporary file.
2626 2653
2627 *) Bugfix: nginx returned the 400 response on requests like 2654 *) Bugfix: nginx returned the 400 response on requests like
2628 "GET http://www.domain.com/uri HTTP/1.0"; bug appeared in 0.1.28. 2655 "GET http://www.domain.com/uri HTTP/1.0"; the bug had appeared in
2656 0.1.28.
2629 2657
2630 2658
2631 Changes with nginx 0.1.34 26 May 2005 2659 Changes with nginx 0.1.34 26 May 2005
2632 2660
2633 *) Bugfix: the worker process may got caught in an endless loop if the 2661 *) Bugfix: the worker process may got caught in an endless loop if the
2643 2671
2644 2672
2645 Changes with nginx 0.1.33 23 May 2005 2673 Changes with nginx 0.1.33 23 May 2005
2646 2674
2647 *) Bugfix: nginx could not be built with the --without-pcre parameter; 2675 *) Bugfix: nginx could not be built with the --without-pcre parameter;
2648 bug appeared in 0.1.29. 2676 the bug had appeared in 0.1.29.
2649 2677
2650 *) Bugfix: 3, 4, 7, and 8 the "proxy_set_header" directives in one 2678 *) Bugfix: 3, 4, 7, and 8 the "proxy_set_header" directives in one
2651 level cause the bus fault on start up. 2679 level cause the bus fault on start up.
2652 2680
2653 *) Bugfix: the HTTP protocol was specified in the HTTPS redirects. 2681 *) Bugfix: the HTTP protocol was specified in the HTTPS redirects.
2657 2685
2658 2686
2659 Changes with nginx 0.1.32 19 May 2005 2687 Changes with nginx 0.1.32 19 May 2005
2660 2688
2661 *) Bugfix: the arguments were omitted in the redirects, issued by the 2689 *) Bugfix: the arguments were omitted in the redirects, issued by the
2662 "rewrite" directive; bug appeared in 0.1.29. 2690 "rewrite" directive; the bug had appeared in 0.1.29.
2663 2691
2664 *) Feature: the "if" directive supports the captures in regular 2692 *) Feature: the "if" directive supports the captures in regular
2665 expressions. 2693 expressions.
2666 2694
2667 *) Feature: the "set" directive supports the variables and the captures 2695 *) Feature: the "set" directive supports the variables and the captures
2678 *) Bugfix: errors while processing FastCGI response by SSI. 2706 *) Bugfix: errors while processing FastCGI response by SSI.
2679 2707
2680 *) Bugfix: errors while using SSI and gzipping. 2708 *) Bugfix: errors while using SSI and gzipping.
2681 2709
2682 *) Bugfix: the redirect with the 301 code was transferred without 2710 *) Bugfix: the redirect with the 301 code was transferred without
2683 response body; bug appeared in 0.1.30. 2711 response body; the bug had appeared in 0.1.30.
2684 2712
2685 2713
2686 Changes with nginx 0.1.30 14 May 2005 2714 Changes with nginx 0.1.30 14 May 2005
2687 2715
2688 *) Bugfix: the worker process may got caught in an endless loop if the 2716 *) Bugfix: the worker process may got caught in an endless loop if the
2690 2718
2691 *) Bugfix: the response encrypted by SSL may not transferred complete. 2719 *) Bugfix: the response encrypted by SSL may not transferred complete.
2692 2720
2693 *) Bugfix: if the length of the response part received at once from 2721 *) Bugfix: if the length of the response part received at once from
2694 proxied or FastCGI server was equal to 500, then nginx returns the 2722 proxied or FastCGI server was equal to 500, then nginx returns the
2695 500 response code; in proxy mode the bug appeared in 0.1.29 only. 2723 500 response code; in proxy mode the the bug had appeared in 0.1.29
2724 only.
2696 2725
2697 *) Bugfix: nginx did not consider the directives with 8 or 9 parameters 2726 *) Bugfix: nginx did not consider the directives with 8 or 9 parameters
2698 as invalid. 2727 as invalid.
2699 2728
2700 *) Feature: the "return" directive can return the 204 response code. 2729 *) Feature: the "return" directive can return the 204 response code.
2769 *) Bugfix: if the backend did not transfer response for a long time and 2798 *) Bugfix: if the backend did not transfer response for a long time and
2770 the "send_timeout" was less than "proxy_read_timeout", then nginx 2799 the "send_timeout" was less than "proxy_read_timeout", then nginx
2771 returned the 408 response. 2800 returned the 408 response.
2772 2801
2773 *) Bugfix: the segmentation fault was occurred if the backend sent an 2802 *) Bugfix: the segmentation fault was occurred if the backend sent an
2774 invalid line in response header; bug appeared in 0.1.26. 2803 invalid line in response header; the bug had appeared in 0.1.26.
2775 2804
2776 *) Bugfix: the segmentation fault may occurred in FastCGI fault 2805 *) Bugfix: the segmentation fault may occurred in FastCGI fault
2777 tolerance configuration. 2806 tolerance configuration.
2778 2807
2779 *) Bugfix: the "expires" directive did not remove the previous 2808 *) Bugfix: the "expires" directive did not remove the previous
2889 *) Feature: if the request has no the "Host" header line, then the 2918 *) Feature: if the request has no the "Host" header line, then the
2890 "proxy_preserve_host" directive set this header line to the first 2919 "proxy_preserve_host" directive set this header line to the first
2891 server name of the "server_name" directive. 2920 server name of the "server_name" directive.
2892 2921
2893 *) Bugfix: nginx could not be built on platforms different from i386, 2922 *) Bugfix: nginx could not be built on platforms different from i386,
2894 amd64, sparc É ppc; bug appeared in 0.1.22. 2923 amd64, sparc É ppc; the bug had appeared in 0.1.22.
2895 2924
2896 *) Bugfix: the ngx_http_autoindex_module now shows the information not 2925 *) Bugfix: the ngx_http_autoindex_module now shows the information not
2897 about the symlink, but about file or directory it points to. 2926 about the symlink, but about file or directory it points to.
2898 2927
2899 *) Bugfix: the %apache_length parameter logged the negative length of 2928 *) Bugfix: the %apache_length parameter logged the negative length of
2904 2933
2905 *) Bugfix: the ngx_http_stub_status_module showed incorrect handled 2934 *) Bugfix: the ngx_http_stub_status_module showed incorrect handled
2906 connections statistics if the proxying or FastCGI server were used. 2935 connections statistics if the proxying or FastCGI server were used.
2907 2936
2908 *) Bugfix: the installation paths were incorrectly quoted on Linux and 2937 *) Bugfix: the installation paths were incorrectly quoted on Linux and
2909 Solaris; bug appeared in 0.1.21. 2938 Solaris; the bug had appeared in 0.1.21.
2910 2939
2911 2940
2912 Changes with nginx 0.1.21 22 Feb 2005 2941 Changes with nginx 0.1.21 22 Feb 2005
2913 2942
2914 *) Bugfix: the ngx_http_stub_status_module showed incorrect statistics 2943 *) Bugfix: the ngx_http_stub_status_module showed incorrect statistics
2989 *) Bugfix: if the proxy_pass or fastcgi_pass directives were set in the 3018 *) Bugfix: if the proxy_pass or fastcgi_pass directives were set in the
2990 location, and access was denied, and the error was redirected to a 3019 location, and access was denied, and the error was redirected to a
2991 static page, then the segmentation fault occurred. 3020 static page, then the segmentation fault occurred.
2992 3021
2993 *) Bugfix: if in a proxied "Location" header was a relative URL, then a 3022 *) Bugfix: if in a proxied "Location" header was a relative URL, then a
2994 host name and a slash were added to them; bug appeared in 0.1.14. 3023 host name and a slash were added to them; the bug had appeared in
3024 0.1.14.
2995 3025
2996 *) Bugfix: the system error message was not logged on Linux. 3026 *) Bugfix: the system error message was not logged on Linux.
2997 3027
2998 3028
2999 Changes with nginx 0.1.16 25 Jan 2005 3029 Changes with nginx 0.1.16 25 Jan 2005
3014 options, are not used for the unix domain sockets. 3044 options, are not used for the unix domain sockets.
3015 3045
3016 *) Feature: the rewrite directive supports the arguments rewriting. 3046 *) Feature: the rewrite directive supports the arguments rewriting.
3017 3047
3018 *) Bugfix: the response code 400 was returned for the POST request with 3048 *) Bugfix: the response code 400 was returned for the POST request with
3019 the "Content-Length: 0" header; bug appeared in 0.1.14. 3049 the "Content-Length: 0" header; the bug had appeared in 0.1.14.
3020 3050
3021 3051
3022 Changes with nginx 0.1.15 19 Jan 2005 3052 Changes with nginx 0.1.15 19 Jan 2005
3023 3053
3024 *) Bugfix: the error while the connecting to the FastCGI server caused 3054 *) Bugfix: the error while the connecting to the FastCGI server caused
3035 3065
3036 *) Bugfix: the ngx_http_rewrite_module module was required to be built 3066 *) Bugfix: the ngx_http_rewrite_module module was required to be built
3037 to use the regular expressions in locations. 3067 to use the regular expressions in locations.
3038 3068
3039 *) Bugfix: the directive "proxy_preserve_host on" adds port 80 to the 3069 *) Bugfix: the directive "proxy_preserve_host on" adds port 80 to the
3040 "Host" headers, if upstream listen on port 80; bug appeared in 3070 "Host" headers, if upstream listen on port 80; the bug had appeared
3041 0.1.14. 3071 in 0.1.14.
3042 3072
3043 *) Bugfix: the same paths in autoconfiguration parameters 3073 *) Bugfix: the same paths in autoconfiguration parameters
3044 --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH, 3074 --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH,
3045 or --http-client-body-temp-path=PATH and 3075 or --http-client-body-temp-path=PATH and
3046 --http-fastcgi-temp-path=PATH caused segmentation fault. 3076 --http-fastcgi-temp-path=PATH caused segmentation fault.
3062 fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers, 3092 fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers,
3063 fastcgi_busy_buffers_size, fastcgi_temp_path, 3093 fastcgi_busy_buffers_size, fastcgi_temp_path,
3064 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size, 3094 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
3065 fastcgi_next_upstream, and fastcgi_x_powered_by. 3095 fastcgi_next_upstream, and fastcgi_x_powered_by.
3066 3096
3067 *) Bugfix: the "[alert] zero size buf" error; bug appeared in 0.1.3. 3097 *) Bugfix: the "[alert] zero size buf" error; the bug had appeared in
3098 0.1.3.
3068 3099
3069 *) Change: the URI must be specified after the host name in the 3100 *) Change: the URI must be specified after the host name in the
3070 proxy_pass directive. 3101 proxy_pass directive.
3071 3102
3072 *) Change: the %3F symbol in the URI was considered as the argument 3103 *) Change: the %3F symbol in the URI was considered as the argument
3147 3178
3148 Changes with nginx 0.1.10 26 Nov 2004 3179 Changes with nginx 0.1.10 26 Nov 2004
3149 3180
3150 *) Bugfix: if the request without arguments contains "//", "/./", 3181 *) Bugfix: if the request without arguments contains "//", "/./",
3151 "/../" or "%XX" then the lost character in the request line was 3182 "/../" or "%XX" then the lost character in the request line was
3152 lost; bug appeared in 0.1.9. 3183 lost; the bug had appeared in 0.1.9.
3153 3184
3154 *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did 3185 *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did
3155 not work. 3186 not work.
3156 3187
3157 3188
3165 3196
3166 *) Bugfix: the files bigger than 2G was not transferred on Linux that 3197 *) Bugfix: the files bigger than 2G was not transferred on Linux that
3167 does not support sendfile64(). 3198 does not support sendfile64().
3168 3199
3169 *) Bugfix: while the build configuration on Linux the 3200 *) Bugfix: while the build configuration on Linux the
3170 --with-poll_module parameter was required; bug appeared in 0.1.8. 3201 --with-poll_module parameter was required; the bug had appeared in
3202 0.1.8.
3171 3203
3172 3204
3173 Changes with nginx 0.1.8 20 Nov 2004 3205 Changes with nginx 0.1.8 20 Nov 2004
3174 3206
3175 *) Bugfix: in the ngx_http_autoindex_module if the long file names were 3207 *) Bugfix: in the ngx_http_autoindex_module if the long file names were
3181 3213
3182 3214
3183 Changes with nginx 0.1.7 12 Nov 2004 3215 Changes with nginx 0.1.7 12 Nov 2004
3184 3216
3185 *) Bugfix: on FreeBSD the segmentation fault may occur if the size of 3217 *) Bugfix: on FreeBSD the segmentation fault may occur if the size of
3186 the transferred file was changed; bug appeared in 0.1.5. 3218 the transferred file was changed; the bug had appeared in 0.1.5.
3187 3219
3188 3220
3189 Changes with nginx 0.1.6 11 Nov 2004 3221 Changes with nginx 0.1.6 11 Nov 2004
3190 3222
3191 *) Bugfix: some location directive combinations with the regular 3223 *) Bugfix: some location directive combinations with the regular
3240 *) Feature: the server_name directive supports *.domain.tld. 3272 *) Feature: the server_name directive supports *.domain.tld.
3241 3273
3242 *) Bugfix: the portability improvements. 3274 *) Bugfix: the portability improvements.
3243 3275
3244 *) Bugfix: if configuration file was set in command line, the 3276 *) Bugfix: if configuration file was set in command line, the
3245 reconfiguration was impossible; bug appeared in 0.1.1. 3277 reconfiguration was impossible; the bug had appeared in 0.1.1.
3246 3278
3247 *) Bugfix: proxy module may get caught in an endless loop when sendfile 3279 *) Bugfix: proxy module may get caught in an endless loop when sendfile
3248 is not used. 3280 is not used.
3249 3281
3250 *) Bugfix: with sendfile the response was not recoded according to the 3282 *) Bugfix: with sendfile the response was not recoded according to the
3251 charset module directives; bug appeared in 0.1.1. 3283 charset module directives; the bug had appeared in 0.1.1.
3252 3284
3253 *) Bugfix: very seldom bug in the kqueue processing. 3285 *) Bugfix: very seldom bug in the kqueue processing.
3254 3286
3255 *) Bugfix: the gzip module compressed the proxied responses that was 3287 *) Bugfix: the gzip module compressed the proxied responses that was
3256 already compressed. 3288 already compressed.