nginx-0.4.0-RELEASE import

    *) Change in internal API: the HTTP modules initialization was moved
       from the init module phase to the HTTP postconfiguration phase.

    *) Change: now the request body is not read beforehand for the
       ngx_http_perl_module: it's required to start the reading using the
       $r->has_request_body method.

    *) Feature: the ngx_http_perl_module supports the DECLINED return code.

    *) Feature: the ngx_http_dav_module supports the incoming "Date" header
       line for the PUT method.

    *) Feature: the "ssi" directive is available inside the "if" block.

    *) Bugfix: a segmentation fault occurred if there was an "index"
       directive with variables and the first index name was without
       variables; the bug had appeared in 0.1.29.
diff --git a/docs/GNUmakefile b/docs/GNUmakefile
new file mode 100644
index 0000000..7f2d45a
--- /dev/null
+++ b/docs/GNUmakefile
@@ -0,0 +1,53 @@
+
+VER=	$(shell grep NGINX_VER src/core/nginx.h				\
+		| sed -e 's%^.*\"nginx/\(.*\)\"%\1%')
+NGINX=	nginx-$(VER)
+TEMP=	tmp
+CP=	$(HOME)/java
+
+define  XSLScript
+	javavm -cp $(CP)/xsls/saxon.jar:$(CP)/xsls/xsls.jar		\
+		com.pault.StyleSheet					\
+		-x com.pault.XX -y com.pault.XX				\
+	$(1) docs/xsls/dump.xsls					\
+	| awk 'BEGIN{e=0}/^\n*$$/{e=1;next}{if(e){print"";e=0};print}' > $(2)
+
+	if [ ! -s $(2) ]; then rm $(2); fi; test -s $(2)
+endef
+
+define  XSLT
+	xsltproc $(shell echo $4					\
+		| sed -e "s/\([^= ]*\)=\([^= ]*\)/--param \1 \"'\2'\"/g") \
+		$3 $1							\
+	> $(HTML)/$(strip $(2))
+endef
+
+
+changes:	$(TEMP)/$(NGINX)/CHANGES.ru				\
+		$(TEMP)/$(NGINX)/CHANGES
+
+
+$(TEMP)/$(NGINX)/CHANGES.ru:	docs/xml/nginx/changes.xml		\
+				docs/xslt/changes.xslt
+
+	test -d $(TEMP)/$(NGINX) || mkdir -p $(TEMP)/$(NGINX)
+
+	xsltproc --param lang "'ru'"					\
+		-o $(TEMP)/$(NGINX)/CHANGES.ru				\
+		docs/xslt/changes.xslt docs/xml/nginx/changes.xml
+
+
+$(TEMP)/$(NGINX)/CHANGES:	docs/xml/nginx/changes.xml		\
+				docs/xslt/changes.xslt
+
+	test -d $(TEMP)/$(NGINX) || mkdir - p$(TEMP)/$(NGINX)
+
+	xsltproc --param lang "'en'"					\
+		-o $(TEMP)/$(NGINX)/CHANGES				\
+		docs/xslt/changes.xslt docs/xml/nginx/changes.xml
+
+
+docs/xslt/changes.xslt:		docs/xsls/changes.xsls
+
+	$(call XSLScript, docs/xsls/changes.xsls, $@)
+
diff --git a/docs/xml/nginx/changes.xml b/docs/xml/nginx/changes.xml
index 920b0a3..0ad86c5 100644
--- a/docs/xml/nginx/changes.xml
+++ b/docs/xml/nginx/changes.xml
@@ -8,9 +8,8 @@
 <title lang="ru">éÚÍÅÎÅÎÉÑ × nginx</title>
 <title lang="en">nginx changelog</title>
 
-<!--
 
-<changes ver="0.4.0" date="19.08.2006">
+<changes ver="0.4.0" date="30.08.2006">
 
 <change>
 <para lang="ru">
@@ -23,13 +22,73 @@
 </para>
 </change>
 
-</changes>
+<change type="change">
+<para lang="ru">
+ÔÅÐÅÒØ ÔÅÌÏ ÚÁÐÒÏÓÁ × ÍÏÄÕÌÅ ngx_http_perl_module ÎÅ ÓÞÉÔÙ×ÁÅÔÓÑ
+ÚÁÒÁÎÅÅ: ÎÕÖÎÏ Ñ×ÎÏ ÉÎÉÃÉÉÒÏ×ÁÔØ ÞÔÅÎÉÅ Ó ÐÏÍÏÝØÀ ÍÅÔÏÄÁ $r->has_request_body.
+</para>
+<para lang="en">
+now the request body is not read beforehand for the ngx_http_perl_module:
+it's required to start the reading using the $r->has_request_body method.
+</para>
+</change>
 
--->
+<change type="feature">
+<para lang="ru">
+ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÏÄ ×ÏÚ×ÒÁÔÁ DECLINED.
+</para>
+<para lang="en">
+the ngx_http_perl_module supports the DECLINED return code.
+</para>
+</change>
+
+<change type="feature">
+<para lang="ru">
+ÍÏÄÕÌØ ngx_http_dav_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÈÏÄÑÝÕÀ ÓÔÒÏËÕ ÚÁÇÏÌÏ×ËÁ "Date"
+ÄÌÑ ÍÅÔÏÄÁ PUT.
+</para>
+<para lang="en">
+the ngx_http_dav_module supports the incoming "Date" header line
+for the PUT method.
+</para>
+</change>
+
+<change type="feature">
+<para lang="ru">
+ÄÉÒÅËÔÉ×Á ssi ÒÁÂÏÔÁÅÔ ×ÎÕÔÒÉ ÂÌÏËÁ if.
+</para>
+<para lang="en">
+the "ssi" directive is available inside the "if" block.
+</para>
+</change>
+
+<change type="bugfix">
+<para lang="ru">
+ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ × ÄÉÒÅËÔÉ×Å index ÉÓÐÏÌØÚÏ×ÁÌÁÓØ
+ÐÅÒÅÍÅÎÎÙÅ É ÐÒÉ ÜÔÏÍ ÐÅÒ×ÏÅ ÉÍÑ ÉÎÄÅËÓÎÏÇÏ ÆÁÊÌÁ ÂÙÌÏ ÂÅÚ ÐÅÒÅÍÅÎÎÙÈ;
+ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29.
+</para>
+<para lang="en">
+a segmentation fault occurred if there was an "index" directive with
+variables and the first index name was without variables;
+bug appeared in 0.1.29.
+</para>
+</change>
+
+</changes>
 
 
 <changes ver="0.3.61" date="28.08.2006">
 
+<change type="change">
+<para lang="ru">
+ÄÉÒÅËÔÉ×Á tcp_nodelay ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ×ËÌÀÞÅÎÁ.
+</para>
+<para lang="en">
+now the "tcp_nodelay" directive is turned on by default.
+</para>
+</change>
+
 <change type="feature">
 <para lang="ru">
 ÄÉÒÅËÔÉ×Á msie_refresh.