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