comparison text/en/CHANGES-0.5 @ 0:61e04fc01027

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