comparison CHANGES @ 376:d13234035cad NGINX_0_6_32

nginx 0.6.32 *) Change: the "none" parameter in the "ssl_session_cache" directive; now this is default parameter. Thanks to Rob Mueller. *) Change: now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX in an access_log. Thanks to Maxim Dounin. *) Change: now nginx allows several "Host" request header line. *) Feature: the "modified" flag in the "expires" directive. *) Feature: the $uid_got and $uid_set variables may be used at any request processing stage. *) Feature: the $hostname variable. Thanks to Andrei Nigmatulin. *) Feature: DESTDIR support. Thanks to Todd A. Fisher and Andras Voroskoi. *) Bugfix: if sub_filter and SSI were used together, then responses might were transferred incorrectly. *) Bugfix: large SSI inclusions might be truncated. *) Bugfix: the "proxy_pass" directive did not work with the HTTPS protocol; the bug had appeared in 0.6.9. *) Bugfix: worker processes might not catch reconfiguration and log rotation signals. *) Bugfix: nginx could not be built on latest Fedora 9 Linux. Thanks to Roxis. *) Bugfix: a segmentation fault might occur in worker process on Linux, if keepalive was enabled.
author Igor Sysoev <http://sysoev.ru>
date Mon, 07 Jul 2008 00:00:00 +0400
parents 67fa3851697b
children fc497c1dfb7c
comparison
equal deleted inserted replaced
375:52f3c9c7eff0 376:d13234035cad
1
2 Changes with nginx 0.6.32 07 Jul 2008
3
4 *) Change: the "none" parameter in the "ssl_session_cache" directive;
5 now this is default parameter.
6 Thanks to Rob Mueller.
7
8 *) Change: now the 0x00-0x1F, '"' and '\' characters are escaped as
9 \xXX in an access_log.
10 Thanks to Maxim Dounin.
11
12 *) Change: now nginx allows several "Host" request header line.
13
14 *) Feature: the "modified" flag in the "expires" directive.
15
16 *) Feature: the $uid_got and $uid_set variables may be used at any
17 request processing stage.
18
19 *) Feature: the $hostname variable.
20 Thanks to Andrei Nigmatulin.
21
22 *) Feature: DESTDIR support.
23 Thanks to Todd A. Fisher and Andras Voroskoi.
24
25 *) Bugfix: if sub_filter and SSI were used together, then responses
26 might were transferred incorrectly.
27
28 *) Bugfix: large SSI inclusions might be truncated.
29
30 *) Bugfix: the "proxy_pass" directive did not work with the HTTPS
31 protocol; the bug had appeared in 0.6.9.
32
33 *) Bugfix: worker processes might not catch reconfiguration and log
34 rotation signals.
35
36 *) Bugfix: nginx could not be built on latest Fedora 9 Linux.
37 Thanks to Roxis.
38
39 *) Bugfix: a segmentation fault might occur in worker process on Linux,
40 if keepalive was enabled.
41
1 42
2 Changes with nginx 0.6.31 12 May 2008 43 Changes with nginx 0.6.31 12 May 2008
3 44
4 *) Bugfix: nginx did not process FastCGI response if header was at the 45 *) Bugfix: nginx did not process FastCGI response if header was at the
5 end of FastCGI record; bug appeared in 0.6.2. 46 end of FastCGI record; the bug had appeared in 0.6.2.
6 Thanks to Sergey Serov. 47 Thanks to Sergey Serov.
7 48
8 *) Bugfix: a segmentation fault might occur in worker process if a file 49 *) Bugfix: a segmentation fault might occur in worker process if a file
9 was deleted and the "open_file_cache_errors" directive was off. 50 was deleted and the "open_file_cache_errors" directive was off.
10 51
26 *) Bugfix: the "error_page" directive did not take into account 67 *) Bugfix: the "error_page" directive did not take into account
27 arguments in redirected URI. 68 arguments in redirected URI.
28 69
29 *) Bugfix: now nginx always opens files in binary mode under Cygwin. 70 *) Bugfix: now nginx always opens files in binary mode under Cygwin.
30 71
31 *) Bugfix: nginx could not be built on OpenBSD; bug appeared in 0.6.15. 72 *) Bugfix: nginx could not be built on OpenBSD; the bug had appeared in
73 0.6.15.
32 74
33 75
34 Changes with nginx 0.6.29 18 Mar 2008 76 Changes with nginx 0.6.29 18 Mar 2008
35 77
36 *) Feature: the ngx_google_perftools_module. 78 *) Feature: the ngx_google_perftools_module.
37 79
38 *) Bugfix: the ngx_http_perl_module could not be built on 64-bit 80 *) Bugfix: the ngx_http_perl_module could not be built on 64-bit
39 platforms; bug appeared in 0.6.27. 81 platforms; the bug had appeared in 0.6.27.
40 82
41 83
42 Changes with nginx 0.6.28 13 Mar 2008 84 Changes with nginx 0.6.28 13 Mar 2008
43 85
44 *) Bugfix: the rtsig method could not be built; bug appeared in 0.6.27. 86 *) Bugfix: the rtsig method could not be built; the bug had appeared in
87 0.6.27.
45 88
46 89
47 Changes with nginx 0.6.27 12 Mar 2008 90 Changes with nginx 0.6.27 12 Mar 2008
48 91
49 *) Change: now by default the rtsig method is not built on 92 *) Change: now by default the rtsig method is not built on
111 154
112 *) Bugfix: socket leak in HTTPS mode if deferred accept was used. 155 *) Bugfix: socket leak in HTTPS mode if deferred accept was used.
113 Thanks to Ben Maurer. 156 Thanks to Ben Maurer.
114 157
115 *) Bugfix: nginx issued the bogus error message "SSL_shutdown() failed 158 *) Bugfix: nginx issued the bogus error message "SSL_shutdown() failed
116 (SSL: )"; bug appeared in 0.6.23. 159 (SSL: )"; the bug had appeared in 0.6.23.
117 160
118 *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" 161 *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
119 error; bug appeared in 0.6.23. 162 error; the bug had appeared in 0.6.23.
120 163
121 164
122 Changes with nginx 0.6.25 08 Jan 2008 165 Changes with nginx 0.6.25 08 Jan 2008
123 166
124 *) Change: now the "server_name_in_redirect" directive is used instead 167 *) Change: now the "server_name_in_redirect" directive is used instead
136 *) Feature: the "min_delete_depth" directive. 179 *) Feature: the "min_delete_depth" directive.
137 180
138 *) Bugfix: the COPY and MOVE methods did not work with single files. 181 *) Bugfix: the COPY and MOVE methods did not work with single files.
139 182
140 *) Bugfix: the ngx_http_gzip_static_module did not allow the 183 *) Bugfix: the ngx_http_gzip_static_module did not allow the
141 ngx_http_dav_module to work; bug appeared in 0.6.23. 184 ngx_http_dav_module to work; the bug had appeared in 0.6.23.
142 185
143 *) Bugfix: socket leak in HTTPS mode if deferred accept was used. 186 *) Bugfix: socket leak in HTTPS mode if deferred accept was used.
144 Thanks to Ben Maurer. 187 Thanks to Ben Maurer.
145 188
146 *) Bugfix: nginx could not be built without PCRE library; bug appeared 189 *) Bugfix: nginx could not be built without PCRE library; the bug had
147 in 0.6.23. 190 appeared in 0.6.23.
148 191
149 192
150 Changes with nginx 0.6.24 27 Dec 2007 193 Changes with nginx 0.6.24 27 Dec 2007
151 194
152 *) Bugfix: a segmentation fault might occur in worker process if HTTPS 195 *) Bugfix: a segmentation fault might occur in worker process if HTTPS
153 was used; bug appeared in 0.6.23. 196 was used; the bug had appeared in 0.6.23.
154 197
155 198
156 Changes with nginx 0.6.23 27 Dec 2007 199 Changes with nginx 0.6.23 27 Dec 2007
157 200
158 *) Change: the "off" parameter in the "ssl_session_cache" directive; 201 *) Change: the "off" parameter in the "ssl_session_cache" directive;
188 231
189 *) Bugfix: the STARTTLS in SMTP mode did not work. 232 *) Bugfix: the STARTTLS in SMTP mode did not work.
190 Thanks to Oleg Motienko. 233 Thanks to Oleg Motienko.
191 234
192 *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" 235 *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
193 error; bug appeared in 0.5.13. 236 error; the bug had appeared in 0.5.13.
194 237
195 238
196 Changes with nginx 0.6.22 19 Dec 2007 239 Changes with nginx 0.6.22 19 Dec 2007
197 240
198 *) Change: now all ngx_http_perl_module methods return values copied to 241 *) Change: now all ngx_http_perl_module methods return values copied to
199 perl's allocated memory. 242 perl's allocated memory.
200 243
201 *) Bugfix: if nginx was built with ngx_http_perl_module, the perl 244 *) Bugfix: if nginx was built with ngx_http_perl_module, the perl
202 before 5.8.6 was used, and perl supported threads, then during 245 before 5.8.6 was used, and perl supported threads, then during
203 reconfiguration the master process aborted; bug appeared in 246 reconfiguration the master process aborted; the bug had appeared in
204 0.5.9. 247 0.5.9.
205 Thanks to Boris Zhmurov. 248 Thanks to Boris Zhmurov.
206 249
207 *) Bugfix: the ngx_http_perl_module methods may get invalid values of 250 *) Bugfix: the ngx_http_perl_module methods may get invalid values of
208 the regex captures. 251 the regex captures.
214 *) Bugfix: large_client_header_buffers did not freed before going to 257 *) Bugfix: large_client_header_buffers did not freed before going to
215 keep-alive state. 258 keep-alive state.
216 Thanks to Olexander Shtepa. 259 Thanks to Olexander Shtepa.
217 260
218 *) Bugfix: the last address was missed in the $upstream_addr variable; 261 *) Bugfix: the last address was missed in the $upstream_addr variable;
219 bug appeared in 0.6.18. 262 the bug had appeared in 0.6.18.
220 263
221 *) Bugfix: the "fastcgi_catch_stderr" directive did return error code; 264 *) Bugfix: the "fastcgi_catch_stderr" directive did return error code;
222 now it returns 502 code, that can be rerouted to a next server using 265 now it returns 502 code, that can be rerouted to a next server using
223 the "fastcgi_next_upstream invalid_header" directive. 266 the "fastcgi_next_upstream invalid_header" directive.
224 267
225 *) Bugfix: a segmentation fault occurred in master process if the 268 *) Bugfix: a segmentation fault occurred in master process if the
226 "fastcgi_catch_stderr" directive was used; bug appeared in 269 "fastcgi_catch_stderr" directive was used; the bug had appeared in
227 0.6.10. 270 0.6.10.
228 Thanks to Manlio Perillo. 271 Thanks to Manlio Perillo.
229 272
230 273
231 Changes with nginx 0.6.21 03 Dec 2007 274 Changes with nginx 0.6.21 03 Dec 2007
233 *) Change: if variable values used in a "proxy_pass" directive contain 276 *) Change: if variable values used in a "proxy_pass" directive contain
234 IP-addresses only, then a "resolver" directive is not mandatory. 277 IP-addresses only, then a "resolver" directive is not mandatory.
235 resolver 278 resolver
236 279
237 *) Bugfix: a segmentation fault might occur in worker process if a 280 *) Bugfix: a segmentation fault might occur in worker process if a
238 "proxy_pass" directive with URI-part was used; bug appeared in 281 "proxy_pass" directive with URI-part was used; the bug had appeared
239 0.6.19. 282 in 0.6.19.
240 283
241 *) Bugfix: if resolver was used on platform that does not support 284 *) Bugfix: if resolver was used on platform that does not support
242 kqueue, then nginx issued an alert "name is out of response". 285 kqueue, then nginx issued an alert "name is out of response".
243 Thanks to Andrei Nigmatulin. 286 Thanks to Andrei Nigmatulin.
244 287
252 295
253 296
254 Changes with nginx 0.6.20 28 Nov 2007 297 Changes with nginx 0.6.20 28 Nov 2007
255 298
256 *) Bugfix: a segmentation fault might occur in worker process if a 299 *) Bugfix: a segmentation fault might occur in worker process if a
257 "proxy_pass" directive with URI-part was used; bug appeared in 300 "proxy_pass" directive with URI-part was used; the bug had appeared
258 0.6.19. 301 in 0.6.19.
259 302
260 303
261 Changes with nginx 0.6.19 27 Nov 2007 304 Changes with nginx 0.6.19 27 Nov 2007
262 305
263 *) Bugfix: the 0.6.18 version could not be built. 306 *) Bugfix: the 0.6.18 version could not be built.
286 329
287 *) Feature: the "If-Range" request header line support. 330 *) Feature: the "If-Range" request header line support.
288 Thanks to Alexander V. Inyukhin. 331 Thanks to Alexander V. Inyukhin.
289 332
290 *) Bugfix: URL double escaping in a redirect of the "msie_refresh" 333 *) Bugfix: URL double escaping in a redirect of the "msie_refresh"
291 directive; bug appeared in 0.6.4. 334 directive; the bug had appeared in 0.6.4.
292 335
293 *) Bugfix: the "autoindex" directive did not work with the "alias /" 336 *) Bugfix: the "autoindex" directive did not work with the "alias /"
294 directive. 337 directive.
295 338
296 *) Bugfix: a segmentation fault might occur in worker process if 339 *) Bugfix: a segmentation fault might occur in worker process if
307 350
308 *) Change: now the uname(2) is used on Linux instead of procfs. 351 *) Change: now the uname(2) is used on Linux instead of procfs.
309 Thanks to Ilya Novikov. 352 Thanks to Ilya Novikov.
310 353
311 *) Bugfix: if the "?" character was in a "error_page" directive, then 354 *) Bugfix: if the "?" character was in a "error_page" directive, then
312 it was escaped in a proxied request; bug appeared in 0.6.11. 355 it was escaped in a proxied request; the bug had appeared in 0.6.11.
313 356
314 *) Bugfix: compatibility with mget. 357 *) Bugfix: compatibility with mget.
315 358
316 359
317 Changes with nginx 0.6.15 22 Oct 2007 360 Changes with nginx 0.6.15 22 Oct 2007
335 "GET http://www.domain.com HTTP/1.0". 378 "GET http://www.domain.com HTTP/1.0".
336 Thanks to James Oakley. 379 Thanks to James Oakley.
337 380
338 *) Bugfix: if request with request body was redirected using the 381 *) Bugfix: if request with request body was redirected using the
339 "error_page" directive, then nginx tried to read the request body 382 "error_page" directive, then nginx tried to read the request body
340 again; bug appeared in 0.6.7. 383 again; the bug had appeared in 0.6.7.
341 384
342 *) Bugfix: a segmentation fault occurred in worker process if no 385 *) Bugfix: a segmentation fault occurred in worker process if no
343 server_name was explicitly defined for server processing request; 386 server_name was explicitly defined for server processing request;
344 bug appeared in 0.6.7. 387 the bug had appeared in 0.6.7.
345 388
346 389
347 Changes with nginx 0.6.14 15 Oct 2007 390 Changes with nginx 0.6.14 15 Oct 2007
348 391
349 *) Change: now by default the "echo" SSI command uses entity encoding. 392 *) Change: now by default the "echo" SSI command uses entity encoding.
352 395
353 *) Feature: the "access_log" directive may be used inside the 396 *) Feature: the "access_log" directive may be used inside the
354 "limit_except" block. 397 "limit_except" block.
355 398
356 *) Bugfix: if all upstream servers were failed, then all servers had 399 *) Bugfix: if all upstream servers were failed, then all servers had
357 got weight the was equal one until servers became alive; bug 400 got weight the was equal one until servers became alive; the bug had
358 appeared in 0.6.6. 401 appeared in 0.6.6.
359 402
360 *) Bugfix: a segmentation fault occurred in worker process if 403 *) Bugfix: a segmentation fault occurred in worker process if
361 $date_local and $date_gmt were used outside the 404 $date_local and $date_gmt were used outside the
362 ngx_http_ssi_filter_module. 405 ngx_http_ssi_filter_module.
371 414
372 *) Bugfix: a worker process may got caught in an endless loop, if the 415 *) Bugfix: a worker process may got caught in an endless loop, if the
373 memcached was used. 416 memcached was used.
374 417
375 *) Bugfix: nginx supported low case only "close" and "keep-alive" 418 *) Bugfix: nginx supported low case only "close" and "keep-alive"
376 values in the "Connection" request header line; bug appeared in 419 values in the "Connection" request header line; the bug had appeared
377 0.6.11. 420 in 0.6.11.
378 421
379 *) Bugfix: sub_filter did not work with empty substitution. 422 *) Bugfix: sub_filter did not work with empty substitution.
380 423
381 *) Bugfix: in sub_filter parsing. 424 *) Bugfix: in sub_filter parsing.
382 425
396 and --without-mail_smtp_module configuration parameters. 439 and --without-mail_smtp_module configuration parameters.
397 440
398 *) Feature: the "smtp_greeting_delay" and "smtp_client_buffer" 441 *) Feature: the "smtp_greeting_delay" and "smtp_client_buffer"
399 directives of the ngx_mail_smtp_module. 442 directives of the ngx_mail_smtp_module.
400 443
401 *) Bugfix: the trailing wildcards did not work; bug appeared in 0.6.9. 444 *) Bugfix: the trailing wildcards did not work; the bug had appeared in
445 0.6.9.
402 446
403 *) Bugfix: nginx could not start on Solaris if the shared PCRE library 447 *) Bugfix: nginx could not start on Solaris if the shared PCRE library
404 located in non-standard place was used. 448 located in non-standard place was used.
405 449
406 *) Bugfix: the "proxy_hide_header" and "fastcgi_hide_header" directives 450 *) Bugfix: the "proxy_hide_header" and "fastcgi_hide_header" directives
419 463
420 *) Bugfix: nginx did not support several "Connection" request header 464 *) Bugfix: nginx did not support several "Connection" request header
421 lines. 465 lines.
422 466
423 *) Bugfix: if the "max_fails" was set for upstream server, then after 467 *) Bugfix: if the "max_fails" was set for upstream server, then after
424 first failure server weight was always one; bug appeared in 0.6.6. 468 first failure server weight was always one; the bug had appeared in
469 0.6.6.
425 470
426 471
427 Changes with nginx 0.6.10 03 Sep 2007 472 Changes with nginx 0.6.10 03 Sep 2007
428 473
429 *) Feature: the "open_file_cache", "open_file_cache_retest", and 474 *) Feature: the "open_file_cache", "open_file_cache_retest", and
430 "open_file_cache_errors" directives. 475 "open_file_cache_errors" directives.
431 476
432 *) Bugfix: socket leak; bug appeared in 0.6.7. 477 *) Bugfix: socket leak; the bug had appeared in 0.6.7.
433 478
434 *) Bugfix: a charset set by the "charset" directive was not appended to 479 *) Bugfix: a charset set by the "charset" directive was not appended to
435 the "Content-Type" header set by $r->send_http_header(). 480 the "Content-Type" header set by $r->send_http_header().
436 481
437 *) Bugfix: a segmentation fault might occur in worker process if 482 *) Bugfix: a segmentation fault might occur in worker process if
439 484
440 485
441 Changes with nginx 0.6.9 28 Aug 2007 486 Changes with nginx 0.6.9 28 Aug 2007
442 487
443 *) Bugfix: a worker process may got caught in an endless loop, if the 488 *) Bugfix: a worker process may got caught in an endless loop, if the
444 HTTPS protocol was used; bug appeared in 0.6.7. 489 HTTPS protocol was used; the bug had appeared in 0.6.7.
445 490
446 *) Bugfix: if server listened on two addresses or ports and trailing 491 *) Bugfix: if server listened on two addresses or ports and trailing
447 wildcard was used, then nginx did not run. 492 wildcard was used, then nginx did not run.
448 493
449 *) Bugfix: the "ip_hash" directive might incorrectly mark servers as 494 *) Bugfix: the "ip_hash" directive might incorrectly mark servers as
450 down. 495 down.
451 496
452 *) Bugfix: nginx could not be built on amd64; bug appeared in 0.6.8. 497 *) Bugfix: nginx could not be built on amd64; the bug had appeared in
498 0.6.8.
453 499
454 500
455 Changes with nginx 0.6.8 20 Aug 2007 501 Changes with nginx 0.6.8 20 Aug 2007
456 502
457 *) Change: now nginx tries to set the "worker_priority", 503 *) Change: now nginx tries to set the "worker_priority",
462 authentication server. 508 authentication server.
463 509
464 *) Change: now nginx escapes "%" in $memcached_key variable. 510 *) Change: now nginx escapes "%" in $memcached_key variable.
465 511
466 *) Bugfix: nginx used path relative to configuration prefix for 512 *) Bugfix: nginx used path relative to configuration prefix for
467 non-absolute configuration file path specified in the "-c" key; bug 513 non-absolute configuration file path specified in the "-c" key; the
468 appeared in 0.6.6. 514 bug had appeared in 0.6.6.
469 515
470 *) Bugfix: nginx did not work on FreeBSD/sparc64. 516 *) Bugfix: nginx did not work on FreeBSD/sparc64.
471 517
472 518
473 Changes with nginx 0.6.7 15 Aug 2007 519 Changes with nginx 0.6.7 15 Aug 2007
505 *) Bugfix: now nginx uses default listen backlog value 511 on all 551 *) Bugfix: now nginx uses default listen backlog value 511 on all
506 platforms except FreeBSD. 552 platforms except FreeBSD.
507 Thanks to Jiang Hong. 553 Thanks to Jiang Hong.
508 554
509 *) Bugfix: a worker process may got caught in an endless loop, if a 555 *) Bugfix: a worker process may got caught in an endless loop, if a
510 "server" inside "upstream" block was marked as "down"; bug appeared 556 "server" inside "upstream" block was marked as "down"; the bug had
511 in 0.6.6. 557 appeared in 0.6.6.
512 558
513 *) Bugfix: now Solaris sendfilev() is not used to transfer the client 559 *) Bugfix: now Solaris sendfilev() is not used to transfer the client
514 request body to FastCGI-server via the unix domain socket. 560 request body to FastCGI-server via the unix domain socket.
515 561
516 562
531 577
532 *) Bugfix: if the same host without specified port was used as backend 578 *) Bugfix: if the same host without specified port was used as backend
533 for HTTP and HTTPS, then nginx used only one port - 80 or 443. 579 for HTTP and HTTPS, then nginx used only one port - 80 or 443.
534 580
535 *) Bugfix: fix building on Solaris/amd64 by Sun Studio 11 and early 581 *) Bugfix: fix building on Solaris/amd64 by Sun Studio 11 and early
536 versions; bug appeared in 0.6.4. 582 versions; the bug had appeared in 0.6.4.
537 583
538 584
539 Changes with nginx 0.6.5 23 Jul 2007 585 Changes with nginx 0.6.5 23 Jul 2007
540 586
541 *) Feature: $nginx_version variable. 587 *) Feature: $nginx_version variable.
592 638
593 *) Bugfix: a segmentation fault might occur in worker process if the 639 *) Bugfix: a segmentation fault might occur in worker process if the
594 eventport method was used. 640 eventport method was used.
595 641
596 *) Bugfix: the "proxy_ignore_client_abort" and 642 *) Bugfix: the "proxy_ignore_client_abort" and
597 "fastcgi_ignore_client_abort" directives did not work; bug appeared 643 "fastcgi_ignore_client_abort" directives did not work; the bug had
598 in 0.5.13. 644 appeared in 0.5.13.
599 645
600 646
601 Changes with nginx 0.6.2 09 Jul 2007 647 Changes with nginx 0.6.2 09 Jul 2007
602 648
603 *) Bugfix: if the FastCGI header was split in records, then nginx 649 *) Bugfix: if the FastCGI header was split in records, then nginx
625 671
626 672
627 Changes with nginx 0.5.25 11 Jun 2007 673 Changes with nginx 0.5.25 11 Jun 2007
628 674
629 *) Bugfix: nginx could not be built with the 675 *) Bugfix: nginx could not be built with the
630 --without-http_rewrite_module parameter; bug appeared in 0.5.24. 676 --without-http_rewrite_module parameter; the bug had appeared in
677 0.5.24.
631 678
632 679
633 Changes with nginx 0.5.24 06 Jun 2007 680 Changes with nginx 0.5.24 06 Jun 2007
634 681
635 *) Security: the "ssl_verify_client" directive did not work if request 682 *) Security: the "ssl_verify_client" directive did not work if request
636 was made using HTTP/0.9. 683 was made using HTTP/0.9.
637 684
638 *) Bugfix: a part of response body might be passed uncompressed if gzip 685 *) Bugfix: a part of response body might be passed uncompressed if gzip
639 was used; bug appeared in 0.5.23. 686 was used; the bug had appeared in 0.5.23.
640 687
641 688
642 Changes with nginx 0.5.23 04 Jun 2007 689 Changes with nginx 0.5.23 04 Jun 2007
643 690
644 *) Feature: the ngx_http_ssl_module supports Server Name Indication TLS 691 *) Feature: the ngx_http_ssl_module supports Server Name Indication TLS
657 *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive. 704 *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
658 705
659 706
660 Changes with nginx 0.5.22 29 May 2007 707 Changes with nginx 0.5.22 29 May 2007
661 708
662 *) Bugfix: a big request body might not be passed to backend; bug 709 *) Bugfix: a big request body might not be passed to backend; the bug
663 appeared in 0.5.21. 710 had appeared in 0.5.21.
664 711
665 712
666 Changes with nginx 0.5.21 28 May 2007 713 Changes with nginx 0.5.21 28 May 2007
667 714
668 *) Bugfix: if server has more than about ten locations, then regex 715 *) Bugfix: if server has more than about ten locations, then regex
731 *) Feature: now the $upstream_status and $upstream_response_time 778 *) Feature: now the $upstream_status and $upstream_response_time
732 variables keep data about all upstreams before X-Accel-Redirect. 779 variables keep data about all upstreams before X-Accel-Redirect.
733 780
734 *) Bugfix: a segmentation fault occurred in master process after first 781 *) Bugfix: a segmentation fault occurred in master process after first
735 reconfiguration and receiving any signal if nginx was built with 782 reconfiguration and receiving any signal if nginx was built with
736 ngx_http_perl_module and perl did not support multiplicity; bug 783 ngx_http_perl_module and perl did not support multiplicity; the bug
737 appeared in 0.5.9. 784 had appeared in 0.5.9.
738 785
739 *) Bugfix: if perl did not support multiplicity, then after 786 *) Bugfix: if perl did not support multiplicity, then after
740 reconfiguration perl code did not work; bug appeared in 0.3.38. 787 reconfiguration perl code did not work; the bug had appeared in
788 0.3.38.
741 789
742 790
743 Changes with nginx 0.5.17 02 Apr 2007 791 Changes with nginx 0.5.17 02 Apr 2007
744 792
745 *) Change: now nginx always returns the 405 status for the TRACE method. 793 *) Change: now nginx always returns the 405 status for the TRACE method.
762 "ip_hash" directive. 810 "ip_hash" directive.
763 Thanks to Pavel Yarkovoy. 811 Thanks to Pavel Yarkovoy.
764 812
765 *) Bugfix: a segmentation fault might occur in worker process if a 813 *) Bugfix: a segmentation fault might occur in worker process if a
766 charset was set in the "Content-Type" header line and the line has 814 charset was set in the "Content-Type" header line and the line has
767 trailing ";"; bug appeared in 0.3.50. 815 trailing ";"; the bug had appeared in 0.3.50.
768 816
769 *) Bugfix: the "[alert] zero size buf" error when FastCGI server was 817 *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
770 used and a request body written in a temporary file was multiple of 818 used and a request body written in a temporary file was multiple of
771 32K. 819 32K.
772 820
773 *) Bugfix: nginx could not be built on Solaris without the --with-debug 821 *) Bugfix: nginx could not be built on Solaris without the --with-debug
774 option; bug appeared in 0.5.15. 822 option; the bug had appeared in 0.5.15.
775 823
776 824
777 Changes with nginx 0.5.15 19 Mar 2007 825 Changes with nginx 0.5.15 19 Mar 2007
778 826
779 *) Feature: the mail proxy supports authenticated SMTP proxying and the 827 *) Feature: the mail proxy supports authenticated SMTP proxying and the
825 *) Bugfix: if the "epoll" method was used and a client closed a 873 *) Bugfix: if the "epoll" method was used and a client closed a
826 connection prematurely, then nginx closed the connection after a 874 connection prematurely, then nginx closed the connection after a
827 send timeout only. 875 send timeout only.
828 876
829 *) Bugfix: nginx could not be built on platforms different from i386, 877 *) Bugfix: nginx could not be built on platforms different from i386,
830 amd64, sparc and ppc; bug appeared in 0.5.8. 878 amd64, sparc, and ppc; the bug had appeared in 0.5.8.
831 879
832 880
833 Changes with nginx 0.5.12 12 Feb 2007 881 Changes with nginx 0.5.12 12 Feb 2007
834 882
835 *) Bugfix: nginx could not be built on platforms different from i386, 883 *) Bugfix: nginx could not be built on platforms different from i386,
836 amd64, sparc É ppc; bug appeared in 0.5.8. 884 amd64, sparc, and ppc; the bug had appeared in 0.5.8.
837 885
838 *) Bugfix: a segmentation fault might occur in worker process if the 886 *) Bugfix: a segmentation fault might occur in worker process if the
839 temporarily files were used while working with FastCGI server; bug 887 temporarily files were used while working with FastCGI server; the
840 appeared in 0.5.8. 888 bug had appeared in 0.5.8.
841 889
842 *) Bugfix: a segmentation fault might occur in worker process if the 890 *) Bugfix: a segmentation fault might occur in worker process if the
843 $fastcgi_script_name variable was logged. 891 $fastcgi_script_name variable was logged.
844 892
845 *) Bugfix: ngx_http_perl_module could not be built on Solaris. 893 *) Bugfix: ngx_http_perl_module could not be built on Solaris.
849 897
850 *) Feature: now configure detects system PCRE library in MacPorts. 898 *) Feature: now configure detects system PCRE library in MacPorts.
851 Thanks to Chris McGrath. 899 Thanks to Chris McGrath.
852 900
853 *) Bugfix: the response was incorrect if several ranges were requested; 901 *) Bugfix: the response was incorrect if several ranges were requested;
854 bug appeared in 0.5.6. 902 the bug had appeared in 0.5.6.
855 903
856 *) Bugfix: the "create_full_put_path" directive could not create the 904 *) Bugfix: the "create_full_put_path" directive could not create the
857 intermediate directories if no "dav_access" directive was set. 905 intermediate directories if no "dav_access" directive was set.
858 Thanks to Evan Miller. 906 Thanks to Evan Miller.
859 907
865 913
866 914
867 Changes with nginx 0.5.10 26 Jan 2007 915 Changes with nginx 0.5.10 26 Jan 2007
868 916
869 *) Bugfix: while online executable file upgrade the new master process 917 *) Bugfix: while online executable file upgrade the new master process
870 did not inherit the listening sockets; bug appeared in 0.5.9. 918 did not inherit the listening sockets; the bug had appeared in 0.5.9.
871 919
872 *) Bugfix: a segmentation fault might occur in worker process if nginx 920 *) Bugfix: a segmentation fault might occur in worker process if nginx
873 was built with -O2 optimization; bug appeared in 0.5.1. 921 was built with -O2 optimization; the bug had appeared in 0.5.1.
874 922
875 923
876 Changes with nginx 0.5.9 25 Jan 2007 924 Changes with nginx 0.5.9 25 Jan 2007
877 925
878 *) Change: now the ngx_http_memcached_module uses the $memcached_key 926 *) Change: now the ngx_http_memcached_module uses the $memcached_key
904 "fastcgi_pass_request_body off" directives were used, and nginx 952 "fastcgi_pass_request_body off" directives were used, and nginx
905 switched to a next upstream. 953 switched to a next upstream.
906 954
907 *) Bugfix: if the "proxy_buffering off" directive was used and a client 955 *) Bugfix: if the "proxy_buffering off" directive was used and a client
908 connection was non-active, then the connection was closed after send 956 connection was non-active, then the connection was closed after send
909 timeout; bug appeared in 0.4.7. 957 timeout; the bug had appeared in 0.4.7.
910 958
911 *) Bugfix: if the "epoll" method was used and a client closed a 959 *) Bugfix: if the "epoll" method was used and a client closed a
912 connection prematurely, then nginx closed the connection after a 960 connection prematurely, then nginx closed the connection after a
913 send timeout only. 961 send timeout only.
914 962
985 1033
986 *) Bugfix: if one only parameter was used in the "dav_access" 1034 *) Bugfix: if one only parameter was used in the "dav_access"
987 directive, then nginx might report about configuration error. 1035 directive, then nginx might report about configuration error.
988 1036
989 *) Bugfix: a segmentation fault might occur if the $host variable was 1037 *) Bugfix: a segmentation fault might occur if the $host variable was
990 used; bug appeared in 0.4.14. 1038 used; the bug had appeared in 0.4.14.
991 1039
992 1040
993 Changes with nginx 0.5.3 13 Dec 2006 1041 Changes with nginx 0.5.3 13 Dec 2006
994 1042
995 *) Feature: the ngx_http_perl_module supports the $r->status, 1043 *) Feature: the ngx_http_perl_module supports the $r->status,
1002 1050
1003 1051
1004 Changes with nginx 0.5.2 11 Dec 2006 1052 Changes with nginx 0.5.2 11 Dec 2006
1005 1053
1006 *) Bugfix: if the "proxy_pass" directive used the name of the 1054 *) Bugfix: if the "proxy_pass" directive used the name of the
1007 "upstream" block, then nginx tried to resolve the name; bug appeared 1055 "upstream" block, then nginx tried to resolve the name; the bug had
1008 in 0.5.1. 1056 appeared in 0.5.1.
1009 1057
1010 1058
1011 Changes with nginx 0.5.1 11 Dec 2006 1059 Changes with nginx 0.5.1 11 Dec 2006
1012 1060
1013 *) Bugfix: the "post_action" directive might not run after a 1061 *) Bugfix: the "post_action" directive might not run after a
1014 unsuccessful completion of a request. 1062 unsuccessful completion of a request.
1015 1063
1016 *) Workaround: for Eudora for Mac; bug appeared in 0.4.11. 1064 *) Workaround: for Eudora for Mac; the bug had appeared in 0.4.11.
1017 Thanks to Bron Gondwana. 1065 Thanks to Bron Gondwana.
1018 1066
1019 *) Bugfix: if the "upstream" name was used in the "fastcgi_pass", then 1067 *) Bugfix: if the "upstream" name was used in the "fastcgi_pass", then
1020 the message "no port in upstream" was issued; bug appeared in 0.5.0. 1068 the message "no port in upstream" was issued; the bug had appeared
1069 in 0.5.0.
1021 1070
1022 *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the 1071 *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the
1023 same servers but different ports, then these directives uses the 1072 same servers but different ports, then these directives uses the
1024 first described port; bug appeared in 0.5.0. 1073 first described port; the bug had appeared in 0.5.0.
1025 1074
1026 *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the 1075 *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the
1027 unix domain sockets, then these directives used first described 1076 unix domain sockets, then these directives used first described
1028 socket; bug appeared in 0.5.0. 1077 socket; the bug had appeared in 0.5.0.
1029 1078
1030 *) Bugfix: ngx_http_auth_basic_module ignored the user if it was in the 1079 *) Bugfix: ngx_http_auth_basic_module ignored the user if it was in the
1031 last line in the password file and there was no the carriage return, 1080 last line in the password file and there was no the carriage return,
1032 the line feed, or the ":" symbol after the password. 1081 the line feed, or the ":" symbol after the password.
1033 1082
1052 *) Feature: the "ip_hash" directive inside the "upstream" block. 1101 *) Feature: the "ip_hash" directive inside the "upstream" block.
1053 1102
1054 *) Feature: the WAIT status in the "Auth-Status" header line of the 1103 *) Feature: the WAIT status in the "Auth-Status" header line of the
1055 IMAP/POP3 proxy authentication server response. 1104 IMAP/POP3 proxy authentication server response.
1056 1105
1057 *) Bugfix: nginx could not be built on 64-bit platforms; bug appeared 1106 *) Bugfix: nginx could not be built on 64-bit platforms; the bug had
1058 in 0.4.14. 1107 appeared in 0.4.14.
1059 1108
1060 1109
1061 Changes with nginx 0.4.14 27 Nov 2006 1110 Changes with nginx 0.4.14 27 Nov 2006
1062 1111
1063 *) Feature: the "proxy_pass_error_message" directive in IMAP/POP3 proxy. 1112 *) Feature: the "proxy_pass_error_message" directive in IMAP/POP3 proxy.
1064 1113
1065 *) Feature: now configure detects system PCRE library on FreeBSD, 1114 *) Feature: now configure detects system PCRE library on FreeBSD,
1066 Linux, and NetBSD. 1115 Linux, and NetBSD.
1067 1116
1068 *) Bugfix: ngx_http_perl_module did not work with perl built with the 1117 *) Bugfix: ngx_http_perl_module did not work with perl built with the
1069 threads support; bug appeared in 0.3.38. 1118 threads support; the bug had appeared in 0.3.38.
1070 1119
1071 *) Bugfix: ngx_http_perl_module did not work if perl was called 1120 *) Bugfix: ngx_http_perl_module did not work if perl was called
1072 recursively. 1121 recursively.
1073 1122
1074 *) Bugfix: nginx ignored a host name in a request line. 1123 *) Bugfix: nginx ignored a host name in a request line.
1099 1148
1100 *) Bugfix: a large request body did not receive if the epoll method and 1149 *) Bugfix: a large request body did not receive if the epoll method and
1101 the deferred accept() were used. 1150 the deferred accept() were used.
1102 1151
1103 *) Bugfix: a charset could not be set for ngx_http_autoindex_module 1152 *) Bugfix: a charset could not be set for ngx_http_autoindex_module
1104 responses; bug appeared in 0.3.50. 1153 responses; the bug had appeared in 0.3.50.
1105 1154
1106 *) Bugfix: the "[alert] zero size buf" error when FastCGI server was 1155 *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
1107 used; 1156 used;
1108 1157
1109 *) Bugfix: the --group= configuration parameter was ignored. 1158 *) Bugfix: the --group= configuration parameter was ignored.
1110 Thanks to Thomas Moschny. 1159 Thanks to Thomas Moschny.
1111 1160
1112 *) Bugfix: the 50th subrequest in SSI response did not work; bug 1161 *) Bugfix: the 50th subrequest in SSI response did not work; the bug
1113 appeared in 0.3.50. 1162 had appeared in 0.3.50.
1114 1163
1115 1164
1116 Changes with nginx 0.4.12 31 Oct 2006 1165 Changes with nginx 0.4.12 31 Oct 2006
1117 1166
1118 *) Feature: the ngx_http_perl_module supports the $r->variable method. 1167 *) Feature: the ngx_http_perl_module supports the $r->variable method.
1129 1178
1130 *) Feature: the ngx_http_perl_module supports the $r->allow_ranges 1179 *) Feature: the ngx_http_perl_module supports the $r->allow_ranges
1131 method. 1180 method.
1132 1181
1133 *) Bugfix: if the APOP was enabled in the POP3 proxy, then the 1182 *) Bugfix: if the APOP was enabled in the POP3 proxy, then the
1134 USER/PASS commands might not work; bug appeared in 0.4.10. 1183 USER/PASS commands might not work; the bug had appeared in 0.4.10.
1135 1184
1136 1185
1137 Changes with nginx 0.4.10 23 Oct 2006 1186 Changes with nginx 0.4.10 23 Oct 2006
1138 1187
1139 *) Feature: the POP3 proxy supports the APOP command. 1188 *) Feature: the POP3 proxy supports the APOP command.
1144 1193
1145 *) Bugfix: a segmentation fault might occur if the $server_addr 1194 *) Bugfix: a segmentation fault might occur if the $server_addr
1146 variable was used in the "map" directive. 1195 variable was used in the "map" directive.
1147 1196
1148 *) Bugfix: the ngx_http_flv_module did not support the byte ranges for 1197 *) Bugfix: the ngx_http_flv_module did not support the byte ranges for
1149 full responses; bug appeared in 0.4.7. 1198 full responses; the bug had appeared in 0.4.7.
1150 1199
1151 *) Bugfix: nginx could not be built on Debian amd64; bug appeared in 1200 *) Bugfix: nginx could not be built on Debian amd64; the bug had
1152 0.4.9. 1201 appeared in 0.4.9.
1153 1202
1154 1203
1155 Changes with nginx 0.4.9 13 Oct 2006 1204 Changes with nginx 0.4.9 13 Oct 2006
1156 1205
1157 *) Feature: the "set" parameter in the "include" SSI command. 1206 *) Feature: the "set" parameter in the "include" SSI command.
1200 *) Bugfix: nginx sent the chunked response for HTTP/1.1 request, 1249 *) Bugfix: nginx sent the chunked response for HTTP/1.1 request,
1201 if its length was set by text string in the 1250 if its length was set by text string in the
1202 $r->headers_out("Content-Length", ...) method. 1251 $r->headers_out("Content-Length", ...) method.
1203 1252
1204 *) Bugfix: after redirecting error by an "error_page" directive any 1253 *) Bugfix: after redirecting error by an "error_page" directive any
1205 ngx_http_rewrite_module directive returned this error code; bug 1254 ngx_http_rewrite_module directive returned this error code; the bug
1255 had appeared in 0.4.4.
1256
1257
1258 Changes with nginx 0.4.5 02 Oct 2006
1259
1260 *) Bugfix: nginx could not be built on Linux and Solaris; the bug had
1206 appeared in 0.4.4. 1261 appeared in 0.4.4.
1207
1208
1209 Changes with nginx 0.4.5 02 Oct 2006
1210
1211 *) Bugfix: nginx could not be built on Linux and Solaris; bug appeared
1212 in 0.4.4.
1213 1262
1214 1263
1215 Changes with nginx 0.4.4 02 Oct 2006 1264 Changes with nginx 0.4.4 02 Oct 2006
1216 1265
1217 *) Feature: the $scheme variable. 1266 *) Feature: the $scheme variable.
1242 1291
1243 *) Bugfix: a segmentation fault may occur while redirecting the 400 1292 *) Bugfix: a segmentation fault may occur while redirecting the 400
1244 error to the proxied server using a "proxy_pass" directive. 1293 error to the proxied server using a "proxy_pass" directive.
1245 1294
1246 *) Bugfix: a segmentation fault occurred if an unix domain socket was 1295 *) Bugfix: a segmentation fault occurred if an unix domain socket was
1247 used in a "proxy_pass" directive; bug appeared in 0.3.47. 1296 used in a "proxy_pass" directive; the bug had appeared in 0.3.47.
1248 1297
1249 *) Bugfix: SSI did work with memcached and nonbuffered responses. 1298 *) Bugfix: SSI did work with memcached and nonbuffered responses.
1250 1299
1251 *) Workaround: of the Sun Studio PAUSE hardware capability bug. 1300 *) Workaround: of the Sun Studio PAUSE hardware capability bug.
1252 1301
1253 1302
1254 Changes with nginx 0.4.2 14 Sep 2006 1303 Changes with nginx 0.4.2 14 Sep 2006
1255 1304
1256 *) Bugfix: the O_NOATIME flag support on Linux was canceled; bug 1305 *) Bugfix: the O_NOATIME flag support on Linux was canceled; the bug
1257 appeared in 0.4.1. 1306 had appeared in 0.4.1.
1258 1307
1259 1308
1260 Changes with nginx 0.4.1 14 Sep 2006 1309 Changes with nginx 0.4.1 14 Sep 2006
1261 1310
1262 *) Bugfix: the DragonFlyBSD compatibility. 1311 *) Bugfix: the DragonFlyBSD compatibility.
1286 1335
1287 *) Feature: the "ssi" directive is available inside the "if" block. 1336 *) Feature: the "ssi" directive is available inside the "if" block.
1288 1337
1289 *) Bugfix: a segmentation fault occurred if there was an "index" 1338 *) Bugfix: a segmentation fault occurred if there was an "index"
1290 directive with variables and the first index name was without 1339 directive with variables and the first index name was without
1291 variables; bug appeared in 0.1.29. 1340 variables; the bug had appeared in 0.1.29.
1292 1341
1293 1342
1294 Changes with nginx 0.3.61 28 Aug 2006 1343 Changes with nginx 0.3.61 28 Aug 2006
1295 1344
1296 *) Change: now the "tcp_nodelay" directive is turned on by default. 1345 *) Change: now the "tcp_nodelay" directive is turned on by default.
1304 1353
1305 1354
1306 Changes with nginx 0.3.60 18 Aug 2006 1355 Changes with nginx 0.3.60 18 Aug 2006
1307 1356
1308 *) Bugfix: a worker process may got caught in an endless loop while an 1357 *) Bugfix: a worker process may got caught in an endless loop while an
1309 error redirection; bug appeared in 0.3.59. 1358 error redirection; the bug had appeared in 0.3.59.
1310 1359
1311 1360
1312 Changes with nginx 0.3.59 16 Aug 2006 1361 Changes with nginx 0.3.59 16 Aug 2006
1313 1362
1314 *) Feature: now is possible to do several redirection using the 1363 *) Feature: now is possible to do several redirection using the
1316 1365
1317 *) Bugfix: the "dav_access" directive did not support three parameters. 1366 *) Bugfix: the "dav_access" directive did not support three parameters.
1318 1367
1319 *) Bugfix: the "error_page" directive did not changes the 1368 *) Bugfix: the "error_page" directive did not changes the
1320 "Content-Type" header line after the "X-Accel-Redirect" was used; 1369 "Content-Type" header line after the "X-Accel-Redirect" was used;
1321 bug appeared in 0.3.58. 1370 the bug had appeared in 0.3.58.
1322 1371
1323 1372
1324 Changes with nginx 0.3.58 14 Aug 2006 1373 Changes with nginx 0.3.58 14 Aug 2006
1325 1374
1326 *) Feature: the "error_page" directive supports the variables. 1375 *) Feature: the "error_page" directive supports the variables.
1384 *) Bugfix: a segmentation fault occurred if 1433 *) Bugfix: a segmentation fault occurred if
1385 "client_body_in_file_only on" was used and nginx switched to a next 1434 "client_body_in_file_only on" was used and nginx switched to a next
1386 upstream. 1435 upstream.
1387 1436
1388 *) Bugfix: on some condition while reconfiguration character codes 1437 *) Bugfix: on some condition while reconfiguration character codes
1389 inside the "charset_map" may be treated invalid; bug appeared in 1438 inside the "charset_map" may be treated invalid; the bug had
1390 0.3.50. 1439 appeared in 0.3.50.
1391 1440
1392 1441
1393 Changes with nginx 0.3.54 11 Jul 2006 1442 Changes with nginx 0.3.54 11 Jul 2006
1394 1443
1395 *) Feature: nginx now logs the subrequest information to the error log. 1444 *) Feature: nginx now logs the subrequest information to the error log.
1404 converted from UTF-8 or back, then it may be transferred incomplete. 1453 converted from UTF-8 or back, then it may be transferred incomplete.
1405 1454
1406 *) Bugfix: the $upstream_response_time variable had the time of the 1455 *) Bugfix: the $upstream_response_time variable had the time of the
1407 first request to a backend only. 1456 first request to a backend only.
1408 1457
1409 *) Bugfix: nginx could not be built on amd64 platform; bug appeared in 1458 *) Bugfix: nginx could not be built on amd64 platform; the bug had
1410 0.3.53. 1459 appeared in 0.3.53.
1411 1460
1412 1461
1413 Changes with nginx 0.3.53 07 Jul 2006 1462 Changes with nginx 0.3.53 07 Jul 2006
1414 1463
1415 *) Change: the "add_header" directive adds the string to 204, 301, and 1464 *) Change: the "add_header" directive adds the string to 204, 301, and
1438 *) Change: the ngx_http_index_module behavior for the "POST /" requests 1487 *) Change: the ngx_http_index_module behavior for the "POST /" requests
1439 is reverted to the 0.3.40 version state: the module now does not 1488 is reverted to the 0.3.40 version state: the module now does not
1440 return the 405 error. 1489 return the 405 error.
1441 1490
1442 *) Bugfix: the worker process may got caught in an endless loop if the 1491 *) Bugfix: the worker process may got caught in an endless loop if the
1443 limit rate was used; bug appeared in 0.3.37. 1492 limit rate was used; the bug had appeared in 0.3.37.
1444 1493
1445 *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even 1494 *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even
1446 if the recoding was not needed; bug appeared in 0.3.50. 1495 if the recoding was not needed; the bug had appeared in 0.3.50.
1447 1496
1448 *) Bugfix: if a code response of the PUT request was 409, then a 1497 *) Bugfix: if a code response of the PUT request was 409, then a
1449 temporary file was not removed. 1498 temporary file was not removed.
1450 1499
1451 1500
1452 Changes with nginx 0.3.51 30 Jun 2006 1501 Changes with nginx 0.3.51 30 Jun 2006
1453 1502
1454 *) Bugfix: the "<" symbols might disappeared some conditions in the 1503 *) Bugfix: the "<" symbols might disappeared some conditions in the
1455 SSI; bug appeared in 0.3.50. 1504 SSI; the bug had appeared in 0.3.50.
1456 1505
1457 1506
1458 Changes with nginx 0.3.50 28 Jun 2006 1507 Changes with nginx 0.3.50 28 Jun 2006
1459 1508
1460 *) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors" 1509 *) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors"
1495 "proxy_redirect default" directive add the unnecessary slash in 1544 "proxy_redirect default" directive add the unnecessary slash in
1496 start of the rewritten redirect. 1545 start of the rewritten redirect.
1497 1546
1498 *) Bugfix: the internal redirect always transform client's HTTP method 1547 *) Bugfix: the internal redirect always transform client's HTTP method
1499 to GET, now the transformation is made for the "X-Accel-Redirect" 1548 to GET, now the transformation is made for the "X-Accel-Redirect"
1500 redirects only and if the method is not HEAD; bug appeared in 0.3.42. 1549 redirects only and if the method is not HEAD; the bug had appeared
1550 in 0.3.42.
1501 1551
1502 *) Bugfix: the ngx_http_perl_module could not be built, if the perl was 1552 *) Bugfix: the ngx_http_perl_module could not be built, if the perl was
1503 built with the threads support; bug appeared in 0.3.46. 1553 built with the threads support; the bug had appeared in 0.3.46.
1504 1554
1505 1555
1506 Changes with nginx 0.3.47 23 May 2006 1556 Changes with nginx 0.3.47 23 May 2006
1507 1557
1508 *) Feature: the "upstream" directive. 1558 *) Feature: the "upstream" directive.
1535 method. 1585 method.
1536 1586
1537 *) Change: the &deg; symbol codes were changed in koi-win conversion 1587 *) Change: the &deg; symbol codes were changed in koi-win conversion
1538 table. 1588 table.
1539 1589
1540 *) Feature: the euro É N symbols were added to koi-win conversion table. 1590 *) Feature: the euro and N symbols were added to koi-win conversion
1591 table.
1541 1592
1542 *) Bugfix: if nginx distributed the requests among several backends and 1593 *) Bugfix: if nginx distributed the requests among several backends and
1543 some backend failed, then requests intended for this backend was 1594 some backend failed, then requests intended for this backend was
1544 directed to one live backend only instead of being distributed among 1595 directed to one live backend only instead of being distributed among
1545 the rest. 1596 the rest.
1612 expr='$name'" SSI-commands, then the "unknown variable" message is 1663 expr='$name'" SSI-commands, then the "unknown variable" message is
1613 not logged. 1664 not logged.
1614 1665
1615 *) Bugfix: the active connection counter increased on the exceeding of 1666 *) Bugfix: the active connection counter increased on the exceeding of
1616 the connection limit specified by the "worker_connections" 1667 the connection limit specified by the "worker_connections"
1617 directive; bug appeared in 0.2.0. 1668 directive; the bug had appeared in 0.2.0.
1618 1669
1619 *) Bugfix: the limit rate might not work on some condition; bug 1670 *) Bugfix: the limit rate might not work on some condition; the bug had
1620 appeared in 0.3.38. 1671 appeared in 0.3.38.
1621 1672
1622 1673
1623 Changes with nginx 0.3.38 14 Apr 2006 1674 Changes with nginx 0.3.38 14 Apr 2006
1624 1675
1688 1739
1689 1740
1690 Changes with nginx 0.3.35 22 Mar 2006 1741 Changes with nginx 0.3.35 22 Mar 2006
1691 1742
1692 *) Bugfix: the accept-filter and the TCP_DEFER_ACCEPT option were set 1743 *) Bugfix: the accept-filter and the TCP_DEFER_ACCEPT option were set
1693 for first "listen" directive only; bug appeared in 0.3.31. 1744 for first "listen" directive only; the bug had appeared in 0.3.31.
1694 1745
1695 *) Bugfix: in the "proxy_pass" directive without the URI part in a 1746 *) Bugfix: in the "proxy_pass" directive without the URI part in a
1696 subrequest. 1747 subrequest.
1697 1748
1698 1749
1713 1764
1714 1765
1715 Changes with nginx 0.3.32 11 Mar 2006 1766 Changes with nginx 0.3.32 11 Mar 2006
1716 1767
1717 *) Bugfix: the debug logging on startup and reconfiguration time was 1768 *) Bugfix: the debug logging on startup and reconfiguration time was
1718 removed; bug appeared in 0.3.31. 1769 removed; the bug had appeared in 0.3.31.
1719 1770
1720 1771
1721 Changes with nginx 0.3.31 10 Mar 2006 1772 Changes with nginx 0.3.31 10 Mar 2006
1722 1773
1723 *) Change: now nginx passes the malformed proxied backend responses. 1774 *) Change: now nginx passes the malformed proxied backend responses.
1731 bug. 1782 bug.
1732 Thanks to Andrei Nigmatulin. 1783 Thanks to Andrei Nigmatulin.
1733 1784
1734 *) Bugfix: if there were several "listen" directives listening one 1785 *) Bugfix: if there were several "listen" directives listening one
1735 various addresses inside one server, then server names like 1786 various addresses inside one server, then server names like
1736 "*.domain.tld" worked for first address only; bug appeared in 0.3.18. 1787 "*.domain.tld" worked for first address only; the bug had appeared
1788 in 0.3.18.
1737 1789
1738 *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive 1790 *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive
1739 and the request body was in temporarily file then the request was 1791 and the request body was in temporarily file then the request was
1740 not transferred. 1792 not transferred.
1741 1793
1749 1801
1750 *) Bugfix: the ngx_http_perl_module could not be build without the 1802 *) Bugfix: the ngx_http_perl_module could not be build without the
1751 ngx_http_ssi_filter_module. 1803 ngx_http_ssi_filter_module.
1752 1804
1753 *) Bugfix: nginx could not be built on i386 platform, if the PIC was 1805 *) Bugfix: nginx could not be built on i386 platform, if the PIC was
1754 used; bug appeared in 0.3.27. 1806 used; the bug had appeared in 0.3.27.
1755 1807
1756 1808
1757 Changes with nginx 0.3.29 20 Feb 2006 1809 Changes with nginx 0.3.29 20 Feb 2006
1758 1810
1759 *) Feature: now nginx uses less memory, if PHP in FastCGI mode sends 1811 *) Feature: now nginx uses less memory, if PHP in FastCGI mode sends
1825 1877
1826 1878
1827 Changes with nginx 0.3.25 01 Feb 2006 1879 Changes with nginx 0.3.25 01 Feb 2006
1828 1880
1829 *) Bugfix: the segmentation fault was occurred on start or while 1881 *) Bugfix: the segmentation fault was occurred on start or while
1830 reconfiguration if there was invalid configuration; bug appeared in 1882 reconfiguration if there was invalid configuration; the bug had
1831 0.3.24. 1883 appeared in 0.3.24.
1832 1884
1833 1885
1834 Changes with nginx 0.3.24 01 Feb 2006 1886 Changes with nginx 0.3.24 01 Feb 2006
1835 1887
1836 *) Workaround: for bug in FreeBSD kqueue. 1888 *) Workaround: for bug in FreeBSD kqueue.
1842 1894
1843 *) Bugfix: the first "proxy_redirect" directive was working inside one 1895 *) Bugfix: the first "proxy_redirect" directive was working inside one
1844 location. 1896 location.
1845 1897
1846 *) Bugfix: on 64-bit platforms segmentation fault may occurred on start 1898 *) Bugfix: on 64-bit platforms segmentation fault may occurred on start
1847 if the many names were used in the "server_name" directives; bug 1899 if the many names were used in the "server_name" directives; the bug
1848 appeared in 0.3.18. 1900 had appeared in 0.3.18.
1849 1901
1850 1902
1851 Changes with nginx 0.3.23 24 Jan 2006 1903 Changes with nginx 0.3.23 24 Jan 2006
1852 1904
1853 *) Feature: the "optimize_host_names" directive. 1905 *) Feature: the "optimize_host_names" directive.
1866 1918
1867 *) Feature: the method $r->query_string of ngx_http_perl_module was 1919 *) Feature: the method $r->query_string of ngx_http_perl_module was
1868 canceled. 1920 canceled.
1869 1921
1870 *) Bugfix: segmentation fault was occurred if the "none" or "blocked" 1922 *) Bugfix: segmentation fault was occurred if the "none" or "blocked"
1871 values was specified in the "valid_referers" directive; bug appeared 1923 values was specified in the "valid_referers" directive; the bug had
1872 in 0.3.18. 1924 appeared in 0.3.18.
1873 1925
1874 1926
1875 Changes with nginx 0.3.21 16 Jan 2006 1927 Changes with nginx 0.3.21 16 Jan 2006
1876 1928
1877 *) Feature: the ngx_http_perl_module. 1929 *) Feature: the ngx_http_perl_module.
1918 1970
1919 *) Bugfix: some ".domain.tld" names incorrectly processed by the 1971 *) Bugfix: some ".domain.tld" names incorrectly processed by the
1920 ngx_http_map_module. 1972 ngx_http_map_module.
1921 1973
1922 *) Bugfix: segmentation fault was occurred if configuration file did 1974 *) Bugfix: segmentation fault was occurred if configuration file did
1923 not exist; bug appeared in 0.3.12. 1975 not exist; the bug had appeared in 0.3.12.
1924 1976
1925 *) Bugfix: on 64-bit platforms segmentation fault may occurred on 1977 *) Bugfix: on 64-bit platforms segmentation fault may occurred on
1926 start; bug appeared in 0.3.16. 1978 start; the bug had appeared in 0.3.16.
1927 1979
1928 1980
1929 Changes with nginx 0.3.17 18 Dec 2005 1981 Changes with nginx 0.3.17 18 Dec 2005
1930 1982
1931 *) Change: now on Linux configure checks the presence of epoll and 1983 *) Change: now on Linux configure checks the presence of epoll and
1932 sendfile64() in kernel. 1984 sendfile64() in kernel.
1933 1985
1934 *) Feature: the "map" directive supports domain names in the 1986 *) Feature: the "map" directive supports domain names in the
1935 ".domain.tld" form. 1987 ".domain.tld" form.
1936 1988
1937 *) Bugfix: the timeouts were not used in SSL handshake; bug appeared in 1989 *) Bugfix: the timeouts were not used in SSL handshake; the bug had
1938 0.2.4. 1990 appeared in 0.2.4.
1939 1991
1940 *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive. 1992 *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
1941 1993
1942 *) Bugfix: when the HTTPS protocol was used in the "proxy_pass" 1994 *) Bugfix: when the HTTPS protocol was used in the "proxy_pass"
1943 directive the port 80 was used by default. 1995 directive the port 80 was used by default.
1959 Pentium 4. 2011 Pentium 4.
1960 2012
1961 *) Bugfix: the "config timefmt" SSI command set incorrect time format. 2013 *) Bugfix: the "config timefmt" SSI command set incorrect time format.
1962 2014
1963 *) Bugfix: nginx did not close connection to IMAP/POP3 backend for the 2015 *) Bugfix: nginx did not close connection to IMAP/POP3 backend for the
1964 SSL connections; bug appeared in 0.3.13. 2016 SSL connections; the bug had appeared in 0.3.13.
1965 Thanks to Rob Mueller. 2017 Thanks to Rob Mueller.
1966 2018
1967 *) Bugfix: segmentation fault may occurred in at SSL shutdown; bug 2019 *) Bugfix: segmentation fault may occurred in at SSL shutdown; the bug
1968 appeared in 0.3.13. 2020 had appeared in 0.3.13.
1969 2021
1970 2022
1971 Changes with nginx 0.3.15 07 Dec 2005 2023 Changes with nginx 0.3.15 07 Dec 2005
1972 2024
1973 *) Feature: the new 444 code of the "return" directive to close 2025 *) Feature: the new 444 code of the "return" directive to close
1979 only on gracefull quit and active "debug_points" directive. 2031 only on gracefull quit and active "debug_points" directive.
1980 2032
1981 2033
1982 Changes with nginx 0.3.14 05 Dec 2005 2034 Changes with nginx 0.3.14 05 Dec 2005
1983 2035
1984 *) Bugfix: in the 304 response the body was transferred; bug appeared 2036 *) Bugfix: in the 304 response the body was transferred; the bug had
1985 in 0.3.13. 2037 appeared in 0.3.13.
1986 2038
1987 2039
1988 Changes with nginx 0.3.13 05 Dec 2005 2040 Changes with nginx 0.3.13 05 Dec 2005
1989 2041
1990 *) Feature: the IMAP/POP3 proxy supports STARTTLS and STLS. 2042 *) Feature: the IMAP/POP3 proxy supports STARTTLS and STLS.
1996 2048
1997 *) Bugfix: now Solaris sendfilev() is not used to transfer the client 2049 *) Bugfix: now Solaris sendfilev() is not used to transfer the client
1998 request body to FastCGI-server via the unix domain socket. 2050 request body to FastCGI-server via the unix domain socket.
1999 2051
2000 *) Bugfix: the "auth_basic" directive did not disable the 2052 *) Bugfix: the "auth_basic" directive did not disable the
2001 authorization; bug appeared in 0.3.11. 2053 authorization; the bug had appeared in 0.3.11.
2002 2054
2003 2055
2004 Changes with nginx 0.3.12 26 Nov 2005 2056 Changes with nginx 0.3.12 26 Nov 2005
2005 2057
2006 *) Security: if nginx was built with the ngx_http_realip_module and the 2058 *) Security: if nginx was built with the ngx_http_realip_module and the
2017 *) Feature: the ngx_http_memcached_module. 2069 *) Feature: the ngx_http_memcached_module.
2018 2070
2019 *) Feature: the "proxy_buffering" directive. 2071 *) Feature: the "proxy_buffering" directive.
2020 2072
2021 *) Bugfix: the changes in accept mutex handling when the "rtsig" method 2073 *) Bugfix: the changes in accept mutex handling when the "rtsig" method
2022 was used; bug appeared in 0.3.0. 2074 was used; the bug had appeared in 0.3.0.
2023 2075
2024 *) Bugfix: if the client sent the "Transfer-Encoding: chunked" header 2076 *) Bugfix: if the client sent the "Transfer-Encoding: chunked" header
2025 line, then nginx returns the 411 error. 2077 line, then nginx returns the 411 error.
2026 2078
2027 *) Bugfix: if the "auth_basic" directive was inherited from the http 2079 *) Bugfix: if the "auth_basic" directive was inherited from the http
2028 level, then the realm in the "WWW-Authenticate" header line was 2080 level, then the realm in the "WWW-Authenticate" header line was
2029 without the "Basic realm" text. 2081 without the "Basic realm" text.
2030 2082
2031 *) Bugfix: if the "combined" format was explicitly specified in the 2083 *) Bugfix: if the "combined" format was explicitly specified in the
2032 "access_log" directive, then the empty lines was written to the log; 2084 "access_log" directive, then the empty lines was written to the log;
2033 bug appeared in 0.3.8. 2085 the bug had appeared in 0.3.8.
2034 2086
2035 *) Bugfix: nginx did not run on the sparc platform under any OS except 2087 *) Bugfix: nginx did not run on the sparc platform under any OS except
2036 Solaris. 2088 Solaris.
2037 2089
2038 *) Bugfix: now it is not necessary to place space between the quoted 2090 *) Bugfix: now it is not necessary to place space between the quoted
2040 2092
2041 2093
2042 Changes with nginx 0.3.11 15 Nov 2005 2094 Changes with nginx 0.3.11 15 Nov 2005
2043 2095
2044 *) Bugfix: nginx did not pass the client request headers and body while 2096 *) Bugfix: nginx did not pass the client request headers and body while
2045 proxying; bug appeared in 0.3.10. 2097 proxying; the bug had appeared in 0.3.10.
2046 2098
2047 2099
2048 Changes with nginx 0.3.10 15 Nov 2005 2100 Changes with nginx 0.3.10 15 Nov 2005
2049 2101
2050 *) Change: the "valid_referers" directive and the "$invalid_referer" 2102 *) Change: the "valid_referers" directive and the "$invalid_referer"
2079 2131
2080 2132
2081 Changes with nginx 0.3.9 10 Nov 2005 2133 Changes with nginx 0.3.9 10 Nov 2005
2082 2134
2083 *) Bugfix: nginx considered URI as unsafe if two any symbols was 2135 *) Bugfix: nginx considered URI as unsafe if two any symbols was
2084 between two slashes; bug appeared in 0.3.8. 2136 between two slashes; the bug had appeared in 0.3.8.
2085 2137
2086 2138
2087 Changes with nginx 0.3.8 09 Nov 2005 2139 Changes with nginx 0.3.8 09 Nov 2005
2088 2140
2089 *) Security: nginx now checks URI got from a backend in 2141 *) Security: nginx now checks URI got from a backend in
2119 *) Bugfix: the worker processes did not flush the buffered logs on 2171 *) Bugfix: the worker processes did not flush the buffered logs on
2120 graceful exit. 2172 graceful exit.
2121 2173
2122 *) Bugfix: if the request URI was changes by the "rewrite" directive 2174 *) Bugfix: if the request URI was changes by the "rewrite" directive
2123 and the request was proxied in location given by regular expression, 2175 and the request was proxied in location given by regular expression,
2124 then the incorrect request was transferred to backend; bug appeared 2176 then the incorrect request was transferred to backend; the bug had
2125 in 0.2.6. 2177 appeared in 0.2.6.
2126 2178
2127 *) Bugfix: the "expires" directive did not remove the previous 2179 *) Bugfix: the "expires" directive did not remove the previous
2128 "Expires" header. 2180 "Expires" header.
2129 2181
2130 *) Bugfix: nginx may stop to accept requests if the "rtsig" method and 2182 *) Bugfix: nginx may stop to accept requests if the "rtsig" method and
2141 Changes with nginx 0.3.7 27 Oct 2005 2193 Changes with nginx 0.3.7 27 Oct 2005
2142 2194
2143 *) Feature: the "access_log" supports the "buffer=" parameter. 2195 *) Feature: the "access_log" supports the "buffer=" parameter.
2144 2196
2145 *) Bugfix: nginx could not be built on platforms different from i386, 2197 *) Bugfix: nginx could not be built on platforms different from i386,
2146 amd64, sparc É ppc; bug appeared in 0.3.2. 2198 amd64, sparc, and ppc; the bug had appeared in 0.3.2.
2147 2199
2148 2200
2149 Changes with nginx 0.3.6 24 Oct 2005 2201 Changes with nginx 0.3.6 24 Oct 2005
2150 2202
2151 *) Change: now the IMAP/POP3 proxy do not send the empty login to 2203 *) Change: now the IMAP/POP3 proxy do not send the empty login to
2152 authorization server. 2204 authorization server.
2153 2205
2154 *) Feature: the "log_format" supports the variables in the $name form. 2206 *) Feature: the "log_format" supports the variables in the $name form.
2155 2207
2156 *) Bugfix: if at least in one server was no the "listen" directive, 2208 *) Bugfix: if at least in one server was no the "listen" directive,
2157 then nginx did not listen on the 80 port; bug appeared in 0.3.3. 2209 then nginx did not listen on the 80 port; the bug had appeared in
2210 0.3.3.
2158 2211
2159 *) Bugfix: if the URI part is omitted in "proxy_pass" directive, the 2212 *) Bugfix: if the URI part is omitted in "proxy_pass" directive, the
2160 the 80 port was always used. 2213 the 80 port was always used.
2161 2214
2162 2215
2163 Changes with nginx 0.3.5 21 Oct 2005 2216 Changes with nginx 0.3.5 21 Oct 2005
2164 2217
2165 *) Bugfix: the segmentation fault may occurred if the IMAP/POP3 login 2218 *) Bugfix: the segmentation fault may occurred if the IMAP/POP3 login
2166 was changed by authorization server; bug appeared in 0.2.2. 2219 was changed by authorization server; the bug had appeared in 0.2.2.
2167 2220
2168 *) Bugfix: the accept mutex did not work and all connections were 2221 *) Bugfix: the accept mutex did not work and all connections were
2169 handled by one process; bug appeared in 0.3.3. 2222 handled by one process; the bug had appeared in 0.3.3.
2170 2223
2171 *) Bugfix: the timeout did not work if the "rtsig" method and the 2224 *) Bugfix: the timeout did not work if the "rtsig" method and the
2172 "timer_resolution" directive were used. 2225 "timer_resolution" directive were used.
2173 2226
2174 2227
2175 Changes with nginx 0.3.4 19 Oct 2005 2228 Changes with nginx 0.3.4 19 Oct 2005
2176 2229
2177 *) Bugfix: nginx could not be built on Linux 2.4+ and MacOS X; bug 2230 *) Bugfix: nginx could not be built on Linux 2.4+ and MacOS X; the bug
2178 appeared in 0.3.3. 2231 had appeared in 0.3.3.
2179 2232
2180 2233
2181 Changes with nginx 0.3.3 19 Oct 2005 2234 Changes with nginx 0.3.3 19 Oct 2005
2182 2235
2183 *) Change: the "bl" and "af" parameters of the "listen" directive was 2236 *) Change: the "bl" and "af" parameters of the "listen" directive was
2194 *) Bugfix: if the invalid address was specified in the "listen" 2247 *) Bugfix: if the invalid address was specified in the "listen"
2195 directive, then after the -HUP signal nginx left an open socket in 2248 directive, then after the -HUP signal nginx left an open socket in
2196 the CLOSED state. 2249 the CLOSED state.
2197 2250
2198 *) Bugfix: the mime type may be incorrectly set to default value for 2251 *) Bugfix: the mime type may be incorrectly set to default value for
2199 index file with variable in the name; bug appeared in 0.3.0. 2252 index file with variable in the name; the bug had appeared in 0.3.0.
2200 2253
2201 *) Feature: the "timer_resolution" directive. 2254 *) Feature: the "timer_resolution" directive.
2202 2255
2203 *) Feature: the millisecond "$upstream_response_time" log parameter. 2256 *) Feature: the millisecond "$upstream_response_time" log parameter.
2204 2257
2226 2279
2227 2280
2228 Changes with nginx 0.3.1 10 Oct 2005 2281 Changes with nginx 0.3.1 10 Oct 2005
2229 2282
2230 *) Bugfix: the segmentation fault occurred when the signal queue 2283 *) Bugfix: the segmentation fault occurred when the signal queue
2231 overflowed if the "rtsig" method was used; bug appeared in 0.2.0. 2284 overflowed if the "rtsig" method was used; the bug had appeared in
2285 0.2.0.
2232 2286
2233 *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in 2287 *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in
2234 SSI. 2288 SSI.
2235 2289
2236 2290
2260 again. 2314 again.
2261 2315
2262 *) Bugfix: if the "set" directive set the ngx_http_geo_module variable 2316 *) Bugfix: if the "set" directive set the ngx_http_geo_module variable
2263 in some configuration part, the this variable was not available in 2317 in some configuration part, the this variable was not available in
2264 other configuration parts and the "using uninitialized variable" 2318 other configuration parts and the "using uninitialized variable"
2265 error was occurred; bug appeared in 0.2.2. 2319 error was occurred; the bug had appeared in 0.2.2.
2266 2320
2267 2321
2268 Changes with nginx 0.2.5 04 Oct 2005 2322 Changes with nginx 0.2.5 04 Oct 2005
2269 2323
2270 *) Change: the duplicate value of the ngx_http_geo_module variable now 2324 *) Change: the duplicate value of the ngx_http_geo_module variable now
2282 Changes with nginx 0.2.4 03 Oct 2005 2336 Changes with nginx 0.2.4 03 Oct 2005
2283 2337
2284 *) Feature: the ngx_http_ssi_module supports "$var=text", "$var!=text", 2338 *) Feature: the ngx_http_ssi_module supports "$var=text", "$var!=text",
2285 "$var=/text/", and "$var!=/text/" expressions in the "if" command. 2339 "$var=/text/", and "$var!=/text/" expressions in the "if" command.
2286 2340
2287 *) Bugfix: in proxying location without trailing slash; bug appeared in 2341 *) Bugfix: in proxying location without trailing slash; the bug had
2288 0.1.44. 2342 appeared in 0.1.44.
2289 2343
2290 *) Bugfix: the segmentation fault may occurred if the "rtsig" method 2344 *) Bugfix: the segmentation fault may occurred if the "rtsig" method
2291 was used; bug appeared in 0.2.0. 2345 was used; the bug had appeared in 0.2.0.
2292 2346
2293 2347
2294 Changes with nginx 0.2.3 30 Sep 2005 2348 Changes with nginx 0.2.3 30 Sep 2005
2295 2349
2296 *) Bugfix: nginx could not be built without the --with-debug option; 2350 *) Bugfix: nginx could not be built without the --with-debug option;
2297 bug appeared in 0.2.2. 2351 the bug had appeared in 0.2.2.
2298 2352
2299 2353
2300 Changes with nginx 0.2.2 30 Sep 2005 2354 Changes with nginx 0.2.2 30 Sep 2005
2301 2355
2302 *) Feature: the "config errmsg" command of the ngx_http_ssi_module. 2356 *) Feature: the "config errmsg" command of the ngx_http_ssi_module.
2321 2375
2322 2376
2323 Changes with nginx 0.2.1 23 Sep 2005 2377 Changes with nginx 0.2.1 23 Sep 2005
2324 2378
2325 *) Bugfix: if all backend using in load-balancing failed after one 2379 *) Bugfix: if all backend using in load-balancing failed after one
2326 error, then nginx may got caught in an endless loop; bug appeared in 2380 error, then nginx may got caught in an endless loop; the bug had
2327 0.2.0. 2381 appeared in 0.2.0.
2328 2382
2329 2383
2330 Changes with nginx 0.2.0 23 Sep 2005 2384 Changes with nginx 0.2.0 23 Sep 2005
2331 2385
2332 *) The pid-file names used during online upgrade was changed and now is 2386 *) The pid-file names used during online upgrade was changed and now is
2400 to a server. 2454 to a server.
2401 2455
2402 *) Bugfix: the segmentation fault occurred or the worker process may 2456 *) Bugfix: the segmentation fault occurred or the worker process may
2403 got caught in an endless loop if the proxied or FastCGI server sent 2457 got caught in an endless loop if the proxied or FastCGI server sent
2404 the "Cache-Control" header line and the "expires" directive was 2458 the "Cache-Control" header line and the "expires" directive was
2405 used; in the proxied mode the bug appeared in 0.1.29. 2459 used; in the proxied mode the the bug had appeared in 0.1.29.
2406 2460
2407 2461
2408 Changes with nginx 0.1.42 23 Aug 2005 2462 Changes with nginx 0.1.42 23 Aug 2005
2409 2463
2410 *) Bugfix: if the request URI had a zero length after the processing in 2464 *) Bugfix: if the request URI had a zero length after the processing in
2411 the ngx_http_proxy_module, then the segmentation fault or bus error 2465 the ngx_http_proxy_module, then the segmentation fault or bus error
2412 occurred in the ngx_http_proxy_module. 2466 occurred in the ngx_http_proxy_module.
2413 2467
2414 *) Bugfix: the "limit_rate" directive did not work inside the "if" 2468 *) Bugfix: the "limit_rate" directive did not work inside the "if"
2415 block; bug appeared in 0.1.38. 2469 block; the bug had appeared in 0.1.38.
2416 2470
2417 2471
2418 Changes with nginx 0.1.41 25 Jul 2005 2472 Changes with nginx 0.1.41 25 Jul 2005
2419 2473
2420 *) Bugfix: if the variable was used in the configuration file, then it 2474 *) Bugfix: if the variable was used in the configuration file, then it
2425 2479
2426 *) Bugfix: if a client sent too long header line, then the request 2480 *) Bugfix: if a client sent too long header line, then the request
2427 information did not logged in the error log. 2481 information did not logged in the error log.
2428 2482
2429 *) Bugfix: the "Set-Cookie" header line was not transferred when the 2483 *) Bugfix: the "Set-Cookie" header line was not transferred when the
2430 "X-Accel-Redirect" was used; bug appeared in 0.1.39. 2484 "X-Accel-Redirect" was used; the bug had appeared in 0.1.39.
2431 2485
2432 *) Bugfix: the "Content-Disposition" header line was not transferred 2486 *) Bugfix: the "Content-Disposition" header line was not transferred
2433 when the "X-Accel-Redirect" was used. 2487 when the "X-Accel-Redirect" was used.
2434 2488
2435 *) Bugfix: the master process did not close the listen socket on the 2489 *) Bugfix: the master process did not close the listen socket on the
2447 2501
2448 *) Bugfix: the backend "WWW-Authenticate" header line did not 2502 *) Bugfix: the backend "WWW-Authenticate" header line did not
2449 transferred while the 401 response code redirecting. 2503 transferred while the 401 response code redirecting.
2450 2504
2451 *) Bugfix: the ngx_http_proxy_module and ngx_http_fastcgi_module may 2505 *) Bugfix: the ngx_http_proxy_module and ngx_http_fastcgi_module may
2452 close a connection before anything was transferred to a client; bug 2506 close a connection before anything was transferred to a client; the
2453 appeared in 0.1.38. 2507 bug had appeared in 0.1.38.
2454 2508
2455 *) Workaround: the Linux glibc crypt_r() initialization bug. 2509 *) Workaround: the Linux glibc crypt_r() initialization bug.
2456 2510
2457 *) Bugfix: the ngx_http_ssi_module did not support the relative URI in 2511 *) Bugfix: the ngx_http_ssi_module did not support the relative URI in
2458 the "include virtual" command. 2512 the "include virtual" command.
2459 2513
2460 *) Bugfix: if the backend response had the "Location" header line and 2514 *) Bugfix: if the backend response had the "Location" header line and
2461 nginx should not rewrite this line, then the 500 code response body 2515 nginx should not rewrite this line, then the 500 code response body
2462 was transferred; bug appeared in 0.1.29. 2516 was transferred; the bug had appeared in 0.1.29.
2463 2517
2464 *) Bugfix: some directives of the ngx_http_proxy_module and 2518 *) Bugfix: some directives of the ngx_http_proxy_module and
2465 ngx_http_fastcgi_module were not inherited from the server to the 2519 ngx_http_fastcgi_module were not inherited from the server to the
2466 location level; bug appeared in 0.1.29. 2520 location level; the bug had appeared in 0.1.29.
2467 2521
2468 *) Bugfix: the ngx_http_ssl_module did not support the certificate 2522 *) Bugfix: the ngx_http_ssl_module did not support the certificate
2469 chain. 2523 chain.
2470 2524
2471 *) Bugfix: the ngx_http_autoindex_module did not show correctly the 2525 *) Bugfix: the ngx_http_autoindex_module did not show correctly the
2472 long file names; bug appeared in 0.1.38. 2526 long file names; the bug had appeared in 0.1.38.
2473 2527
2474 *) Bugfixes in IMAP/POP3 proxy in interaction with a backend at the 2528 *) Bugfixes in IMAP/POP3 proxy in interaction with a backend at the
2475 login state. 2529 login state.
2476 2530
2477 2531
2495 2549
2496 *) Bugfix: the segmentation fault may occurred if the SSI page has more 2550 *) Bugfix: the segmentation fault may occurred if the SSI page has more
2497 than one remote subrequest. 2551 than one remote subrequest.
2498 2552
2499 *) Bugfix: nginx treated the backend response as invalid if the status 2553 *) Bugfix: nginx treated the backend response as invalid if the status
2500 line in the header was transferred in two packets; bug appeared in 2554 line in the header was transferred in two packets; the bug had
2501 0.1.29. 2555 appeared in 0.1.29.
2502 2556
2503 *) Feature: the "ssi_types" directive. 2557 *) Feature: the "ssi_types" directive.
2504 2558
2505 *) Feature: the "autoindex_exact_size" directive. 2559 *) Feature: the "autoindex_exact_size" directive.
2506 2560
2550 *) Feature: the "working_directory" directive. 2604 *) Feature: the "working_directory" directive.
2551 2605
2552 *) Feature: the "port_in_redirect" directive. 2606 *) Feature: the "port_in_redirect" directive.
2553 2607
2554 *) Bugfix: the segmentation fault was occurred if the backend response 2608 *) Bugfix: the segmentation fault was occurred if the backend response
2555 header was in several packets; bug appeared in 0.1.29. 2609 header was in several packets; the bug had appeared in 0.1.29.
2556 2610
2557 *) Bugfix: if more than 10 servers were configured or some server did 2611 *) Bugfix: if more than 10 servers were configured or some server did
2558 not use the "listen" directive, then the segmentation fault was 2612 not use the "listen" directive, then the segmentation fault was
2559 occurred on the start. 2613 occurred on the start.
2560 2614
2561 *) Bugfix: the segmentation fault might occur if the response was 2615 *) Bugfix: the segmentation fault might occur if the response was
2562 bigger than the temporary file. 2616 bigger than the temporary file.
2563 2617
2564 *) Bugfix: nginx returned the 400 response on requests like 2618 *) Bugfix: nginx returned the 400 response on requests like
2565 "GET http://www.domain.com/uri HTTP/1.0"; bug appeared in 0.1.28. 2619 "GET http://www.domain.com/uri HTTP/1.0"; the bug had appeared in
2620 0.1.28.
2566 2621
2567 2622
2568 Changes with nginx 0.1.34 26 May 2005 2623 Changes with nginx 0.1.34 26 May 2005
2569 2624
2570 *) Bugfix: the worker process may got caught in an endless loop if the 2625 *) Bugfix: the worker process may got caught in an endless loop if the
2580 2635
2581 2636
2582 Changes with nginx 0.1.33 23 May 2005 2637 Changes with nginx 0.1.33 23 May 2005
2583 2638
2584 *) Bugfix: nginx could not be built with the --without-pcre parameter; 2639 *) Bugfix: nginx could not be built with the --without-pcre parameter;
2585 bug appeared in 0.1.29. 2640 the bug had appeared in 0.1.29.
2586 2641
2587 *) Bugfix: 3, 4, 7, and 8 the "proxy_set_header" directives in one 2642 *) Bugfix: 3, 4, 7, and 8 the "proxy_set_header" directives in one
2588 level cause the bus fault on start up. 2643 level cause the bus fault on start up.
2589 2644
2590 *) Bugfix: the HTTP protocol was specified in the HTTPS redirects. 2645 *) Bugfix: the HTTP protocol was specified in the HTTPS redirects.
2594 2649
2595 2650
2596 Changes with nginx 0.1.32 19 May 2005 2651 Changes with nginx 0.1.32 19 May 2005
2597 2652
2598 *) Bugfix: the arguments were omitted in the redirects, issued by the 2653 *) Bugfix: the arguments were omitted in the redirects, issued by the
2599 "rewrite" directive; bug appeared in 0.1.29. 2654 "rewrite" directive; the bug had appeared in 0.1.29.
2600 2655
2601 *) Feature: the "if" directive supports the captures in regular 2656 *) Feature: the "if" directive supports the captures in regular
2602 expressions. 2657 expressions.
2603 2658
2604 *) Feature: the "set" directive supports the variables and the captures 2659 *) Feature: the "set" directive supports the variables and the captures
2615 *) Bugfix: errors while processing FastCGI response by SSI. 2670 *) Bugfix: errors while processing FastCGI response by SSI.
2616 2671
2617 *) Bugfix: errors while using SSI and gzipping. 2672 *) Bugfix: errors while using SSI and gzipping.
2618 2673
2619 *) Bugfix: the redirect with the 301 code was transferred without 2674 *) Bugfix: the redirect with the 301 code was transferred without
2620 response body; bug appeared in 0.1.30. 2675 response body; the bug had appeared in 0.1.30.
2621 2676
2622 2677
2623 Changes with nginx 0.1.30 14 May 2005 2678 Changes with nginx 0.1.30 14 May 2005
2624 2679
2625 *) Bugfix: the worker process may got caught in an endless loop if the 2680 *) Bugfix: the worker process may got caught in an endless loop if the
2627 2682
2628 *) Bugfix: the response encrypted by SSL may not transferred complete. 2683 *) Bugfix: the response encrypted by SSL may not transferred complete.
2629 2684
2630 *) Bugfix: if the length of the response part received at once from 2685 *) Bugfix: if the length of the response part received at once from
2631 proxied or FastCGI server was equal to 500, then nginx returns the 2686 proxied or FastCGI server was equal to 500, then nginx returns the
2632 500 response code; in proxy mode the bug appeared in 0.1.29 only. 2687 500 response code; in proxy mode the the bug had appeared in 0.1.29
2688 only.
2633 2689
2634 *) Bugfix: nginx did not consider the directives with 8 or 9 parameters 2690 *) Bugfix: nginx did not consider the directives with 8 or 9 parameters
2635 as invalid. 2691 as invalid.
2636 2692
2637 *) Feature: the "return" directive can return the 204 response code. 2693 *) Feature: the "return" directive can return the 204 response code.
2706 *) Bugfix: if the backend did not transfer response for a long time and 2762 *) Bugfix: if the backend did not transfer response for a long time and
2707 the "send_timeout" was less than "proxy_read_timeout", then nginx 2763 the "send_timeout" was less than "proxy_read_timeout", then nginx
2708 returned the 408 response. 2764 returned the 408 response.
2709 2765
2710 *) Bugfix: the segmentation fault was occurred if the backend sent an 2766 *) Bugfix: the segmentation fault was occurred if the backend sent an
2711 invalid line in response header; bug appeared in 0.1.26. 2767 invalid line in response header; the bug had appeared in 0.1.26.
2712 2768
2713 *) Bugfix: the segmentation fault may occurred in FastCGI fault 2769 *) Bugfix: the segmentation fault may occurred in FastCGI fault
2714 tolerance configuration. 2770 tolerance configuration.
2715 2771
2716 *) Bugfix: the "expires" directive did not remove the previous 2772 *) Bugfix: the "expires" directive did not remove the previous
2826 *) Feature: if the request has no the "Host" header line, then the 2882 *) Feature: if the request has no the "Host" header line, then the
2827 "proxy_preserve_host" directive set this header line to the first 2883 "proxy_preserve_host" directive set this header line to the first
2828 server name of the "server_name" directive. 2884 server name of the "server_name" directive.
2829 2885
2830 *) Bugfix: nginx could not be built on platforms different from i386, 2886 *) Bugfix: nginx could not be built on platforms different from i386,
2831 amd64, sparc É ppc; bug appeared in 0.1.22. 2887 amd64, sparc, and ppc; the bug had appeared in 0.1.22.
2832 2888
2833 *) Bugfix: the ngx_http_autoindex_module now shows the information not 2889 *) Bugfix: the ngx_http_autoindex_module now shows the information not
2834 about the symlink, but about file or directory it points to. 2890 about the symlink, but about file or directory it points to.
2835 2891
2836 *) Bugfix: the %apache_length parameter logged the negative length of 2892 *) Bugfix: the %apache_length parameter logged the negative length of
2841 2897
2842 *) Bugfix: the ngx_http_stub_status_module showed incorrect handled 2898 *) Bugfix: the ngx_http_stub_status_module showed incorrect handled
2843 connections statistics if the proxying or FastCGI server were used. 2899 connections statistics if the proxying or FastCGI server were used.
2844 2900
2845 *) Bugfix: the installation paths were incorrectly quoted on Linux and 2901 *) Bugfix: the installation paths were incorrectly quoted on Linux and
2846 Solaris; bug appeared in 0.1.21. 2902 Solaris; the bug had appeared in 0.1.21.
2847 2903
2848 2904
2849 Changes with nginx 0.1.21 22 Feb 2005 2905 Changes with nginx 0.1.21 22 Feb 2005
2850 2906
2851 *) Bugfix: the ngx_http_stub_status_module showed incorrect statistics 2907 *) Bugfix: the ngx_http_stub_status_module showed incorrect statistics
2926 *) Bugfix: if the proxy_pass or fastcgi_pass directives were set in the 2982 *) Bugfix: if the proxy_pass or fastcgi_pass directives were set in the
2927 location, and access was denied, and the error was redirected to a 2983 location, and access was denied, and the error was redirected to a
2928 static page, then the segmentation fault occurred. 2984 static page, then the segmentation fault occurred.
2929 2985
2930 *) Bugfix: if in a proxied "Location" header was a relative URL, then a 2986 *) Bugfix: if in a proxied "Location" header was a relative URL, then a
2931 host name and a slash were added to them; bug appeared in 0.1.14. 2987 host name and a slash were added to them; the bug had appeared in
2988 0.1.14.
2932 2989
2933 *) Bugfix: the system error message was not logged on Linux. 2990 *) Bugfix: the system error message was not logged on Linux.
2934 2991
2935 2992
2936 Changes with nginx 0.1.16 25 Jan 2005 2993 Changes with nginx 0.1.16 25 Jan 2005
2951 options, are not used for the unix domain sockets. 3008 options, are not used for the unix domain sockets.
2952 3009
2953 *) Feature: the rewrite directive supports the arguments rewriting. 3010 *) Feature: the rewrite directive supports the arguments rewriting.
2954 3011
2955 *) Bugfix: the response code 400 was returned for the POST request with 3012 *) Bugfix: the response code 400 was returned for the POST request with
2956 the "Content-Length: 0" header; bug appeared in 0.1.14. 3013 the "Content-Length: 0" header; the bug had appeared in 0.1.14.
2957 3014
2958 3015
2959 Changes with nginx 0.1.15 19 Jan 2005 3016 Changes with nginx 0.1.15 19 Jan 2005
2960 3017
2961 *) Bugfix: the error while the connecting to the FastCGI server caused 3018 *) Bugfix: the error while the connecting to the FastCGI server caused
2972 3029
2973 *) Bugfix: the ngx_http_rewrite_module module was required to be built 3030 *) Bugfix: the ngx_http_rewrite_module module was required to be built
2974 to use the regular expressions in locations. 3031 to use the regular expressions in locations.
2975 3032
2976 *) Bugfix: the directive "proxy_preserve_host on" adds port 80 to the 3033 *) Bugfix: the directive "proxy_preserve_host on" adds port 80 to the
2977 "Host" headers, if upstream listen on port 80; bug appeared in 3034 "Host" headers, if upstream listen on port 80; the bug had appeared
2978 0.1.14. 3035 in 0.1.14.
2979 3036
2980 *) Bugfix: the same paths in autoconfiguration parameters 3037 *) Bugfix: the same paths in autoconfiguration parameters
2981 --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH, 3038 --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH,
2982 or --http-client-body-temp-path=PATH and 3039 or --http-client-body-temp-path=PATH and
2983 --http-fastcgi-temp-path=PATH caused segmentation fault. 3040 --http-fastcgi-temp-path=PATH caused segmentation fault.
2999 fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers, 3056 fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers,
3000 fastcgi_busy_buffers_size, fastcgi_temp_path, 3057 fastcgi_busy_buffers_size, fastcgi_temp_path,
3001 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size, 3058 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
3002 fastcgi_next_upstream, and fastcgi_x_powered_by. 3059 fastcgi_next_upstream, and fastcgi_x_powered_by.
3003 3060
3004 *) Bugfix: the "[alert] zero size buf" error; bug appeared in 0.1.3. 3061 *) Bugfix: the "[alert] zero size buf" error; the bug had appeared in
3062 0.1.3.
3005 3063
3006 *) Change: the URI must be specified after the host name in the 3064 *) Change: the URI must be specified after the host name in the
3007 proxy_pass directive. 3065 proxy_pass directive.
3008 3066
3009 *) Change: the %3F symbol in the URI was considered as the argument 3067 *) Change: the %3F symbol in the URI was considered as the argument
3084 3142
3085 Changes with nginx 0.1.10 26 Nov 2004 3143 Changes with nginx 0.1.10 26 Nov 2004
3086 3144
3087 *) Bugfix: if the request without arguments contains "//", "/./", 3145 *) Bugfix: if the request without arguments contains "//", "/./",
3088 "/../" or "%XX" then the lost character in the request line was 3146 "/../" or "%XX" then the lost character in the request line was
3089 lost; bug appeared in 0.1.9. 3147 lost; the bug had appeared in 0.1.9.
3090 3148
3091 *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did 3149 *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did
3092 not work. 3150 not work.
3093 3151
3094 3152
3102 3160
3103 *) Bugfix: the files bigger than 2G was not transferred on Linux that 3161 *) Bugfix: the files bigger than 2G was not transferred on Linux that
3104 does not support sendfile64(). 3162 does not support sendfile64().
3105 3163
3106 *) Bugfix: while the build configuration on Linux the 3164 *) Bugfix: while the build configuration on Linux the
3107 --with-poll_module parameter was required; bug appeared in 0.1.8. 3165 --with-poll_module parameter was required; the bug had appeared in
3166 0.1.8.
3108 3167
3109 3168
3110 Changes with nginx 0.1.8 20 Nov 2004 3169 Changes with nginx 0.1.8 20 Nov 2004
3111 3170
3112 *) Bugfix: in the ngx_http_autoindex_module if the long file names were 3171 *) Bugfix: in the ngx_http_autoindex_module if the long file names were
3118 3177
3119 3178
3120 Changes with nginx 0.1.7 12 Nov 2004 3179 Changes with nginx 0.1.7 12 Nov 2004
3121 3180
3122 *) Bugfix: on FreeBSD the segmentation fault may occur if the size of 3181 *) Bugfix: on FreeBSD the segmentation fault may occur if the size of
3123 the transferred file was changed; bug appeared in 0.1.5. 3182 the transferred file was changed; the bug had appeared in 0.1.5.
3124 3183
3125 3184
3126 Changes with nginx 0.1.6 11 Nov 2004 3185 Changes with nginx 0.1.6 11 Nov 2004
3127 3186
3128 *) Bugfix: some location directive combinations with the regular 3187 *) Bugfix: some location directive combinations with the regular
3177 *) Feature: the server_name directive supports *.domain.tld. 3236 *) Feature: the server_name directive supports *.domain.tld.
3178 3237
3179 *) Bugfix: the portability improvements. 3238 *) Bugfix: the portability improvements.
3180 3239
3181 *) Bugfix: if configuration file was set in command line, the 3240 *) Bugfix: if configuration file was set in command line, the
3182 reconfiguration was impossible; bug appeared in 0.1.1. 3241 reconfiguration was impossible; the bug had appeared in 0.1.1.
3183 3242
3184 *) Bugfix: proxy module may get caught in an endless loop when sendfile 3243 *) Bugfix: proxy module may get caught in an endless loop when sendfile
3185 is not used. 3244 is not used.
3186 3245
3187 *) Bugfix: with sendfile the response was not recoded according to the 3246 *) Bugfix: with sendfile the response was not recoded according to the
3188 charset module directives; bug appeared in 0.1.1. 3247 charset module directives; the bug had appeared in 0.1.1.
3189 3248
3190 *) Bugfix: very seldom bug in the kqueue processing. 3249 *) Bugfix: very seldom bug in the kqueue processing.
3191 3250
3192 *) Bugfix: the gzip module compressed the proxied responses that was 3251 *) Bugfix: the gzip module compressed the proxied responses that was
3193 already compressed. 3252 already compressed.