nginx-0.8.31-RELEASE
diff --git a/docs/xml/nginx/changes.xml b/docs/xml/nginx/changes.xml
index f62c020..c96554f 100644
--- a/docs/xml/nginx/changes.xml
+++ b/docs/xml/nginx/changes.xml
@@ -9,6 +9,102 @@
 <title lang="en">nginx changelog</title>
 
 
+<changes ver="0.8.31" date="23.12.2009">
+
+<change type="feature">
+<para lang="ru">
+ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á error_page ÍÏÖÅÔ ÐÅÒÅÎÁÐÒÁ×ÌÑÔØ ÏÔ×ÅÔÙ ÓÏ ÓÔÁÔÕÓÏÍ 301 É 302.
+</para>
+<para lang="en">
+now the "error_page" directive may redirect the 301 and 302 responses.
+</para>
+</change>
+
+<change type="feature">
+<para lang="ru">
+ÐÅÒÅÍÅÎÎÙÅ $geoip_city_continent_code, $geoip_latitude É $geoip_longitude.<br/>
+óÐÁÓÉÂÏ Arvind Sundararajan.
+</para>
+<para lang="en">
+the $geoip_city_continent_code, $geoip_latitude, and $geoip_longitude
+variables.<br/>
+Thanks to Arvind Sundararajan.
+</para>
+</change>
+
+<change type="feature">
+<para lang="ru">
+ÍÏÄÕÌØ ngx_http_image_filter_module ÔÅÐÅÒØ ×ÓÅÇÄÁ ÕÄÁÌÑÅÔ
+EXIF É ÄÒÕÇÉÅ ÄÁÎÎÙÅ, ÅÓÌÉ ÏÎÉ ÚÁÎÉÍÁÀÔ ÂÏÌØÛÅ 5% × JPEG-ÆÁÊÌÅ.
+</para>
+<para lang="en">
+now the ngx_http_image_filter_module deletes always EXIF and other
+application specific data if the data consume more than 5% of a JPEG file.
+</para>
+</change>
+
+<change type="bugfix">
+<para lang="ru">
+nginx ÚÁËÒÙ×ÁÌ ÓÏÅÄÉÎÅÎÉÅ ÐÒÉ ÚÁÐÒÏÓÅ ÚÁËÜÛÉÒÏ×ÁÎÎÏÇÏ
+ÏÔ×ÅÔÁ Ó ÐÕÓÔÙÍ ÔÅÌÏÍ.<br/>
+óÐÁÓÉÂÏ Piotr Sikora.
+</para>
+<para lang="en">
+nginx closed a connection if a cached response had an empty body.<br/>
+Thanks to Piotr Sikora.
+</para>
+</change>
+
+<change type="bugfix">
+<para lang="ru">
+nginx ÍÏÇ ÎÅ ÓÏÂÉÒÁÔØÓÑ gcc 4.x ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÏÐÔÉÍÉÚÁÃÉÉ -O2 É ×ÙÛÅ.<br/>
+óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ É äÅÎÉÓÕ ìÁÔÙÐÏ×Õ.
+</para>
+<para lang="en">
+nginx might not be built by gcc 4.x if the -O2 or higher optimization option
+was used.<br/>
+Thanks to Maxim Dounin and Denis F. Latypoff.
+</para>
+</change>
+
+<change type="bugfix">
+<para lang="ru">
+ÒÅÇÕÌÑÒÎÙÅ ×ÙÒÁÖÅÎÉÑ × location ×ÓÅÇÄÁ ÔÅÓÔÉÒÏ×ÁÌÉÓØ Ó ÕÞ£ÔÏÍ ÒÅÇÉÓÔÒÁ;
+ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.25.
+</para>
+<para lang="en">
+regular expressions in location were always tested in case-sensitive mode;
+the bug had appeared in 0.8.25.
+</para>
+</change>
+
+<change type="bugfix">
+<para lang="ru">
+nginx ËÜÛÉÒÏ×ÁÌ 304 ÏÔ×ÅÔ, ÅÓÌÉ × ÚÁÇÏÌÏ×ËÅ ÐÒÏËÓÉÒÕÅÍÏÇÏ ÚÁÐÒÏÓÁ
+ÂÙÌÁ ÓÔÒÏËÁ "If-None-Match".<br/>
+óÐÁÓÉÂÏ Tim Dettrick É David Kostal.
+</para>
+<para lang="en">
+nginx cached a 304 response if there was the "If-None-Match" header line
+in a proxied request.<br/>
+Thanks to Tim Dettrick and David Kostal.
+</para>
+</change>
+
+<change type="bugfix">
+<para lang="ru">
+nginx/Windows ÐÙÔÁÌÓÑ Ä×ÁÖÄÙ ÕÄÁÌÉÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ
+ÐÒÉ ÐÅÒÅÚÁÐÉÓÉ ÕÖÅ ÓÕÝÅÓÔ×ÕÀÝÅÇÏ ÆÁÊÌÁ.
+</para>
+<para lang="en">
+nginx/Windows tried to delete a temporary file twice
+if the file should replace an already existent file.
+</para>
+</change>
+
+</changes>
+
+
 <changes ver="0.8.30" date="15.12.2009">
 
 <change type="change">
@@ -1300,7 +1396,7 @@
 <change type="bugfix">
 <para lang="ru">
 × ÏÂÒÁÂÏÔËÅ ÓÔÒÏË "Last-Modified" É "Accept-Ranges" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ;
-ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.44<br/>
+ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.44.<br/>
 óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ.
 </para>
 <para lang="en">