xref: /nginx/docs/xml/nginx/changes.xml (revision 7775:3fa6e2095a7a)
1<?xml version="1.0" ?>
2<!DOCTYPE change_log SYSTEM "../../dtd/changes.dtd" >
3
4
5<change_log title="nginx">
6
7
8<changes ver="1.19.7" date="2021-02-16">
9
10<change type="change">
11<para lang="ru">
12обработка соединений в HTTP/2 была изменена
13и теперь более соответствует HTTP/1.x;
14директивы http2_recv_timeout, http2_idle_timeout
15и http2_max_requests упразднены,
16вместо них следует использовать директивы
17keepalive_timeout и keepalive_requests.
18</para>
19<para lang="en">
20connections handling in HTTP/2 has been changed
21to better match HTTP/1.x;
22the "http2_recv_timeout", "http2_idle_timeout",
23and "http2_max_requests" directives have been removed,
24the "keepalive_timeout" and "keepalive_requests" directives
25should be used instead.
26</para>
27</change>
28
29<change type="change">
30<para lang="ru">
31директивы http2_max_field_size и http2_max_header_size упразднены,
32вместо них следует использовать директиву large_client_header_buffers.
33</para>
34<para lang="en">
35the "http2_max_field_size" and "http2_max_header_size" directives
36have been removed,
37the "large_client_header_buffers" directive should be used instead.
38</para>
39</change>
40
41<change type="feature">
42<para lang="ru">
43теперь при исчерпании свободных соединений
44nginx закрывает не только keepalive-соединения,
45но и соединения в lingering close.
46</para>
47<para lang="en">
48now, if free worker connections are exhausted,
49nginx starts closing not only keepalive connections,
50but also connections in lingering close.
51</para>
52</change>
53
54<change type="bugfix">
55<para lang="ru">
56в логах могли появляться сообщения "zero size buf in output",
57если бэкенд возвращал некорректный ответ
58при небуферизированном проксировании;
59ошибка появилась в 1.19.1.
60</para>
61<para lang="en">
62"zero size buf in output" alerts might appear in logs
63if an upstream server returned an incorrect response
64during unbuffered proxying;
65the bug had appeared in 1.19.1.
66</para>
67</change>
68
69<change type="bugfix">
70<para lang="ru">
71при использовании директивы return
72вместе с image_filter или xslt_stylesheet
73HEAD-запросы обрабатывались некорректно.
74</para>
75<para lang="en">
76HEAD requests were handled incorrectly
77if the "return" directive was used
78with the "image_filter" or "xslt_stylesheet" directives.
79</para>
80</change>
81
82<change type="bugfix">
83<para lang="ru">
84в директиве add_trailer.
85</para>
86<para lang="en">
87in the "add_trailer" directive.
88</para>
89</change>
90
91</changes>
92
93
94<changes ver="1.19.6" date="2020-12-15">
95
96<change type="bugfix">
97<para lang="ru">
98ошибки "no live upstreams",
99если server в блоке upstream был помечен как down.
100</para>
101<para lang="en">
102"no live upstreams" errors
103if a "server" inside "upstream" block was marked as "down".
104</para>
105</change>
106
107<change type="bugfix">
108<para lang="ru">
109при использовании HTTPS в рабочем процессе мог произойти segmentation fault;
110ошибка появилась в 1.19.5.
111</para>
112<para lang="en">
113a segmentation fault might occur in a worker process if HTTPS was used;
114the bug had appeared in 1.19.5.
115</para>
116</change>
117
118<change type="bugfix">
119<para lang="ru">
120nginx возвращал ошибку 400 на запросы вида
121<nobr>"GET http://example.com?args HTTP/1.0"</nobr>.
122</para>
123<para lang="en">
124nginx returned the 400 response on requests like
125<nobr>"GET http://example.com?args HTTP/1.0"</nobr>.
126</para>
127</change>
128
129<change type="bugfix">
130<para lang="ru">
131в модулях ngx_http_flv_module и ngx_http_mp4_module.<br/>
132Спасибо Chris Newton.
133</para>
134<para lang="en">
135in the ngx_http_flv_module and ngx_http_mp4_module.<br/>
136Thanks to Chris Newton.
137</para>
138</change>
139
140</changes>
141
142
143<changes ver="1.19.5" date="2020-11-24">
144
145<change type="feature">
146<para lang="ru">
147ключ -e.
148</para>
149<para lang="en">
150the -e switch.
151</para>
152</change>
153
154<change type="feature">
155<para lang="ru">
156при сборке дополнительных модулей
157теперь можно указывать одни и те же исходные файлы в разных модулях.
158</para>
159<para lang="en">
160the same source files can now be specified in different modules
161while building addon modules.
162</para>
163</change>
164
165<change type="bugfix">
166<para lang="ru">
167SSL shutdown не работал
168при закрытии соединений с ожиданием дополнительных данных (lingering close).
169</para>
170<para lang="en">
171SSL shutdown did not work
172when lingering close was used.
173</para>
174</change>
175
176<change type="bugfix">
177<para lang="ru">
178при работе с gRPC-бэкендами
179могли возникать ошибки "upstream sent frame for closed stream".
180</para>
181<para lang="en">
182"upstream sent frame for closed stream" errors might occur
183when working with gRPC backends.
184</para>
185</change>
186
187<change type="bugfix">
188<para lang="ru">
189во внутреннем API для обработки тела запроса.
190</para>
191<para lang="en">
192in request body filters internal API.
193</para>
194</change>
195
196</changes>
197
198
199<changes ver="1.19.4" date="2020-10-27">
200
201<change type="feature">
202<para lang="ru">
203директивы ssl_conf_command, proxy_ssl_conf_command, grpc_ssl_conf_command
204и uwsgi_ssl_conf_command.
205</para>
206<para lang="en">
207the "ssl_conf_command", "proxy_ssl_conf_command", "grpc_ssl_conf_command",
208and "uwsgi_ssl_conf_command" directives.
209</para>
210</change>
211
212<change type="feature">
213<para lang="ru">
214директива ssl_reject_handshake.
215</para>
216<para lang="en">
217the "ssl_reject_handshake" directive.
218</para>
219</change>
220
221<change type="feature">
222<para lang="ru">
223директива proxy_smtp_auth в почтовом прокси-сервере.
224</para>
225<para lang="en">
226the "proxy_smtp_auth" directive in mail proxy.
227</para>
228</change>
229
230</changes>
231
232
233<changes ver="1.19.3" date="2020-09-29">
234
235<change type="feature">
236<para lang="ru">
237модуль ngx_stream_set_module.
238</para>
239<para lang="en">
240the ngx_stream_set_module.
241</para>
242</change>
243
244<change type="feature">
245<para lang="ru">
246директива proxy_cookie_flags.
247</para>
248<para lang="en">
249the "proxy_cookie_flags" directive.
250</para>
251</change>
252
253<change type="feature">
254<para lang="ru">
255директива userid_flags.
256</para>
257<para lang="en">
258the "userid_flags" directive.
259</para>
260</change>
261
262<change type="bugfix">
263<para lang="ru">
264расширение управления кэшированием stale-if-error
265ошибочно применялось, если бэкенд возвращал ответ
266с кодом 500, 502, 503, 504, 403, 404 или 429.
267</para>
268<para lang="en">
269the "stale-if-error" cache control extension
270was erroneously applied if backend returned a response
271with status code 500, 502, 503, 504, 403, 404, or 429.
272</para>
273</change>
274
275<change type="bugfix">
276<para lang="ru">
277если использовалось кэширование
278и бэкенд возвращал ответы с строкой заголовка Vary,
279в логах могли появляться сообщения "[crit] cache file ... has too long header".
280</para>
281<para lang="en">
282"[crit] cache file ... has too long header" messages might appear in logs
283if caching was used
284and the backend returned responses with the "Vary" header line.
285</para>
286</change>
287
288<change type="workaround">
289<para lang="ru">
290при использовании OpenSSL 1.1.1
291в логах могли появляться сообщения "[crit] SSL_write() failed".
292</para>
293<para lang="en">
294"[crit] SSL_write() failed" messages might appear in logs
295when using OpenSSL 1.1.1.
296</para>
297</change>
298
299<change type="bugfix">
300<para lang="ru">
301в логах могли появляться сообщения
302"SSL_shutdown() failed (SSL: ... bad write retry)";
303ошибка появилась в 1.19.2.
304</para>
305<para lang="en">
306"SSL_shutdown() failed (SSL: ... bad write retry)"
307messages might appear in logs;
308the bug had appeared in 1.19.2.
309</para>
310</change>
311
312<change type="bugfix">
313<para lang="ru">
314при использовании HTTP/2
315в рабочем процессе мог произойти segmentation fault,
316если ошибки с кодом 400 с помощью директивы error_page
317перенаправлялись в проксируемый location.
318</para>
319<para lang="en">
320a segmentation fault might occur in a worker process
321when using HTTP/2
322if errors with code 400 were redirected to a proxied location
323using the "error_page" directive.
324</para>
325</change>
326
327<change type="bugfix">
328<para lang="ru">
329утечки сокетов при использовании HTTP/2 и подзапросов в модуле njs.
330</para>
331<para lang="en">
332socket leak when using HTTP/2 and subrequests in the njs module.
333</para>
334</change>
335
336</changes>
337
338
339<changes ver="1.19.2" date="2020-08-11">
340
341<change type="change">
342<para lang="ru">
343теперь nginx начинает закрывать keepalive-соединения,
344не дожидаясь исчерпания всех свободных соединений,
345а также пишет об этом предупреждение в лог ошибок.
346</para>
347<para lang="en">
348now nginx starts closing keepalive connections
349before all free worker connections are exhausted,
350and logs a warning about this to the error log.
351</para>
352</change>
353
354<change type="change">
355<para lang="ru">
356оптимизация чтения тела запроса
357при использовании chunked transfer encoding.
358</para>
359<para lang="en">
360optimization of client request body reading
361when using chunked transfer encoding.
362</para>
363</change>
364
365<change type="bugfix">
366<para lang="ru">
367утечки памяти при использовании директивы ssl_ocsp.
368</para>
369<para lang="en">
370memory leak if the "ssl_ocsp" directive was used.
371</para>
372</change>
373
374<change type="bugfix">
375<para lang="ru">
376в логах могли появляться сообщения "zero size buf in output",
377если FastCGI-сервер возвращал некорректный ответ;
378ошибка появилась в 1.19.1.
379</para>
380<para lang="en">
381"zero size buf in output" alerts might appear in logs
382if a FastCGI server returned an incorrect response;
383the bug had appeared in 1.19.1.
384</para>
385</change>
386
387<change type="bugfix">
388<para lang="ru">
389в рабочем процессе мог произойти segmentation fault,
390если размеры large_client_header_buffers отличались
391в разных виртуальных серверах.
392</para>
393<para lang="en">
394a segmentation fault might occur in a worker process
395if different large_client_header_buffers sizes were used
396in different virtual servers.
397</para>
398</change>
399
400<change type="bugfix">
401<para lang="ru">
402SSL shutdown мог не работать.
403</para>
404<para lang="en">
405SSL shutdown might not work.
406</para>
407</change>
408
409<change type="bugfix">
410<para lang="ru">
411в логах могли появляться сообщения
412"SSL_shutdown() failed (SSL: ... bad write retry)".
413</para>
414<para lang="en">
415"SSL_shutdown() failed (SSL: ... bad write retry)"
416messages might appear in logs.
417</para>
418</change>
419
420<change type="bugfix">
421<para lang="ru">
422в модуле ngx_http_slice_module.
423</para>
424<para lang="en">
425in the ngx_http_slice_module.
426</para>
427</change>
428
429<change type="bugfix">
430<para lang="ru">
431в модуле ngx_http_xslt_filter_module.
432</para>
433<para lang="en">
434in the ngx_http_xslt_filter_module.
435</para>
436</change>
437
438</changes>
439
440
441<changes ver="1.19.1" date="2020-07-07">
442
443<change type="change">
444<para lang="ru">
445директивы lingering_close, lingering_time и lingering_timeout
446теперь работают при использовании HTTP/2.
447</para>
448<para lang="en">
449the "lingering_close", "lingering_time", and "lingering_timeout" directives
450now work when using HTTP/2.
451</para>
452</change>
453
454<change type="change">
455<para lang="ru">
456теперь лишние данные, присланные бэкендом, всегда отбрасываются.
457</para>
458<para lang="en">
459now extra data sent by a backend are always discarded.
460</para>
461</change>
462
463<change type="change">
464<para lang="ru">
465теперь при получении слишком короткого ответа от FastCGI-сервера
466nginx пытается отправить клиенту доступную часть ответа,
467после чего закрывает соединение с клиентом.
468</para>
469<para lang="en">
470now after receiving a too short response from a FastCGI server
471nginx tries to send the available part of the response to the client,
472and then closes the client connection.
473</para>
474</change>
475
476<change type="change">
477<para lang="ru">
478теперь при получении ответа некорректной длины от gRPC-бэкенда
479nginx прекращает обработку ответа с ошибкой.
480</para>
481<para lang="en">
482now after receiving a response with incorrect length from a gRPC backend
483nginx stops response processing with an error.
484</para>
485</change>
486
487<change type="feature">
488<para lang="ru">
489параметр min_free в директивах proxy_cache_path, fastcgi_cache_path,
490scgi_cache_path и uwsgi_cache_path.<br/>
491Спасибо Adam Bambuch.
492</para>
493<para lang="en">
494the "min_free" parameter of the "proxy_cache_path", "fastcgi_cache_path",
495"scgi_cache_path", and "uwsgi_cache_path" directives.<br/>
496Thanks to Adam Bambuch.
497</para>
498</change>
499
500<change type="bugfix">
501<para lang="ru">
502nginx не удалял unix domain listen-сокеты
503при плавном завершении по сигналу SIGQUIT.
504</para>
505<para lang="en">
506nginx did not delete unix domain listen sockets
507during graceful shutdown on the SIGQUIT signal.
508</para>
509</change>
510
511<change type="bugfix">
512<para lang="ru">
513UDP-пакеты нулевого размера не проксировались.
514</para>
515<para lang="en">
516zero length UDP datagrams were not proxied.
517</para>
518</change>
519
520<change type="bugfix">
521<para lang="ru">
522проксирование на uwsgi-бэкенды с использованием SSL могло не работать.<br/>
523Спасибо Guanzhong Chen.
524</para>
525<para lang="en">
526proxying to uwsgi backends using SSL might not work.<br/>
527Thanks to Guanzhong Chen.
528</para>
529</change>
530
531<change type="bugfix">
532<para lang="ru">
533в обработке ошибок при использовании директивы ssl_ocsp.
534</para>
535<para lang="en">
536in error handling when using the "ssl_ocsp" directive.
537</para>
538</change>
539
540<change type="bugfix">
541<para lang="ru">
542при использовании файловых систем XFS и NFS
543размер кэша на диске мог считаться некорректно.
544</para>
545<para lang="en">
546on XFS and NFS file systems
547disk cache size might be calculated incorrectly.
548</para>
549</change>
550
551<change type="bugfix">
552<para lang="ru">
553если сервер memcached возвращал некорректный ответ,
554в логах могли появляться сообщения "negative size buf in writer".
555</para>
556<para lang="en">
557"negative size buf in writer" alerts might appear in logs
558if a memcached server returned a malformed response.
559</para>
560</change>
561
562</changes>
563
564
565<changes ver="1.19.0" date="2020-05-26">
566
567<change type="feature">
568<para lang="ru">
569проверка клиентских сертификатов с помощью OCSP.
570</para>
571<para lang="en">
572client certificate validation with OCSP.
573</para>
574</change>
575
576<change type="bugfix">
577<para lang="ru">
578при работе с gRPC-бэкендами
579могли возникать ошибки "upstream sent frame for closed stream".
580</para>
581<para lang="en">
582"upstream sent frame for closed stream" errors might occur
583when working with gRPC backends.
584</para>
585</change>
586
587<change type="bugfix">
588<para lang="ru">
589OCSP stapling мог не работать,
590если не была указана директива resolver.
591</para>
592<para lang="en">
593OCSP stapling might not work
594if the "resolver" directive was not specified.
595</para>
596</change>
597
598<change type="bugfix">
599<para lang="ru">
600соединения с некорректным HTTP/2 preface не логгировались.
601</para>
602<para lang="en">
603connections with incorrect HTTP/2 preface were not logged.
604</para>
605</change>
606
607</changes>
608
609
610<changes ver="1.17.10" date="2020-04-14">
611
612<change type="feature">
613<para lang="ru">
614директива auth_delay.
615</para>
616<para lang="en">
617the "auth_delay" directive.
618</para>
619</change>
620
621</changes>
622
623
624<changes ver="1.17.9" date="2020-03-03">
625
626<change type="change">
627<para lang="ru">
628теперь nginx не разрешает
629несколько строк "Host" в заголовке запроса.
630</para>
631<para lang="en">
632now nginx does not allow
633several "Host" request header lines.
634</para>
635</change>
636
637<change type="bugfix">
638<para lang="ru">
639nginx игнорировал дополнительные
640строки "Transfer-Encoding" в заголовке запроса.
641</para>
642<para lang="en">
643nginx ignored additional
644"Transfer-Encoding" request header lines.
645</para>
646</change>
647
648<change type="bugfix">
649<para lang="ru">
650утечки сокетов при использовании HTTP/2.
651</para>
652<para lang="en">
653socket leak when using HTTP/2.
654</para>
655</change>
656
657<change type="bugfix">
658<para lang="ru">
659в рабочем процессе мог произойти segmentation fault,
660если использовался OCSP stapling.
661</para>
662<para lang="en">
663a segmentation fault might occur in a worker process
664if OCSP stapling was used.
665</para>
666</change>
667
668<change type="bugfix">
669<para lang="ru">
670в модуле ngx_http_mp4_module.
671</para>
672<para lang="en">
673in the ngx_http_mp4_module.
674</para>
675</change>
676
677<change type="bugfix">
678<para lang="ru">
679при перенаправлении ошибок с кодом 494 с помощью директивы error_page
680nginx возвращал ответ с кодом 494 вместо 400.
681</para>
682<para lang="en">
683nginx used status code 494 instead of 400
684if errors with code 494 were redirected with the "error_page" directive.
685</para>
686</change>
687
688<change type="bugfix">
689<para lang="ru">
690утечки сокетов при использовании подзапросов в модуле njs и директивы aio.
691</para>
692<para lang="en">
693socket leak when using subrequests in the njs module and the "aio" directive.
694</para>
695</change>
696
697</changes>
698
699
700<changes ver="1.17.8" date="2020-01-21">
701
702<change type="feature">
703<para lang="ru">
704директива grpc_pass поддерживает переменные.
705</para>
706<para lang="en">
707variables support in the "grpc_pass" directive.
708</para>
709</change>
710
711<change type="bugfix">
712<para lang="ru">
713при обработке pipelined-запросов по SSL-соединению мог произойти таймаут;
714ошибка появилась в 1.17.5.
715</para>
716<para lang="en">
717a timeout might occur while handling pipelined requests in an SSL connection;
718the bug had appeared in 1.17.5.
719</para>
720</change>
721
722<change type="bugfix">
723<para lang="ru">
724в директиве debug_points при использовании HTTP/2.<br/>
725Спасибо Даниилу Бондареву.
726</para>
727<para lang="en">
728in the "debug_points" directive when using HTTP/2.<br/>
729Thanks to Daniil Bondarev.
730</para>
731</change>
732
733</changes>
734
735
736<changes ver="1.17.7" date="2019-12-24">
737
738<change type="bugfix">
739<para lang="ru">
740на старте или во время переконфигурации мог произойти segmentation fault,
741если в конфигурации использовалась
742директива rewrite с пустой строкой замены.
743</para>
744<para lang="en">
745a segmentation fault might occur on start or during reconfiguration
746if the "rewrite" directive with an empty replacement string
747was used in the configuration.
748</para>
749</change>
750
751<change type="bugfix">
752<para lang="ru">
753в рабочем процессе мог произойти segmentation fault,
754если директива break использовалась совместно с директивой alias
755или директивой proxy_pass с URI.
756</para>
757<para lang="en">
758a segmentation fault might occur in a worker process
759if the "break" directive was used with the "alias" directive
760or with the "proxy_pass" directive with a URI.
761</para>
762</change>
763
764<change type="bugfix">
765<para lang="ru">
766строка Location заголовка ответа могла содержать мусор,
767если URI запроса был изменён на URI, содержащий нулевой символ.
768</para>
769<para lang="en">
770the "Location" response header line might contain garbage
771if the request URI was rewritten to the one containing a null character.
772</para>
773</change>
774
775<change type="bugfix">
776<para lang="ru">
777при возврате перенаправлений с помощью директивы error_page
778запросы с телом обрабатывались некорректно;
779ошибка появилась в 0.7.12.
780</para>
781<para lang="en">
782requests with bodies were handled incorrectly
783when returning redirections with the "error_page" directive;
784the bug had appeared in 0.7.12.
785</para>
786</change>
787
788<change type="bugfix">
789<para lang="ru">
790утечки сокетов при использовании HTTP/2.
791</para>
792<para lang="en">
793socket leak when using HTTP/2.
794</para>
795</change>
796
797<change type="bugfix">
798<para lang="ru">
799при обработке pipelined-запросов по SSL-соединению мог произойти таймаут;
800ошибка появилась в 1.17.5.
801</para>
802<para lang="en">
803a timeout might occur while handling pipelined requests in an SSL connection;
804the bug had appeared in 1.17.5.
805</para>
806</change>
807
808<change type="bugfix">
809<para lang="ru">
810в модуле ngx_http_dav_module.
811</para>
812<para lang="en">
813in the ngx_http_dav_module.
814</para>
815</change>
816
817</changes>
818
819
820<changes ver="1.17.6" date="2019-11-19">
821
822<change type="feature">
823<para lang="ru">
824переменные $proxy_protocol_server_addr и $proxy_protocol_server_port.
825</para>
826<para lang="en">
827the $proxy_protocol_server_addr and $proxy_protocol_server_port variables.
828</para>
829</change>
830
831<change type="feature">
832<para lang="ru">
833директива limit_conn_dry_run.
834</para>
835<para lang="en">
836the "limit_conn_dry_run" directive.
837</para>
838</change>
839
840<change type="feature">
841<para lang="ru">
842переменные $limit_req_status и $limit_conn_status.
843</para>
844<para lang="en">
845the $limit_req_status and $limit_conn_status variables.
846</para>
847</change>
848
849</changes>
850
851
852<changes ver="1.17.5" date="2019-10-22">
853
854<change type="feature">
855<para lang="ru">
856теперь nginx использует вызов ioctl(FIONREAD), если он доступен,
857чтобы избежать чтения из быстрого соединения в течение долгого времени.
858</para>
859<para lang="en">
860now nginx uses ioctl(FIONREAD), if available,
861to avoid reading from a fast connection for a long time.
862</para>
863</change>
864
865<change type="bugfix">
866<para lang="ru">
867неполные закодированные символы в конце URI запроса игнорировались.
868</para>
869<para lang="en">
870incomplete escaped characters at the end of the request URI were ignored.
871</para>
872</change>
873
874<change type="bugfix">
875<para lang="ru">
876"/." и "/.." в конце URI запроса не нормализовывались.
877</para>
878<para lang="en">
879"/." and "/.." at the end of the request URI were not normalized.
880</para>
881</change>
882
883<change type="bugfix">
884<para lang="ru">
885в директиве merge_slashes.
886</para>
887<para lang="en">
888in the "merge_slashes" directive.
889</para>
890</change>
891
892<change type="bugfix">
893<para lang="ru">
894в директиве ignore_invalid_headers.<br/>
895Спасибо Alan Kemp.
896</para>
897<para lang="en">
898in the "ignore_invalid_headers" directive.<br/>
899Thanks to Alan Kemp.
900</para>
901</change>
902
903<change type="bugfix">
904<para lang="ru">
905nginx не собирался с MinGW-w64 gcc 8.1 и новее.
906</para>
907<para lang="en">
908nginx could not be built with MinGW-w64 gcc 8.1 or newer.
909</para>
910</change>
911
912</changes>
913
914
915<changes ver="1.17.4" date="2019-09-24">
916
917<change type="change">
918<para lang="ru">
919улучшено детектирование некорректного поведения клиентов в HTTP/2.
920</para>
921<para lang="en">
922better detection of incorrect client behavior in HTTP/2.
923</para>
924</change>
925
926<change type="change">
927<para lang="ru">
928в обработке непрочитанного тела запроса
929при возврате ошибок в HTTP/2.
930</para>
931<para lang="en">
932in handling of not fully read client request body
933when returning errors in HTTP/2.
934</para>
935</change>
936
937<change type="bugfix">
938<para lang="ru">
939директива worker_shutdown_timeout могла не работать
940при использовании HTTP/2.
941</para>
942<para lang="en">
943the "worker_shutdown_timeout" directive might not work
944when using HTTP/2.
945</para>
946</change>
947
948<change type="bugfix">
949<para lang="ru">
950при использовании HTTP/2 и директивы proxy_request_buffering
951в рабочем процессе мог произойти segmentation fault.
952</para>
953<para lang="en">
954a segmentation fault might occur in a worker process
955when using HTTP/2 and the "proxy_request_buffering" directive.
956</para>
957</change>
958
959<change type="bugfix">
960<para lang="ru">
961на Windows при использовании SSL
962уровень записи в лог ошибки ECONNABORTED был "crit" вместо "error".
963</para>
964<para lang="en">
965the ECONNABORTED error log level was "crit" instead of "error"
966on Windows when using SSL.
967</para>
968</change>
969
970<change type="bugfix">
971<para lang="ru">
972nginx игнорировал лишние данные при использовании chunked transfer encoding.
973</para>
974<para lang="en">
975nginx ignored extra data when using chunked transfer encoding.
976</para>
977</change>
978
979<change type="bugfix">
980<para lang="ru">
981если использовалась директива return и
982при чтении тела запроса возникала ошибка,
983nginx всегда возвращал ошибку 500.
984</para>
985<para lang="en">
986nginx always returned the 500 error
987if the "return" directive was used
988and an error occurred during reading client request body.
989</para>
990</change>
991
992<change type="bugfix">
993<para lang="ru">
994в обработке ошибок выделения памяти.
995</para>
996<para lang="en">
997in memory allocation error handling.
998</para>
999</change>
1000
1001</changes>
1002
1003
1004<changes ver="1.17.3" date="2019-08-13">
1005
1006<change type="security">
1007<para lang="ru">
1008при использовании HTTP/2 клиент мог вызвать
1009чрезмерное потребление памяти и ресурсов процессора
1010(CVE-2019-9511, CVE-2019-9513, CVE-2019-9516).
1011</para>
1012<para lang="en">
1013when using HTTP/2 a client might cause
1014excessive memory consumption and CPU usage
1015(CVE-2019-9511, CVE-2019-9513, CVE-2019-9516).
1016</para>
1017</change>
1018
1019<change type="bugfix">
1020<para lang="ru">
1021при использовании сжатия в логах могли появляться сообщения "zero size buf";
1022ошибка появилась в 1.17.2.
1023</para>
1024<para lang="en">
1025"zero size buf" alerts might appear in logs when using gzipping;
1026the bug had appeared in 1.17.2.
1027</para>
1028</change>
1029
1030<change type="bugfix">
1031<para lang="ru">
1032при использовании директивы resolver в SMTP прокси-сервере
1033в рабочем процессе мог произойти segmentation fault.
1034</para>
1035<para lang="en">
1036a segmentation fault might occur in a worker process
1037if the "resolver" directive was used in SMTP proxy.
1038</para>
1039</change>
1040
1041</changes>
1042
1043
1044<changes ver="1.17.2" date="2019-07-23">
1045
1046<change type="change">
1047<para lang="ru">
1048минимальная поддерживаемая версия zlib&mdash;1.2.0.4.<br/>
1049Спасибо Илье Леошкевичу.
1050</para>
1051<para lang="en">
1052minimum supported zlib version is 1.2.0.4.<br/>
1053Thanks to Ilya Leoshkevich.
1054</para>
1055</change>
1056
1057<change type="change">
1058<para lang="ru">
1059метод $r->internal_redirect() встроенного перла
1060теперь ожидает закодированный URI.
1061</para>
1062<para lang="en">
1063the $r->internal_redirect() embedded perl method
1064now expects escaped URIs.
1065</para>
1066</change>
1067
1068<change type="feature">
1069<para lang="ru">
1070теперь с помощью метода $r->internal_redirect() встроенного перла
1071можно перейти в именованный location.
1072</para>
1073<para lang="en">
1074it is now possible to switch to a named location
1075using the $r->internal_redirect() embedded perl method.
1076</para>
1077</change>
1078
1079<change type="bugfix">
1080<para lang="ru">
1081в обработке ошибок во встроенном перле.
1082</para>
1083<para lang="en">
1084in error handling in embedded perl.
1085</para>
1086</change>
1087
1088<change type="bugfix">
1089<para lang="ru">
1090на старте или во время переконфигурации мог произойти segmentation fault,
1091если в конфигурации использовалось значение hash bucket size больше 64 килобайт.
1092</para>
1093<para lang="en">
1094a segmentation fault might occur on start or during reconfiguration
1095if hash bucket size larger than 64 kilobytes was used in the configuration.
1096</para>
1097</change>
1098
1099<change type="bugfix">
1100<para lang="ru">
1101при использовании методов обработки соединений select, poll и /dev/poll
1102nginx мог нагружать процессор во время небуферизованного проксирования
1103и при проксировании WebSocket-соединений.
1104</para>
1105<para lang="en">
1106nginx might hog CPU during unbuffered proxying
1107and when proxying WebSocket connections
1108if the select, poll, or /dev/poll methods were used.
1109</para>
1110</change>
1111
1112<change type="bugfix">
1113<para lang="ru">
1114в модуле ngx_http_xslt_filter_module.
1115</para>
1116<para lang="en">
1117in the ngx_http_xslt_filter_module.
1118</para>
1119</change>
1120
1121<change type="bugfix">
1122<para lang="ru">
1123в модуле ngx_http_ssi_filter_module.
1124</para>
1125<para lang="en">
1126in the ngx_http_ssi_filter_module.
1127</para>
1128</change>
1129
1130</changes>
1131
1132
1133<changes ver="1.17.1" date="2019-06-25">
1134
1135<change type="feature">
1136<para lang="ru">
1137директива limit_req_dry_run.
1138</para>
1139<para lang="en">
1140the "limit_req_dry_run" directive.
1141</para>
1142</change>
1143
1144<change type="feature">
1145<para lang="ru">
1146при использовании директивы hash в блоке upstream
1147пустой ключ хэширования теперь приводит к переключению
1148на round-robin балансировку.<br/>
1149Спасибо Niklas Keller.
1150</para>
1151<para lang="en">
1152when using the "hash" directive inside the "upstream" block
1153an empty hash key now triggers round-robin balancing.<br/>
1154Thanks to Niklas Keller.
1155</para>
1156</change>
1157
1158<change type="bugfix">
1159<para lang="ru">
1160в рабочем процессе мог произойти segmentation fault,
1161если использовалось кэширование и директива image_filter,
1162а ошибки с кодом 415 перенаправлялись с помощью директивы error_page;
1163ошибка появилась в 1.11.10.
1164</para>
1165<para lang="en">
1166a segmentation fault might occur in a worker process
1167if caching was used along with the "image_filter" directive,
1168and errors with code 415 were redirected with the "error_page" directive;
1169the bug had appeared in 1.11.10.
1170</para>
1171</change>
1172
1173<change type="bugfix">
1174<para lang="ru">
1175в рабочем процессе мог произойти segmentation fault,
1176если использовался встроенный перл;
1177ошибка появилась в 1.7.3.
1178</para>
1179<para lang="en">
1180a segmentation fault might occur in a worker process
1181if embedded perl was used;
1182the bug had appeared in 1.7.3.
1183</para>
1184</change>
1185
1186</changes>
1187
1188
1189<changes ver="1.17.0" date="2019-05-21">
1190
1191<change type="feature">
1192<para lang="ru">
1193директивы limit_rate и limit_rate_after поддерживают переменные.
1194</para>
1195<para lang="en">
1196variables support in the "limit_rate" and "limit_rate_after" directives.
1197</para>
1198</change>
1199
1200<change type="feature">
1201<para lang="ru">
1202директивы proxy_upload_rate и proxy_download_rate в модуле stream
1203поддерживают переменные.
1204</para>
1205<para lang="en">
1206variables support
1207in the "proxy_upload_rate" and "proxy_download_rate" directives
1208in the stream module.
1209</para>
1210</change>
1211
1212<change type="change">
1213<para lang="ru">
1214минимальная поддерживаемая версия OpenSSL&mdash;0.9.8.
1215</para>
1216<para lang="en">
1217minimum supported OpenSSL version is 0.9.8.
1218</para>
1219</change>
1220
1221<change type="change">
1222<para lang="ru">
1223теперь postpone-фильтр собирается всегда.
1224</para>
1225<para lang="en">
1226now the postpone filter is always built.
1227</para>
1228</change>
1229
1230<change type="bugfix">
1231<para lang="ru">
1232директива include не работала в блоках if и limit_except.
1233</para>
1234<para lang="en">
1235the "include" directive did not work inside the "if" and "limit_except" blocks.
1236</para>
1237</change>
1238
1239<change type="bugfix">
1240<para lang="ru">
1241в обработке byte ranges.
1242</para>
1243<para lang="en">
1244in byte ranges processing.
1245</para>
1246</change>
1247
1248</changes>
1249
1250
1251<changes ver="1.15.12" date="2019-04-16">
1252
1253<change type="bugfix">
1254<para lang="ru">
1255в рабочем процессе мог произойти segmentation fault,
1256если в директивах ssl_certificate или ssl_certificate_key
1257использовались переменные
1258и был включён OCSP stapling.
1259</para>
1260<para lang="en">
1261a segmentation fault might occur in a worker process
1262if variables were used
1263in the "ssl_certificate" or "ssl_certificate_key" directives
1264and OCSP stapling was enabled.
1265</para>
1266</change>
1267
1268</changes>
1269
1270
1271<changes ver="1.15.11" date="2019-04-09">
1272
1273<change type="bugfix">
1274<para lang="ru">
1275в директиве ssl_stapling_file на Windows.
1276</para>
1277<para lang="en">
1278in the "ssl_stapling_file" directive on Windows.
1279</para>
1280</change>
1281
1282</changes>
1283
1284
1285<changes ver="1.15.10" date="2019-03-26">
1286
1287<change type="change">
1288<para lang="ru">
1289теперь при использовании имени хоста в директиве listen
1290nginx создаёт listen-сокеты для всех адресов,
1291соответствующих этому имени
1292(ранее использовался только первый адрес).
1293</para>
1294<para lang="en">
1295when using a hostname in the "listen" directive
1296nginx now creates listening sockets
1297for all addresses the hostname resolves to
1298(previously, only the first address was used).
1299</para>
1300</change>
1301
1302<change type="feature">
1303<para lang="ru">
1304диапазоны портов в директиве listen.
1305</para>
1306<para lang="en">
1307port ranges in the "listen" directive.
1308</para>
1309</change>
1310
1311<change type="feature">
1312<para lang="ru">
1313возможность загрузки SSL-сертификатов и секретных ключей из переменных.
1314</para>
1315<para lang="en">
1316loading of SSL certificates and secret keys from variables.
1317</para>
1318</change>
1319
1320<change type="workaround">
1321<para lang="ru">
1322переменная $ssl_server_name могла быть пустой
1323при использовании OpenSSL 1.1.1.
1324</para>
1325<para lang="en">
1326the $ssl_server_name variable might be empty
1327when using OpenSSL 1.1.1.
1328</para>
1329</change>
1330
1331<change type="bugfix">
1332<para lang="ru">
1333nginx/Windows не собирался с Visual Studio 2015 и новее;
1334ошибка появилась в 1.15.9.
1335</para>
1336<para lang="en">
1337nginx/Windows could not be built with Visual Studio 2015 or newer;
1338the bug had appeared in 1.15.9.
1339</para>
1340</change>
1341
1342</changes>
1343
1344
1345<changes ver="1.15.9" date="2019-02-26">
1346
1347<change type="feature">
1348<para lang="ru">
1349директивы ssl_certificate и ssl_certificate_key
1350поддерживают переменные.
1351</para>
1352<para lang="en">
1353variables support
1354in the "ssl_certificate" and "ssl_certificate_key" directives.
1355</para>
1356</change>
1357
1358<change type="feature">
1359<para lang="ru">
1360метод poll теперь доступен на Windows
1361при использовании Windows Vista и новее.
1362</para>
1363<para lang="en">
1364the "poll" method is now available on Windows
1365when using Windows Vista or newer.
1366</para>
1367</change>
1368
1369<change type="bugfix">
1370<para lang="ru">
1371если при использовании метода select на Windows
1372происходила ошибка при установлении соединения с бэкендом,
1373nginx ожидал истечения таймаута на установление соединения.
1374</para>
1375<para lang="en">
1376if the "select" method was used on Windows
1377and an error occurred while establishing a backend connection,
1378nginx waited for the connection establishment timeout to expire.
1379</para>
1380</change>
1381
1382<change type="bugfix">
1383<para lang="ru">
1384директивы proxy_upload_rate и proxy_download_rate
1385в модуле stream
1386работали некорректно при проксировании UDP-пакетов.
1387</para>
1388<para lang="en">
1389the "proxy_upload_rate" and "proxy_download_rate" directives
1390in the stream module
1391worked incorrectly when proxying UDP datagrams.
1392</para>
1393</change>
1394
1395</changes>
1396
1397
1398<changes ver="1.15.8" date="2018-12-25">
1399
1400<change type="feature">
1401<para lang="ru">
1402переменная $upstream_bytes_sent.<br/>
1403Спасибо Piotr Sikora.
1404</para>
1405<para lang="en">
1406the $upstream_bytes_sent variable.<br/>
1407Thanks to Piotr Sikora.
1408</para>
1409</change>
1410
1411<change type="feature">
1412<para lang="ru">
1413новые директивы в скриптах подсветки синтаксиса для vim.<br/>
1414Спасибо Геннадию Махомеду.
1415</para>
1416<para lang="en">
1417new directives in vim syntax highlighting scripts.<br/>
1418Thanks to Gena Makhomed.
1419</para>
1420</change>
1421
1422<change type="bugfix">
1423<para lang="ru">
1424в директиве proxy_cache_background_update.
1425</para>
1426<para lang="en">
1427in the "proxy_cache_background_update" directive.
1428</para>
1429</change>
1430
1431<change type="bugfix">
1432<para lang="ru">
1433в директиве geo при использовании unix domain listen-сокетов.
1434</para>
1435<para lang="en">
1436in the "geo" directive when using unix domain listen sockets.
1437</para>
1438</change>
1439
1440<change type="workaround">
1441<para lang="ru">
1442при использовании директивы ssl_early_data с OpenSSL
1443в логах могли появляться сообщения
1444"ignoring stale global SSL error ... bad length".
1445</para>
1446<para lang="en">
1447the "ignoring stale global SSL error ... bad length"
1448alerts might appear in logs
1449when using the "ssl_early_data" directive with OpenSSL.
1450</para>
1451</change>
1452
1453<change type="bugfix">
1454<para lang="ru">
1455в nginx/Windows.
1456</para>
1457<para lang="en">
1458in nginx/Windows.
1459</para>
1460</change>
1461
1462<change type="bugfix">
1463<para lang="ru">
1464в модуле ngx_http_autoindex_module на 32-битных платформах.
1465</para>
1466<para lang="en">
1467in the ngx_http_autoindex_module on 32-bit platforms.
1468</para>
1469</change>
1470
1471</changes>
1472
1473
1474<changes ver="1.15.7" date="2018-11-27">
1475
1476<change type="feature">
1477<para lang="ru">
1478директива proxy_requests в модуле stream.
1479</para>
1480<para lang="en">
1481the "proxy_requests" directive in the stream module.
1482</para>
1483</change>
1484
1485<change type="feature">
1486<para lang="ru">
1487параметр "delay" директивы "limit_req".<br/>
1488Спасибо Владиславу Шабанову и Петру Щучкину.
1489</para>
1490<para lang="en">
1491the "delay" parameter of the "limit_req" directive.<br/>
1492Thanks to Vladislav Shabanov and Peter Shchuchkin.
1493</para>
1494</change>
1495
1496<change type="bugfix">
1497<para lang="ru">
1498утечки памяти в случае ошибок при переконфигурации.
1499</para>
1500<para lang="en">
1501memory leak on errors during reconfiguration.
1502</para>
1503</change>
1504
1505<change type="bugfix">
1506<para lang="ru">
1507в переменных $upstream_response_time, $upstream_connect_time и
1508$upstream_header_time.
1509</para>
1510<para lang="en">
1511in the $upstream_response_time, $upstream_connect_time, and
1512$upstream_header_time variables.
1513</para>
1514</change>
1515
1516<change type="bugfix">
1517<para lang="ru">
1518в рабочем процессе мог произойти segmentation fault,
1519если использовался модуль ngx_http_mp4_module на 32-битных платформах.
1520</para>
1521<para lang="en">
1522a segmentation fault might occur in a worker process
1523if the ngx_http_mp4_module was used on 32-bit platforms.
1524</para>
1525</change>
1526
1527</changes>
1528
1529
1530<changes ver="1.15.6" date="2018-11-06">
1531
1532<change type="security">
1533<para lang="ru">
1534при использовании HTTP/2 клиент мог вызвать
1535чрезмерное потреблению памяти (CVE-2018-16843)
1536и ресурсов процессора (CVE-2018-16844).
1537</para>
1538<para lang="en">
1539when using HTTP/2 a client might cause
1540excessive memory consumption (CVE-2018-16843)
1541and CPU usage (CVE-2018-16844).
1542</para>
1543</change>
1544
1545<change type="security">
1546<para lang="ru">
1547при обработке специально созданного mp4-файла модулем ngx_http_mp4_module
1548содержимое памяти рабочего процесса могло быть отправлено клиенту
1549(CVE-2018-16845).
1550</para>
1551<para lang="en">
1552processing of a specially crafted mp4 file with the ngx_http_mp4_module
1553might result in worker process memory disclosure
1554(CVE-2018-16845).
1555</para>
1556</change>
1557
1558<change type="feature">
1559<para lang="ru">
1560директивы proxy_socket_keepalive, fastcgi_socket_keepalive,
1561grpc_socket_keepalive, memcached_socket_keepalive,
1562scgi_socket_keepalive и uwsgi_socket_keepalive.
1563</para>
1564<para lang="en">
1565the "proxy_socket_keepalive", "fastcgi_socket_keepalive",
1566"grpc_socket_keepalive", "memcached_socket_keepalive",
1567"scgi_socket_keepalive", and "uwsgi_socket_keepalive" directives.
1568</para>
1569</change>
1570
1571<change type="bugfix">
1572<para lang="ru">
1573если nginx был собран с OpenSSL 1.1.0, а использовался с OpenSSL 1.1.1,
1574протокол TLS 1.3 всегда был разрешён.
1575</para>
1576<para lang="en">
1577if nginx was built with OpenSSL 1.1.0 and used with OpenSSL 1.1.1,
1578the TLS 1.3 protocol was always enabled.
1579</para>
1580</change>
1581
1582<change type="bugfix">
1583<para lang="ru">
1584при работе с gRPC-бэкендами могло расходоваться большое количество памяти.
1585</para>
1586<para lang="en">
1587working with gRPC backends might result in excessive memory consumption.
1588</para>
1589</change>
1590
1591</changes>
1592
1593
1594<changes ver="1.15.5" date="2018-10-02">
1595
1596<change type="bugfix">
1597<para lang="ru">
1598при использовании OpenSSL 1.1.0h и новее
1599в рабочем процессе мог произойти segmentation fault;
1600ошибка появилась в 1.15.4.
1601</para>
1602<para lang="en">
1603a segmentation fault might occur in a worker process
1604when using OpenSSL 1.1.0h or newer;
1605the bug had appeared in 1.15.4.
1606</para>
1607</change>
1608
1609<change type="bugfix">
1610<para lang="ru">
1611незначительных потенциальных ошибок.
1612</para>
1613<para lang="en">
1614of minor potential bugs.
1615</para>
1616</change>
1617
1618</changes>
1619
1620
1621<changes ver="1.15.4" date="2018-09-25">
1622
1623<change type="feature">
1624<para lang="ru">
1625теперь директиву ssl_early_data можно использовать с OpenSSL.
1626</para>
1627<para lang="en">
1628now the "ssl_early_data" directive can be used with OpenSSL.
1629</para>
1630</change>
1631
1632<change type="bugfix">
1633<para lang="ru">
1634в модуле ngx_http_uwsgi_module.<br/>
1635Спасибо Chris Caputo.
1636</para>
1637<para lang="en">
1638in the ngx_http_uwsgi_module.<br/>
1639Thanks to Chris Caputo.
1640</para>
1641</change>
1642
1643<change type="bugfix">
1644<para lang="ru">
1645соединения к некоторым gRPC-бэкендам могли не кэшироваться
1646при использовании директивы keepalive.
1647</para>
1648<para lang="en">
1649connections with some gRPC backends might not be cached
1650when using the "keepalive" directive.
1651</para>
1652</change>
1653
1654<change type="bugfix">
1655<para lang="ru">
1656при использовании директивы error_page для перенаправления ошибок,
1657возникающих на ранних этапах обработки запроса,
1658в частности ошибок с кодом 400,
1659могла происходить утечка сокетов.
1660</para>
1661<para lang="en">
1662a socket leak might occur
1663when using the "error_page" directive
1664to redirect early request processing errors,
1665notably errors with code 400.
1666</para>
1667</change>
1668
1669<change type="bugfix">
1670<para lang="ru">
1671директива return при возврате ошибок не изменяла код ответа,
1672если запрос был перенаправлен с помощью директивы error_page.
1673</para>
1674<para lang="en">
1675the "return" directive did not change the response code when returning errors
1676if the request was redirected by the "error_page" directive.
1677</para>
1678</change>
1679
1680<change type="bugfix">
1681<para lang="ru">
1682стандартные сообщения об ошибках и ответы модуля ngx_http_autoindex_module
1683содержали атрибут bgcolor, что могло приводить к их некорректному отображению
1684при использовании пользовательских настроек цветов в браузерах.<br/>
1685Спасибо Nova DasSarma.
1686</para>
1687<para lang="en">
1688standard error pages and responses of the ngx_http_autoindex_module module
1689used the "bgcolor" attribute, and might be displayed incorrectly when using
1690custom color settings in browsers.<br/>
1691Thanks to Nova DasSarma.
1692</para>
1693</change>
1694
1695<change type="change">
1696<para lang="ru">
1697уровень логгирования ошибок SSL "no suitable key share" и
1698"no suitable signature algorithm"
1699понижен с уровня crit до info.
1700</para>
1701<para lang="en">
1702the logging level of the "no suitable key share" and
1703"no suitable signature algorithm" SSL errors
1704has been lowered from "crit" to "info".
1705</para>
1706</change>
1707
1708</changes>
1709
1710
1711<changes ver="1.15.3" date="2018-08-28">
1712
1713<change type="feature">
1714<para lang="ru">
1715теперь TLSv1.3 можно использовать с BoringSSL.
1716</para>
1717<para lang="en">
1718now TLSv1.3 can be used with BoringSSL.
1719</para>
1720</change>
1721
1722<change type="feature">
1723<para lang="ru">
1724директива ssl_early_data,
1725сейчас доступна при использовании BoringSSL.
1726</para>
1727<para lang="en">
1728the "ssl_early_data" directive,
1729currently available with BoringSSL.
1730</para>
1731</change>
1732
1733<change type="feature">
1734<para lang="ru">
1735директивы keepalive_timeout и keepalive_requests
1736в блоке upstream.
1737</para>
1738<para lang="en">
1739the "keepalive_timeout" and "keepalive_requests" directives
1740in the "upstream" block.
1741</para>
1742</change>
1743
1744<change type="bugfix">
1745<para lang="ru">
1746модуль ngx_http_dav_module
1747при копировании файла поверх существующего файла с помощью метода COPY
1748не обнулял целевой файл.
1749</para>
1750<para lang="en">
1751the ngx_http_dav_module
1752did not truncate destination file when copying a file over an existing one
1753with the COPY method.
1754</para>
1755</change>
1756
1757<change type="bugfix">
1758<para lang="ru">
1759модуль ngx_http_dav_module
1760при перемещении файла между файловыми системами с помощью метода MOVE
1761устанавливал нулевые права доступа на результирующий файл
1762и не сохранял время изменения файла.
1763</para>
1764<para lang="en">
1765the ngx_http_dav_module
1766used zero access rights on the destination file
1767and did not preserve file modification time
1768when moving a file between different file systems with the MOVE method.
1769</para>
1770</change>
1771
1772<change type="bugfix">
1773<para lang="ru">
1774модуль ngx_http_dav_module
1775при копировании файла с помощью метода COPY
1776для результирующего файла использовал права доступа по умолчанию.
1777</para>
1778<para lang="en">
1779the ngx_http_dav_module
1780used default access rights
1781when copying a file with the COPY method.
1782</para>
1783</change>
1784
1785<change type="workaround">
1786<para lang="ru">
1787некоторые клиенты могли не работать при использовании HTTP/2;
1788ошибка появилась в 1.13.5.
1789</para>
1790<para lang="en">
1791some clients might not work when using HTTP/2;
1792the bug had appeared in 1.13.5.
1793</para>
1794</change>
1795
1796<change type="bugfix">
1797<para lang="ru">
1798nginx не собирался с LibreSSL 2.8.0.
1799</para>
1800<para lang="en">
1801nginx could not be built with LibreSSL 2.8.0.
1802</para>
1803</change>
1804
1805</changes>
1806
1807
1808<changes ver="1.15.2" date="2018-07-24">
1809
1810<change type="feature">
1811<para lang="ru">
1812переменная $ssl_preread_protocol
1813в модуле ngx_stream_ssl_preread_module.
1814</para>
1815<para lang="en">
1816the $ssl_preread_protocol variable
1817in the ngx_stream_ssl_preread_module.
1818</para>
1819</change>
1820
1821<change type="feature">
1822<para lang="ru">
1823теперь при использовании директивы reset_timedout_connection
1824nginx сбрасывает соединения, закрываемые с кодом 444.
1825</para>
1826<para lang="en">
1827now when using the "reset_timedout_connection" directive
1828nginx will reset connections being closed with the 444 code.
1829</para>
1830</change>
1831
1832<change type="change">
1833<para lang="ru">
1834уровень логгирования ошибок SSL "http request", "https proxy request",
1835"unsupported protocol" и "version too low"
1836понижен с уровня crit до info.
1837</para>
1838<para lang="en">
1839a logging level of the "http request", "https proxy request",
1840"unsupported protocol", and "version too low" SSL errors
1841has been lowered from "crit" to "info".
1842</para>
1843</change>
1844
1845<change type="bugfix">
1846<para lang="ru">
1847запросы к DNS-серверу не отправлялись повторно,
1848если при первой попытке отправки происходила ошибка.
1849</para>
1850<para lang="en">
1851DNS requests were not resent
1852if initial sending of a request failed.
1853</para>
1854</change>
1855
1856<change type="bugfix">
1857<para lang="ru">
1858параметр reuseport директивы listen игнорировался,
1859если количество рабочих процессов было задано после директивы listen.
1860</para>
1861<para lang="en">
1862the "reuseport" parameter of the "listen" directive was ignored
1863if the number of worker processes was specified after the "listen" directive.
1864</para>
1865</change>
1866
1867<change type="bugfix">
1868<para lang="ru">
1869при использовании OpenSSL 1.1.0 и новее
1870директиву ssl_prefer_server_ciphers нельзя было выключить
1871в виртуальном сервере, если она была включена в сервере по умолчанию.
1872</para>
1873<para lang="en">
1874when using OpenSSL 1.1.0 or newer
1875it was not possible to switch off "ssl_prefer_server_ciphers" in
1876a virtual server if it was switched on in the default server.
1877</para>
1878</change>
1879
1880<change type="bugfix">
1881<para lang="ru">
1882повторное использование SSL-сессий к бэкендам
1883не работало с протоколом TLS 1.3.
1884</para>
1885<para lang="en">
1886SSL session reuse with upstream servers
1887did not work with the TLS 1.3 protocol.
1888</para>
1889</change>
1890
1891</changes>
1892
1893
1894<changes ver="1.15.1" date="2018-07-03">
1895
1896<change type="feature">
1897<para lang="ru">
1898директива random в блоке upstream.
1899</para>
1900<para lang="en">
1901the "random" directive inside the "upstream" block.
1902</para>
1903</change>
1904
1905<change type="feature">
1906<para lang="ru">
1907улучшена производительность при использовании директив hash и ip_hash
1908совместно с директивой zone.
1909</para>
1910<para lang="en">
1911improved performance when using the "hash" and "ip_hash" directives
1912with the "zone" directive.
1913</para>
1914</change>
1915
1916<change type="feature">
1917<para lang="ru">
1918параметр reuseport директивы listen
1919теперь использует SO_REUSEPORT_LB на FreeBSD 12.
1920</para>
1921<para lang="en">
1922the "reuseport" parameter of the "listen" directive
1923now uses SO_REUSEPORT_LB on FreeBSD 12.
1924</para>
1925</change>
1926
1927<change type="bugfix">
1928<para lang="ru">
1929HTTP/2 server push не работал, если SSL терминировался прокси-сервером
1930перед nginx'ом.
1931</para>
1932<para lang="en">
1933HTTP/2 server push did not work if SSL was terminated by a proxy server
1934in front of nginx.
1935</para>
1936</change>
1937
1938<change type="bugfix">
1939<para lang="ru">
1940директива tcp_nopush всегда использовалась для соединений к бэкендам.
1941</para>
1942<para lang="en">
1943the "tcp_nopush" directive was always used on backend connections.
1944</para>
1945</change>
1946
1947<change type="bugfix">
1948<para lang="ru">
1949при отправке сохранённого на диск тела запроса на gRPC-бэкенд
1950могли возникать ошибки.
1951</para>
1952<para lang="en">
1953sending a disk-buffered request body to a gRPC backend
1954might fail.
1955</para>
1956</change>
1957
1958</changes>
1959
1960
1961<changes ver="1.15.0" date="2018-06-05">
1962
1963<change type="change">
1964<para lang="ru">
1965директива "ssl" теперь считается устаревшей;
1966вместо неё следует использовать параметр ssl директивы listen.
1967</para>
1968<para lang="en">
1969the "ssl" directive is deprecated;
1970the "ssl" parameter of the "listen" directive should be used instead.
1971</para>
1972</change>
1973
1974<change type="change">
1975<para lang="ru">
1976теперь при использовании директивы listen с параметром ssl
1977nginx определяет отсутствие SSL-сертификатов при тестировании конфигурации.
1978</para>
1979<para lang="en">
1980now nginx detects missing SSL certificates during configuration testing
1981when using the "ssl" parameter of the "listen" directive.
1982</para>
1983</change>
1984
1985<change type="feature">
1986<para lang="ru">
1987теперь модуль stream умеет обрабатывать
1988несколько входящих UDP-пакетов от клиента в рамках одной сессии.
1989</para>
1990<para lang="en">
1991now the stream module can handle
1992multiple incoming UDP datagrams from a client within a single session.
1993</para>
1994</change>
1995
1996<change type="bugfix">
1997<para lang="ru">
1998в директиве proxy_cache_valid
1999можно было указать некорректный код ответа.
2000</para>
2001<para lang="en">
2002it was possible to specify an incorrect response code
2003in the "proxy_cache_valid" directive.
2004</para>
2005</change>
2006
2007<change type="bugfix">
2008<para lang="ru">
2009nginx не собирался gcc 8.1.
2010</para>
2011<para lang="en">
2012nginx could not be built by gcc 8.1.
2013</para>
2014</change>
2015
2016<change type="bugfix">
2017<para lang="ru">
2018логгирование в syslog останавливалось при изменении локального IP-адреса.
2019</para>
2020<para lang="en">
2021logging to syslog stopped on local IP address changes.
2022</para>
2023</change>
2024
2025<change type="bugfix">
2026<para lang="ru">
2027nginx не собирался компилятором clang, если был установлен CUDA SDK;
2028ошибка появилась в 1.13.8.
2029</para>
2030<para lang="en">
2031nginx could not be built by clang with CUDA SDK installed;
2032the bug had appeared in 1.13.8.
2033</para>
2034</change>
2035
2036<change type="bugfix">
2037<para lang="ru">
2038при использовании unix domain listen-сокетов на FreeBSD
2039в процессе обновления исполняемого файла
2040в логе могли появляться сообщения "getsockopt(TCP_FASTOPEN) ... failed".
2041</para>
2042<para lang="en">
2043"getsockopt(TCP_FASTOPEN) ... failed" messages might appear in logs
2044during binary upgrade
2045when using unix domain listen sockets on FreeBSD.
2046</para>
2047</change>
2048
2049<change type="bugfix">
2050<para lang="ru">
2051nginx не собирался на Fedora 28 Linux.
2052</para>
2053<para lang="en">
2054nginx could not be built on Fedora 28 Linux.
2055</para>
2056</change>
2057
2058<change type="bugfix">
2059<para lang="ru">
2060при использовании директивы limit_req
2061заданная скорость обработки запросов могла не соблюдаться.
2062</para>
2063<para lang="en">
2064request processing rate might exceed configured rate
2065when using the "limit_req" directive.
2066</para>
2067</change>
2068
2069<change type="bugfix">
2070<para lang="ru">
2071в обработке адресов клиентов при использовании unix domain listen-сокетов
2072для работы с датаграммами на Linux.
2073</para>
2074<para lang="en">
2075in handling of client addresses when using unix domain listen sockets
2076to work with datagrams on Linux.
2077</para>
2078</change>
2079
2080<change type="bugfix">
2081<para lang="ru">
2082в обработке ошибок выделения памяти.
2083</para>
2084<para lang="en">
2085in memory allocation error handling.
2086</para>
2087</change>
2088
2089</changes>
2090
2091
2092<changes ver="1.13.12" date="2018-04-10">
2093
2094<change type="bugfix">
2095<para lang="ru">
2096при возврате большого ответа
2097соединения с gRPC-бэкендами могли неожиданно закрываться.
2098</para>
2099<para lang="en">
2100connections with gRPC backends might be closed unexpectedly
2101when returning a large response.
2102</para>
2103</change>
2104
2105</changes>
2106
2107
2108<changes ver="1.13.11" date="2018-04-03">
2109
2110<change type="feature">
2111<para lang="ru">
2112параметр proxy_protocol директивы listen
2113теперь поддерживает протокол PROXY версии 2.
2114</para>
2115<para lang="en">
2116the "proxy_protocol" parameter of the "listen" directive
2117now supports the PROXY protocol version 2.
2118</para>
2119</change>
2120
2121<change type="bugfix">
2122<para lang="ru">
2123nginx не собирался с OpenSSL 1.1.1 статически на Linux.
2124</para>
2125<para lang="en">
2126nginx could not be built with OpenSSL 1.1.1 statically on Linux.
2127</para>
2128</change>
2129
2130<change type="bugfix">
2131<para lang="ru">
2132в параметрах http_404, http_500 и им подобных
2133директивы proxy_next_upstream.
2134</para>
2135<para lang="en">
2136in the "http_404", "http_500", etc. parameters
2137of the "proxy_next_upstream" directive.
2138</para>
2139</change>
2140
2141</changes>
2142
2143
2144<changes ver="1.13.10" date="2018-03-20">
2145
2146<change type="feature">
2147<para lang="ru">
2148теперь параметр set в SSI-директиве include
2149позволяет сохранять в переменную любые ответы;
2150максимальный размер ответа задаётся директивой subrequest_output_buffer_size.
2151</para>
2152<para lang="en">
2153the "set" parameter of the "include" SSI directive now allows
2154writing arbitrary responses to a variable;
2155the "subrequest_output_buffer_size" directive defines maximum response size.
2156</para>
2157</change>
2158
2159<change type="feature">
2160<para lang="ru">
2161теперь nginx использует вызов clock_gettime(CLOCK_MONOTONIC), если он доступен,
2162что позволяет избежать некорректного срабатывания таймаутов
2163при изменениях системного времени.
2164</para>
2165<para lang="en">
2166now nginx uses clock_gettime(CLOCK_MONOTONIC) if available,
2167to avoid timeouts being incorrectly triggered
2168on system time changes.
2169</para>
2170</change>
2171
2172<change type="feature">
2173<para lang="ru">
2174параметр "escape=none" директивы log_format.<br/>
2175Спасибо Johannes Baiter и Calin Don.
2176</para>
2177<para lang="en">
2178the "escape=none" parameter of the "log_format" directive.<br/>
2179Thanks to Johannes Baiter and Calin Don.
2180</para>
2181</change>
2182
2183<change type="feature">
2184<para lang="ru">
2185переменная $ssl_preread_alpn_protocols
2186в модуле ngx_stream_ssl_preread_module.
2187</para>
2188<para lang="en">
2189the $ssl_preread_alpn_protocols variable
2190in the ngx_stream_ssl_preread_module.
2191</para>
2192</change>
2193
2194<change type="feature">
2195<para lang="ru">
2196модуль ngx_http_grpc_module.
2197</para>
2198<para lang="en">
2199the ngx_http_grpc_module.
2200</para>
2201</change>
2202
2203<change type="bugfix">
2204<para lang="ru">
2205в обработке ошибок выделения памяти в директиве geo.
2206</para>
2207<para lang="en">
2208in memory allocation error handling in the "geo" directive.
2209</para>
2210</change>
2211
2212<change type="bugfix">
2213<para lang="ru">
2214при использовании переменных в директиве auth_basic_user_file
2215в лог мог выводиться символ '\0'.<br/>
2216Спасибо Вадиму Филимонову.
2217</para>
2218<para lang="en">
2219when using variables in the "auth_basic_user_file" directive
2220a null character might appear in logs.<br/>
2221Thanks to Vadim Filimonov.
2222</para>
2223</change>
2224
2225</changes>
2226
2227
2228<changes ver="1.13.9" date="2018-02-20">
2229
2230<change type="feature">
2231<para lang="ru">
2232поддержка HTTP/2 server push;
2233директивы http2_push и http2_push_preload.
2234</para>
2235<para lang="en">
2236HTTP/2 server push support;
2237the "http2_push" and "http2_push_preload" directives.
2238</para>
2239</change>
2240
2241<change type="bugfix">
2242<para lang="ru">
2243при использовании кэша
2244в логах могли появляться сообщения "header already sent";
2245ошибка появилась в 1.9.13.
2246</para>
2247<para lang="en">
2248"header already sent" alerts might appear in logs
2249when using cache;
2250the bug had appeared in 1.9.13.
2251</para>
2252</change>
2253
2254<change type="bugfix">
2255<para lang="ru">
2256при использовании директивы ssl_verify_client
2257в рабочем процессе мог произойти segmentation fault,
2258если в виртуальном сервере не был указан SSL-сертификат.
2259</para>
2260<para lang="en">
2261a segmentation fault might occur in a worker process
2262if the "ssl_verify_client" directive was used
2263and no SSL certificate was specified in a virtual server.
2264</para>
2265</change>
2266
2267<change type="bugfix">
2268<para lang="ru">
2269в модуле ngx_http_v2_module.
2270</para>
2271<para lang="en">
2272in the ngx_http_v2_module.
2273</para>
2274</change>
2275
2276<change type="bugfix">
2277<para lang="ru">
2278в модуле ngx_http_dav_module.
2279</para>
2280<para lang="en">
2281in the ngx_http_dav_module.
2282</para>
2283</change>
2284
2285</changes>
2286
2287
2288<changes ver="1.13.8" date="2017-12-26">
2289
2290<change type="feature">
2291<para lang="ru">
2292теперь при использовании параметра transparent директив proxy_bind,
2293fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind
2294nginx автоматически сохраняет capability CAP_NET_RAW в рабочих процессах.
2295</para>
2296<para lang="en">
2297now nginx automatically preserves the CAP_NET_RAW capability in worker processes
2298when using the "transparent" parameter of the "proxy_bind",
2299"fastcgi_bind", "memcached_bind", "scgi_bind", and "uwsgi_bind" directives.
2300</para>
2301</change>
2302
2303<change type="feature">
2304<para lang="ru">
2305улучшения в определении размера строки кэша процессора.<br/>
2306Спасибо Debayan Ghosh.
2307</para>
2308<para lang="en">
2309improved CPU cache line size detection.<br/>
2310Thanks to Debayan Ghosh.
2311</para>
2312</change>
2313
2314<change type="feature">
2315<para lang="ru">
2316новые директивы в скриптах подсветки синтаксиса для vim.<br/>
2317Спасибо Геннадию Махомеду.
2318</para>
2319<para lang="en">
2320new directives in vim syntax highlighting scripts.<br/>
2321Thanks to Gena Makhomed.
2322</para>
2323</change>
2324
2325<change type="bugfix">
2326<para lang="ru">
2327процедура обновления исполняемого файла не работала,
2328если после завершения родительского процесса
2329новым родительским процессом nginx'а становился процесс с PID, отличным от 1.
2330</para>
2331<para lang="en">
2332binary upgrade refused to work
2333if nginx was re-parented to a process with PID different from 1
2334after its parent process has finished.
2335</para>
2336</change>
2337
2338<change type="bugfix">
2339<para lang="ru">
2340модуль ngx_http_autoindex_module неправильно обрабатывал запросы с телом.
2341</para>
2342<para lang="en">
2343the ngx_http_autoindex_module incorrectly handled requests with bodies.
2344</para>
2345</change>
2346
2347<change type="bugfix">
2348<para lang="ru">
2349в директиве proxy_limit_rate при использовании с директивой keepalive.
2350</para>
2351<para lang="en">
2352in the "proxy_limit_rate" directive when used with the "keepalive" directive.
2353</para>
2354</change>
2355
2356<change type="bugfix">
2357<para lang="ru">
2358при использовании "proxy_buffering off" часть ответа могла буферизироваться,
2359если клиентское соединение использовало SSL.<br/>
2360Спасибо Patryk Lesiewicz.
2361</para>
2362<para lang="en">
2363some parts of a response might be buffered when using "proxy_buffering off"
2364if the client connection used SSL.<br/>
2365Thanks to Patryk Lesiewicz.
2366</para>
2367</change>
2368
2369<change type="bugfix">
2370<para lang="ru">
2371в директиве proxy_cache_background_update.
2372</para>
2373<para lang="en">
2374in the "proxy_cache_background_update" directive.
2375</para>
2376</change>
2377
2378<change type="bugfix">
2379<para lang="ru">
2380переменную вида "${name}" с именем в фигурных скобках
2381нельзя было использовать в начале параметра
2382не заключив весь параметр в кавычки.
2383</para>
2384<para lang="en">
2385it was not possible to start a parameter
2386with a variable in the "${name}" form with the name in curly brackets
2387without enclosing the parameter into single or double quotes.
2388</para>
2389</change>
2390
2391</changes>
2392
2393
2394<changes ver="1.13.7" date="2017-11-21">
2395
2396<change type="bugfix">
2397<para lang="ru">
2398в переменной $upstream_status.
2399</para>
2400<para lang="en">
2401in the $upstream_status variable.
2402</para>
2403</change>
2404
2405<change type="bugfix">
2406<para lang="ru">
2407в рабочем процессе мог произойти segmentation fault,
2408если бэкенд возвращал ответ "101 Switching Protocols" на подзапрос.
2409</para>
2410<para lang="en">
2411a segmentation fault might occur in a worker process
2412if a backend returned a "101 Switching Protocols" response to a subrequest.
2413</para>
2414</change>
2415
2416<change type="bugfix">
2417<para lang="ru">
2418если при переконфигурации изменялся размер зоны разделяемой памяти
2419и переконфигурация завершалась неудачно,
2420то в главном процессе происходил segmentation fault.
2421</para>
2422<para lang="en">
2423a segmentation fault occurred in a master process
2424if a shared memory zone size was changed during a reconfiguration
2425and the reconfiguration failed.
2426</para>
2427</change>
2428
2429<change type="bugfix">
2430<para lang="ru">
2431в модуле ngx_http_fastcgi_module.
2432</para>
2433<para lang="en">
2434in the ngx_http_fastcgi_module.
2435</para>
2436</change>
2437
2438<change type="bugfix">
2439<para lang="ru">
2440nginx возвращал ошибку 500,
2441если в директиве xslt_stylesheet
2442были заданы параметры без использования переменных.
2443</para>
2444<para lang="en">
2445nginx returned the 500 error
2446if parameters without variables were specified
2447in the "xslt_stylesheet" directive.
2448</para>
2449</change>
2450
2451<change type="workaround">
2452<para lang="ru">
2453при использовании варианта библиотеки zlib от Intel
2454в лог писались сообщения "gzip filter failed to use preallocated memory".
2455</para>
2456<para lang="en">
2457"gzip filter failed to use preallocated memory" alerts appeared in logs
2458when using a zlib library variant from Intel.
2459</para>
2460</change>
2461
2462<change type="bugfix">
2463<para lang="ru">
2464директива worker_shutdown_timeout не работала
2465при использовании почтового прокси-сервера
2466и при проксировании WebSocket-соединений.
2467</para>
2468<para lang="en">
2469the "worker_shutdown_timeout" directive did not work
2470when using mail proxy and when proxying WebSocket connections.
2471</para>
2472</change>
2473
2474</changes>
2475
2476
2477<changes ver="1.13.6" date="2017-10-10">
2478
2479<change type="bugfix">
2480<para lang="ru">
2481при использовании директивы ssl_preread
2482в модуле stream не работало переключение на следующий бэкенд.
2483</para>
2484<para lang="en">
2485switching to the next upstream server in the stream module did not work
2486when using the "ssl_preread" directive.
2487</para>
2488</change>
2489
2490<change type="bugfix">
2491<para lang="ru">
2492в модуле ngx_http_v2_module.<br/>
2493Спасибо Piotr Sikora.
2494</para>
2495<para lang="en">
2496in the ngx_http_v2_module.<br/>
2497Thanks to Piotr Sikora.
2498</para>
2499</change>
2500
2501<change type="bugfix">
2502<para lang="ru">
2503nginx не поддерживал даты после 2038 года
2504на 32-битных платформах с 64-битным time_t.
2505</para>
2506<para lang="en">
2507nginx did not support dates after the year 2038
2508on 32-bit platforms with 64-bit time_t.
2509</para>
2510</change>
2511
2512<change type="bugfix">
2513<para lang="ru">
2514в обработке дат до 1970 года и после 10000 года.
2515</para>
2516<para lang="en">
2517in handling of dates prior to the year 1970 and after the year 10000.
2518</para>
2519</change>
2520
2521<change type="bugfix">
2522<para lang="ru">
2523в модуле stream таймауты ожидания UDP-пакетов от бэкендов
2524не логгировались или логгировались на уровне info вместо error.
2525</para>
2526<para lang="en">
2527in the stream module timeouts waiting for UDP datagrams from upstream servers
2528were not logged or logged at the "info" level instead of "error".
2529</para>
2530</change>
2531
2532<change type="bugfix">
2533<para lang="ru">
2534при использовании HTTP/2 nginx мог вернуть ошибку 400,
2535не указав в логе причину.
2536</para>
2537<para lang="en">
2538when using HTTP/2 nginx might return the 400 response
2539without logging the reason.
2540</para>
2541</change>
2542
2543<change type="bugfix">
2544<para lang="ru">
2545в обработке повреждённых файлов кэша.
2546</para>
2547<para lang="en">
2548in processing of corrupted cache files.
2549</para>
2550</change>
2551
2552<change type="bugfix">
2553<para lang="ru">
2554при кэшировании ошибок, перехваченных error_page,
2555не учитывались заголовки управления кэшированием.
2556</para>
2557<para lang="en">
2558cache control headers were ignored
2559when caching errors intercepted by error_page.
2560</para>
2561</change>
2562
2563<change type="bugfix">
2564<para lang="ru">
2565при использовании HTTP/2 тело запроса могло быть повреждено.
2566</para>
2567<para lang="en">
2568when using HTTP/2 client request body might be corrupted.
2569</para>
2570</change>
2571
2572<change type="bugfix">
2573<para lang="ru">
2574в обработке адресов клиентов при использовании unix domain сокетов.
2575</para>
2576<para lang="en">
2577in handling of client addresses when using unix domain sockets.
2578</para>
2579</change>
2580
2581<change type="bugfix">
2582<para lang="ru">
2583при использовании директивы "hash ... consistent" в блоке upstream
2584nginx нагружал процессор, если использовались большие веса
2585и все или почти все бэкенды были недоступны.
2586</para>
2587<para lang="en">
2588nginx hogged CPU
2589when using the "hash ... consistent" directive in the upstream block
2590if large weights were used and all or most of the servers were unavailable.
2591</para>
2592</change>
2593
2594</changes>
2595
2596
2597<changes ver="1.13.5" date="2017-09-05">
2598
2599<change type="feature">
2600<para lang="ru">
2601переменная $ssl_client_escaped_cert.
2602</para>
2603<para lang="en">
2604the $ssl_client_escaped_cert variable.
2605</para>
2606</change>
2607
2608<change type="bugfix">
2609<para lang="ru">
2610директива ssl_session_ticket_key и параметр include директивы geo
2611не работали на Windows.
2612</para>
2613<para lang="en">
2614the "ssl_session_ticket_key" directive and
2615the "include" parameter of the "geo" directive did not work on Windows.
2616</para>
2617</change>
2618
2619<change type="bugfix">
2620<para lang="ru">
2621на 32-битных платформах
2622при запросе более 4 гигабайт с помощью нескольких диапазонов
2623возвращалась некорректная длина ответа.
2624</para>
2625<para lang="en">
2626incorrect response length was returned
2627on 32-bit platforms when requesting more than 4 gigabytes
2628with multiple ranges.
2629</para>
2630</change>
2631
2632<change type="bugfix">
2633<para lang="ru">
2634директива "expires modified" и
2635обработка строки If-Range заголовка запроса
2636не учитывали время последнего изменения ответа,
2637если использовалось проксирование без кэширования.
2638</para>
2639<para lang="en">
2640the "expires modified" directive and
2641processing of the "If-Range" request header line
2642did not use the response last modification time
2643if proxying without caching was used.
2644</para>
2645</change>
2646
2647</changes>
2648
2649
2650<changes ver="1.13.4" date="2017-08-08">
2651
2652<change type="feature">
2653<para lang="ru">
2654модуль ngx_http_mirror_module.
2655</para>
2656<para lang="en">
2657the ngx_http_mirror_module.
2658</para>
2659</change>
2660
2661<change type="bugfix">
2662<para lang="ru">
2663клиентские соединения могли сбрасываться при тестировании конфигурации,
2664если использовался параметр reuseport директивы listen на Linux.
2665</para>
2666<para lang="en">
2667client connections might be dropped during configuration testing
2668when using the "reuseport" parameter of the "listen" directive on Linux.
2669</para>
2670</change>
2671
2672<change type="bugfix">
2673<para lang="ru">
2674тело запроса могло быть недоступно в подзапросах,
2675если оно было сохранено в файл и использовалось проксирование.
2676</para>
2677<para lang="en">
2678request body might not be available in subrequests
2679if it was saved to a file and proxying was used.
2680</para>
2681</change>
2682
2683<change type="bugfix">
2684<para lang="ru">
2685очистка кэша по max_size не работала на Windows.
2686</para>
2687<para lang="en">
2688cleaning cache based on the "max_size" parameter did not work on Windows.
2689</para>
2690</change>
2691
2692<change type="bugfix">
2693<para lang="ru">
2694любое выделение разделяемой памяти на Windows требовало 4096 байт памяти.
2695</para>
2696<para lang="en">
2697any shared memory allocation required 4096 bytes on Windows.
2698</para>
2699</change>
2700
2701<change type="bugfix">
2702<para lang="ru">
2703при использовании директивы zone в блоке upstream на Windows
2704рабочий процесс мог завершаться аварийно.
2705</para>
2706<para lang="en">
2707nginx worker might be terminated abnormally
2708when using the "zone" directive inside the "upstream" block on Windows.
2709</para>
2710</change>
2711
2712</changes>
2713
2714
2715<changes ver="1.13.3" date="2017-07-11">
2716
2717<change type="security">
2718<para lang="ru">
2719специально созданный запрос мог вызвать целочисленное переполнение
2720в range-фильтре и последующую некорректную обработку запрошенных диапазонов,
2721что потенциально могло привести к утечке конфиденциальной информации
2722(CVE-2017-7529).
2723</para>
2724<para lang="en">
2725a specially crafted request might result in an integer overflow
2726and incorrect processing of ranges in the range filter,
2727potentially resulting in sensitive information leak
2728(CVE-2017-7529).
2729</para>
2730</change>
2731
2732</changes>
2733
2734
2735<changes ver="1.13.2" date="2017-06-27">
2736
2737<change type="change">
2738<para lang="ru">
2739теперь при запросе диапазона, начинающегося с 0, из пустого файла
2740nginx возвращает ответ 200 вместо 416.
2741</para>
2742<para lang="en">
2743nginx now returns 200 instead of 416
2744when a range starting with 0 is requested from an empty file.
2745</para>
2746</change>
2747
2748<change type="feature">
2749<para lang="ru">
2750директива add_trailer.<br/>
2751Спасибо Piotr Sikora.
2752</para>
2753<para lang="en">
2754the "add_trailer" directive.<br/>
2755Thanks to Piotr Sikora.
2756</para>
2757</change>
2758
2759<change type="bugfix">
2760<para lang="ru">
2761nginx не собирался под Cygwin и NetBSD;
2762ошибка появилась в 1.13.0.
2763</para>
2764<para lang="en">
2765nginx could not be built on Cygwin and NetBSD;
2766the bug had appeared in 1.13.0.
2767</para>
2768</change>
2769
2770<change type="bugfix">
2771<para lang="ru">
2772nginx не собирался под MSYS2 / MinGW 64-bit.<br/>
2773Спасибо Orgad Shaneh.
2774</para>
2775<para lang="en">
2776nginx could not be built under MSYS2 / MinGW 64-bit.<br/>
2777Thanks to Orgad Shaneh.
2778</para>
2779</change>
2780
2781<change type="bugfix">
2782<para lang="ru">
2783при использовании SSI с большим количеством подзапросов
2784и proxy_pass с переменными
2785в рабочем процессе мог произойти segmentation fault.
2786</para>
2787<para lang="en">
2788a segmentation fault might occur in a worker process
2789when using SSI with many includes
2790and proxy_pass with variables.
2791</para>
2792</change>
2793
2794<change type="bugfix">
2795<para lang="ru">
2796в модуле ngx_http_v2_module.<br/>
2797Спасибо Piotr Sikora.
2798</para>
2799<para lang="en">
2800in the ngx_http_v2_module.<br/>
2801Thanks to Piotr Sikora.
2802</para>
2803</change>
2804
2805</changes>
2806
2807
2808<changes ver="1.13.1" date="2017-05-30">
2809
2810<change type="feature">
2811<para lang="ru">
2812теперь в качестве параметра директивы set_real_ip_from
2813можно указывать имя хоста.
2814</para>
2815<para lang="en">
2816now a hostname can be used
2817as the "set_real_ip_from" directive parameter.
2818</para>
2819</change>
2820
2821<change type="feature">
2822<para lang="ru">
2823улучшения в скриптах подсветки синтаксиса для vim.
2824</para>
2825<para lang="en">
2826vim syntax highlighting scripts improvements.
2827</para>
2828</change>
2829
2830<change type="feature">
2831<para lang="ru">
2832директива worker_cpu_affinity теперь работает на DragonFly BSD.<br/>
2833Спасибо Sepherosa Ziehau.
2834</para>
2835<para lang="en">
2836the "worker_cpu_affinity" directive now works on DragonFly BSD.<br/>
2837Thanks to Sepherosa Ziehau.
2838</para>
2839</change>
2840
2841<change type="bugfix">
2842<para lang="ru">
2843SSL renegotiation в соединениях к бэкендам
2844не работал при использовании OpenSSL до 1.1.0.
2845</para>
2846<para lang="en">
2847SSL renegotiation on backend connections
2848did not work when using OpenSSL before 1.1.0.
2849</para>
2850</change>
2851
2852<change type="workaround">
2853<para lang="ru">
2854nginx не собирался с Oracle Developer Studio 12.5.
2855</para>
2856<para lang="en">
2857nginx could not be built with Oracle Developer Studio 12.5.
2858</para>
2859</change>
2860
2861<change type="workaround">
2862<para lang="ru">
2863теперь cache manager пропускает заблокированные записи
2864при очистке кэша по max_size.
2865</para>
2866<para lang="en">
2867now cache manager ignores long locked cache entries
2868when cleaning cache based on the "max_size" parameter.
2869</para>
2870</change>
2871
2872<change type="bugfix">
2873<para lang="ru">
2874клиентские SSL-соединения сразу закрывались, если использовался
2875отложенный accept и параметр proxy_protocol директивы listen.
2876</para>
2877<para lang="en">
2878client SSL connections were immediately closed if deferred accept
2879and the "proxy_protocol" parameter of the "listen" directive were used.
2880</para>
2881</change>
2882
2883<change type="bugfix">
2884<para lang="ru">
2885в директиве proxy_cache_background_update.
2886</para>
2887<para lang="en">
2888in the "proxy_cache_background_update" directive.
2889</para>
2890</change>
2891
2892<change type="workaround">
2893<para lang="ru">
2894теперь директива tcp_nodelay
2895устанавливает опцию TCP_NODELAY перед SSL handshake.
2896</para>
2897<para lang="en">
2898now the "tcp_nodelay" directive
2899sets the TCP_NODELAY option before an SSL handshake.
2900</para>
2901</change>
2902
2903</changes>
2904
2905
2906<changes ver="1.13.0" date="2017-04-25">
2907
2908<change type="change">
2909<para lang="ru">
2910теперь SSL renegotiation допускается в соединениях к бэкендам.
2911</para>
2912<para lang="en">
2913SSL renegotiation is now allowed on backend connections.
2914</para>
2915</change>
2916
2917<change type="feature">
2918<para lang="ru">
2919параметры rcvbuf и sndbuf директив listen
2920в почтовом прокси-сервере и модуле stream.
2921</para>
2922<para lang="en">
2923the "rcvbuf" and "sndbuf" parameters of the "listen" directives
2924of the mail proxy and stream modules.
2925</para>
2926</change>
2927
2928<change type="feature">
2929<para lang="ru">
2930директивы return и error_page теперь могут использоваться для возврата
2931перенаправлений с кодом 308.<br/>
2932Спасибо Simon Leblanc.
2933</para>
2934<para lang="en">
2935the "return" and "error_page" directives can now be used to return 308
2936redirections.<br/>
2937Thanks to Simon Leblanc.
2938</para>
2939</change>
2940
2941<change type="feature">
2942<para lang="ru">
2943параметр TLSv1.3 в директиве ssl_protocols.
2944</para>
2945<para lang="en">
2946the "TLSv1.3" parameter of the "ssl_protocols" directive.
2947</para>
2948</change>
2949
2950<change type="feature">
2951<para lang="ru">
2952при логгировании сигналов теперь указывается PID отправившего сигнал процесса.
2953</para>
2954<para lang="en">
2955when logging signals nginx now logs PID of the process which sent the signal.
2956</para>
2957</change>
2958
2959<change type="bugfix">
2960<para lang="ru">
2961в обработке ошибок выделения памяти.
2962</para>
2963<para lang="en">
2964in memory allocation error handling.
2965</para>
2966</change>
2967
2968<change type="bugfix">
2969<para lang="ru">
2970если сервер в модуле stream слушал на wildcard-адресе,
2971исходящий адрес ответного UDP-пакета
2972мог отличаться от адреса назначения исходного пакета.
2973</para>
2974<para lang="en">
2975if a server in the stream module listened on a wildcard address,
2976the source address of a response UDP datagram could differ
2977from the original datagram destination address.
2978</para>
2979</change>
2980
2981</changes>
2982
2983
2984<changes ver="1.11.13" date="2017-04-04">
2985
2986<change type="feature">
2987<para lang="ru">
2988параметр http_429 в директивах proxy_next_upstream, fastcgi_next_upstream,
2989scgi_next_upstream и uwsgi_next_upstream.<br/>
2990Спасибо Piotr Sikora.
2991</para>
2992<para lang="en">
2993the "http_429" parameter of the "proxy_next_upstream", "fastcgi_next_upstream",
2994"scgi_next_upstream", and "uwsgi_next_upstream" directives.<br/>
2995Thanks to Piotr Sikora.
2996</para>
2997</change>
2998
2999<change type="bugfix">
3000<para lang="ru">
3001в обработке ошибок выделения памяти.
3002</para>
3003<para lang="en">
3004in memory allocation error handling.
3005</para>
3006</change>
3007
3008<change type="bugfix">
3009<para lang="ru">
3010при использовании директив sendfile и timer_resolution на Linux
3011запросы могли зависать.
3012</para>
3013<para lang="en">
3014requests might hang
3015when using the "sendfile" and "timer_resolution" directives on Linux.
3016</para>
3017</change>
3018
3019<change type="bugfix">
3020<para lang="ru">
3021при использовании с подзапросами директив sendfile и aio_write
3022запросы могли зависать.
3023</para>
3024<para lang="en">
3025requests might hang
3026when using the "sendfile" and "aio_write" directives with subrequests.
3027</para>
3028</change>
3029
3030<change type="bugfix">
3031<para lang="ru">
3032в модуле ngx_http_v2_module.<br/>
3033Спасибо Piotr Sikora.
3034</para>
3035<para lang="en">
3036in the ngx_http_v2_module.<br/>
3037Thanks to Piotr Sikora.
3038</para>
3039</change>
3040
3041<change type="bugfix">
3042<para lang="ru">
3043при использовании HTTP/2 в рабочем процессе мог произойти segmentation fault.
3044</para>
3045<para lang="en">
3046a segmentation fault might occur in a worker process when using HTTP/2.
3047</para>
3048</change>
3049
3050<change type="bugfix">
3051<para lang="ru">
3052запросы могли зависать
3053при использовании с подзапросами директив limit_rate, sendfile_max_chunk,
3054limit_req или метода $r->sleep() встроенного перла.
3055</para>
3056<para lang="en">
3057requests might hang
3058when using the "limit_rate", "sendfile_max_chunk", "limit_req" directives,
3059or the $r->sleep() embedded perl method with subrequests.
3060</para>
3061</change>
3062
3063<change type="bugfix">
3064<para lang="ru">
3065в модуле ngx_http_slice_module.
3066</para>
3067<para lang="en">
3068in the ngx_http_slice_module.
3069</para>
3070</change>
3071
3072</changes>
3073
3074
3075<changes ver="1.11.12" date="2017-03-24">
3076
3077<change type="bugfix">
3078<para lang="ru">
3079nginx мог нагружать процессор;
3080ошибка появилась в 1.11.11.
3081</para>
3082<para lang="en">
3083nginx might hog CPU;
3084the bug had appeared in 1.11.11.
3085</para>
3086</change>
3087
3088</changes>
3089
3090
3091<changes ver="1.11.11" date="2017-03-21">
3092
3093<change type="feature">
3094<para lang="ru">
3095директива worker_shutdown_timeout.
3096</para>
3097<para lang="en">
3098the "worker_shutdown_timeout" directive.
3099</para>
3100</change>
3101
3102<change type="feature">
3103<para lang="ru">
3104улучшения в скриптах подсветки синтаксиса для vim.<br/>
3105Спасибо Wei-Ko Kao.
3106</para>
3107<para lang="en">
3108vim syntax highlighting scripts improvements.<br/>
3109Thanks to Wei-Ko Kao.
3110</para>
3111</change>
3112
3113<change type="bugfix">
3114<para lang="ru">
3115при попытке установить переменную $limit_rate в пустую строку
3116в рабочем процессе мог произойти segmentation fault.
3117</para>
3118<para lang="en">
3119a segmentation fault might occur in a worker process
3120if the $limit_rate variable was set to an empty string.
3121</para>
3122</change>
3123
3124<change type="bugfix">
3125<para lang="ru">
3126директивы proxy_cache_background_update, fastcgi_cache_background_update,
3127scgi_cache_background_update и uwsgi_cache_background_update
3128могли работать некорректно, если использовалась директива if.
3129</para>
3130<para lang="en">
3131the "proxy_cache_background_update", "fastcgi_cache_background_update",
3132"scgi_cache_background_update", and "uwsgi_cache_background_update" directives
3133might work incorrectly if the "if" directive was used.
3134</para>
3135</change>
3136
3137<change type="bugfix">
3138<para lang="ru">
3139в рабочем процессе мог произойти segmentation fault,
3140если количество large_client_header_buffers в виртуальном сервере
3141отличалось от такового в сервере по умолчанию.
3142</para>
3143<para lang="en">
3144a segmentation fault might occur in a worker process
3145if number of large_client_header_buffers in a virtual server
3146was different from the one in the default server.
3147</para>
3148</change>
3149
3150<change type="bugfix">
3151<para lang="ru">
3152в почтовом прокси-сервере.
3153</para>
3154<para lang="en">
3155in the mail proxy server.
3156</para>
3157</change>
3158
3159</changes>
3160
3161
3162<changes ver="1.11.10" date="2017-02-14">
3163
3164<change type="change">
3165<para lang="ru">
3166формат заголовка кэша был изменен,
3167ранее закэшированные ответы будут загружены заново.
3168</para>
3169<para lang="en">
3170cache header format has been changed,
3171previously cached responses will be invalidated.
3172</para>
3173</change>
3174
3175<change type="feature">
3176<para lang="ru">
3177поддержка расширений stale-while-revalidate и stale-if-error
3178в строке "Cache-Control" в заголовке ответа бэкенда.
3179</para>
3180<para lang="en">
3181support of "stale-while-revalidate" and "stale-if-error" extensions
3182in the "Cache-Control" backend response header line.
3183</para>
3184</change>
3185
3186<change type="feature">
3187<para lang="ru">
3188директивы proxy_cache_background_update, fastcgi_cache_background_update,
3189scgi_cache_background_update и uwsgi_cache_background_update.
3190</para>
3191<para lang="en">
3192the "proxy_cache_background_update", "fastcgi_cache_background_update",
3193"scgi_cache_background_update", and "uwsgi_cache_background_update" directives.
3194</para>
3195</change>
3196
3197<change type="feature">
3198<para lang="ru">
3199теперь nginx может кэшировать ответы
3200со строкой Vary заголовка длиной до 128 символов
3201(вместо 42 символов в предыдущих версиях).
3202</para>
3203<para lang="en">
3204nginx is now able to cache responses
3205with the "Vary" header line up to 128 characters long
3206(instead of 42 characters in previous versions).
3207</para>
3208</change>
3209
3210<change type="feature">
3211<para lang="ru">
3212параметр build директивы server_tokens.<br/>
3213Спасибо Tom Thorogood.
3214</para>
3215<para lang="en">
3216the "build" parameter of the "server_tokens" directive.<br/>
3217Thanks to Tom Thorogood.
3218</para>
3219</change>
3220
3221<change type="bugfix">
3222<para lang="ru">
3223при обработке запросов со строкой "Expect: 100-continue" в заголовке запроса
3224в логах могли появляться сообщения "[crit] SSL_write() failed".
3225</para>
3226<para lang="en">
3227"[crit] SSL_write() failed" messages might appear in logs
3228when handling requests with the "Expect: 100-continue" request header line.
3229</para>
3230</change>
3231
3232<change type="bugfix">
3233<para lang="ru">
3234модуль ngx_http_slice_module не работал в именованных location'ах.
3235</para>
3236<para lang="en">
3237the ngx_http_slice_module did not work in named locations.
3238</para>
3239</change>
3240
3241<change type="bugfix">
3242<para lang="ru">
3243при использовании AIO после перенаправления запроса с помощью X-Accel-Redirect
3244в рабочем процессе мог произойти segmentation fault.
3245</para>
3246<para lang="en">
3247a segmentation fault might occur in a worker process
3248when using AIO after an "X-Accel-Redirect" redirection.
3249</para>
3250</change>
3251
3252<change type="bugfix">
3253<para lang="ru">
3254уменьшено потребление памяти для долгоживущих запросов, использующих сжатие.
3255</para>
3256<para lang="en">
3257reduced memory consumption for long-lived requests using gzipping.
3258</para>
3259</change>
3260
3261</changes>
3262
3263
3264<changes ver="1.11.9" date="2017-01-24">
3265
3266<change type="bugfix">
3267<para lang="ru">
3268при использовании модуля stream nginx мог нагружать процессор;
3269ошибка появилась в 1.11.5.
3270</para>
3271<para lang="en">
3272nginx might hog CPU when using the stream module;
3273the bug had appeared in 1.11.5.
3274</para>
3275</change>
3276
3277<change type="bugfix">
3278<para lang="ru">
3279метод аутентификации EXTERNAL в почтовом прокси-сервере
3280можно было использовать, даже если он не был разрешён в конфигурации.
3281</para>
3282<para lang="en">
3283EXTERNAL authentication mechanism in mail proxy
3284was accepted even if it was not enabled in the configuration.
3285</para>
3286</change>
3287
3288<change type="bugfix">
3289<para lang="ru">
3290при использовании директивы ssl_verify_client модуля stream
3291в рабочем процессе мог произойти segmentation fault.
3292</para>
3293<para lang="en">
3294a segmentation fault might occur in a worker process
3295if the "ssl_verify_client" directive of the stream module was used.
3296</para>
3297</change>
3298
3299<change type="bugfix">
3300<para lang="ru">
3301директива ssl_verify_client модуля stream могла не работать.
3302</para>
3303<para lang="en">
3304the "ssl_verify_client" directive of the stream module might not work.
3305</para>
3306</change>
3307
3308<change type="bugfix">
3309<para lang="ru">
3310при исчерпании рабочим процессом свободных соединений
3311keepalive-соединения могли закрываться излишне агрессивно.<br/>
3312Спасибо Joel Cunningham.
3313</para>
3314<para lang="en">
3315closing keepalive connections due to no free worker connections
3316might be too aggressive.<br/>
3317Thanks to Joel Cunningham.
3318</para>
3319</change>
3320
3321<change type="bugfix">
3322<para lang="ru">
3323при использовании директивы sendfile на FreeBSD и macOS
3324мог возвращаться некорректный ответ;
3325ошибка появилась в 1.7.8.
3326</para>
3327<para lang="en">
3328an incorrect response might be returned
3329when using the "sendfile" directive on FreeBSD and macOS;
3330the bug had appeared in 1.7.8.
3331</para>
3332</change>
3333
3334<change type="bugfix">
3335<para lang="ru">
3336при использовании директивы aio_write
3337ответ мог сохраняться в кэш не полностью.
3338</para>
3339<para lang="en">
3340a truncated response might be stored in cache
3341when using the "aio_write" directive.
3342</para>
3343</change>
3344
3345<change type="bugfix">
3346<para lang="ru">
3347при использовании директивы aio_write
3348могла происходить утечка сокетов.
3349</para>
3350<para lang="en">
3351a socket leak might occur
3352when using the "aio_write" directive.
3353</para>
3354</change>
3355
3356</changes>
3357
3358
3359<changes ver="1.11.8" date="2016-12-27">
3360
3361<change type="feature">
3362<para lang="ru">
3363директива absolute_redirect.
3364</para>
3365<para lang="en">
3366the "absolute_redirect" directive.
3367</para>
3368</change>
3369
3370<change type="feature">
3371<para lang="ru">
3372параметр escape директивы log_format.
3373</para>
3374<para lang="en">
3375the "escape" parameter of the "log_format" directive.
3376</para>
3377</change>
3378
3379<change type="feature">
3380<para lang="ru">
3381проверка клиентских SSL-сертификатов в модуле stream.
3382</para>
3383<para lang="en">
3384client SSL certificates verification in the stream module.
3385</para>
3386</change>
3387
3388<change type="feature">
3389<para lang="ru">
3390директива ssl_session_ticket_key поддерживает
3391шифрование TLS session tickets с помощью AES256
3392при использовании с 80-байтными ключами.
3393</para>
3394<para lang="en">
3395the "ssl_session_ticket_key" directive supports
3396AES256 encryption of TLS session tickets
3397when used with 80-byte keys.
3398</para>
3399</change>
3400
3401<change type="feature">
3402<para lang="ru">
3403поддержка vim-commentary в скриптах для vim.<br/>
3404Спасибо Armin Grodon.
3405</para>
3406<para lang="en">
3407vim-commentary support in vim scripts.<br/>
3408Thanks to Armin Grodon.
3409</para>
3410</change>
3411
3412<change type="bugfix">
3413<para lang="ru">
3414рекурсия при получении значений переменных не ограничивалась.
3415</para>
3416<para lang="en">
3417recursion when evaluating variables was not limited.
3418</para>
3419</change>
3420
3421<change type="bugfix">
3422<para lang="ru">
3423в модуле ngx_stream_ssl_preread_module.
3424</para>
3425<para lang="en">
3426in the ngx_stream_ssl_preread_module.
3427</para>
3428</change>
3429
3430<change type="bugfix">
3431<para lang="ru">
3432если сервер, описанный в блоке upstream в модуле stream,
3433был признан неработающим, то после истечения fail_timeout он
3434признавался работающим только после завершения тестового соединения;
3435теперь достаточно, чтобы соединение было успешно установлено.
3436</para>
3437<para lang="en">
3438if a server in an upstream in the stream module failed,
3439it was considered alive only when a test connection sent
3440to it after fail_timeout was closed;
3441now a successfully established connection is enough.
3442</para>
3443</change>
3444
3445<change type="bugfix">
3446<para lang="ru">
3447nginx/Windows не собирался с 64-битным Visual Studio.
3448</para>
3449<para lang="en">
3450nginx/Windows could not be built with 64-bit Visual Studio.
3451</para>
3452</change>
3453
3454<change type="bugfix">
3455<para lang="ru">
3456nginx/Windows не собирался с OpenSSL 1.1.0.
3457</para>
3458<para lang="en">
3459nginx/Windows could not be built with OpenSSL 1.1.0.
3460</para>
3461</change>
3462
3463</changes>
3464
3465
3466<changes ver="1.11.7" date="2016-12-13">
3467
3468<change type="change">
3469<para lang="ru">
3470переменная $ssl_client_verify теперь
3471в случае ошибки проверки клиентского сертификата
3472содержит строку с описанием ошибки,
3473например, "FAILED:certificate has expired".
3474</para>
3475<para lang="en">
3476now in case of a client certificate verification error
3477the $ssl_client_verify variable contains a string with the failure reason,
3478for example, "FAILED:certificate has expired".
3479</para>
3480</change>
3481
3482<change type="feature">
3483<para lang="ru">
3484переменные $ssl_ciphers, $ssl_curves,
3485$ssl_client_v_start, $ssl_client_v_end и $ssl_client_v_remain.
3486</para>
3487<para lang="en">
3488the $ssl_ciphers, $ssl_curves,
3489$ssl_client_v_start, $ssl_client_v_end, and $ssl_client_v_remain variables.
3490</para>
3491</change>
3492
3493<change type="feature">
3494<para lang="ru">
3495параметр volatile директивы map.
3496</para>
3497<para lang="en">
3498the "volatile" parameter of the "map" directive.
3499</para>
3500</change>
3501
3502<change type="bugfix">
3503<para lang="ru">
3504при сборке динамических модулей
3505не учитывались заданные для модуля зависимости.
3506</para>
3507<para lang="en">
3508dependencies specified for a module
3509were ignored while building dynamic modules.
3510</para>
3511</change>
3512
3513<change type="bugfix">
3514<para lang="ru">
3515при использовании HTTP/2 и директив limit_req или auth_request
3516тело запроса могло быть повреждено;
3517ошибка появилась в 1.11.0.
3518</para>
3519<para lang="en">
3520when using HTTP/2 and the "limit_req" or "auth_request" directives
3521client request body might be corrupted;
3522the bug had appeared in 1.11.0.
3523</para>
3524</change>
3525
3526<change type="bugfix">
3527<para lang="ru">
3528при использовании HTTP/2 в рабочем процессе мог произойти segmentation fault;
3529ошибка появилась в 1.11.3.
3530</para>
3531<para lang="en">
3532a segmentation fault might occur in a worker process when using HTTP/2;
3533the bug had appeared in 1.11.3.
3534</para>
3535</change>
3536
3537<change type="bugfix">
3538<para lang="ru">
3539в модуле ngx_http_mp4_module.<br/>
3540Спасибо Congcong Hu.
3541</para>
3542<para lang="en">
3543in the ngx_http_mp4_module.<br/>
3544Thanks to Congcong Hu.
3545</para>
3546</change>
3547
3548<change type="bugfix">
3549<para lang="ru">
3550в модуле ngx_http_perl_module.
3551</para>
3552<para lang="en">
3553in the ngx_http_perl_module.
3554</para>
3555</change>
3556
3557</changes>
3558
3559
3560<changes ver="1.11.6" date="2016-11-15">
3561
3562<change type="change">
3563<para lang="ru">
3564формат переменных $ssl_client_s_dn и $ssl_client_i_dn
3565изменён на соответствующий RFC 2253 (RFC 4514);
3566значения в старом формате доступны через переменные
3567$ssl_client_s_dn_legacy и $ssl_client_i_dn_legacy.
3568</para>
3569<para lang="en">
3570format of the $ssl_client_s_dn and $ssl_client_i_dn variables
3571has been changed to follow RFC 2253 (RFC 4514);
3572values in the old format are available in
3573the $ssl_client_s_dn_legacy and $ssl_client_i_dn_legacy variables.
3574</para>
3575</change>
3576
3577<change type="change">
3578<para lang="ru">
3579при сохранении временных файлов в каталоге кэша
3580они теперь располагаются не в отдельном подкаталоге для временных файлов,
3581а в том же подкаталоге, что и соответствующие файлы в кэше.
3582</para>
3583<para lang="en">
3584when storing temporary files in a cache directory
3585they will be stored in the same subdirectories as corresponding cache files
3586instead of a separate subdirectory for temporary files.
3587</para>
3588</change>
3589
3590<change type="feature">
3591<para lang="ru">
3592поддержка метода аутентификации EXTERNAL
3593в почтовом прокси-сервере.<br/>
3594Спасибо Robert Norris.
3595</para>
3596<para lang="en">
3597EXTERNAL authentication mechanism support
3598in mail proxy.<br/>
3599Thanks to Robert Norris.
3600</para>
3601</change>
3602
3603<change type="feature">
3604<para lang="ru">
3605поддержка WebP в модуле ngx_http_image_filter_module.
3606</para>
3607<para lang="en">
3608WebP support in the ngx_http_image_filter_module.
3609</para>
3610</change>
3611
3612<change type="feature">
3613<para lang="ru">
3614директива proxy_method поддерживает переменные.<br/>
3615Спасибо Дмитрию Лазуркину.
3616</para>
3617<para lang="en">
3618variables support in the "proxy_method" directive.<br/>
3619Thanks to Dmitry Lazurkin.
3620</para>
3621</change>
3622
3623<change type="feature">
3624<para lang="ru">
3625директива http2_max_requests в модуле ngx_http_v2_module.
3626</para>
3627<para lang="en">
3628the "http2_max_requests" directive in the ngx_http_v2_module.
3629</para>
3630</change>
3631
3632<change type="feature">
3633<para lang="ru">
3634директивы proxy_cache_max_range_offset, fastcgi_cache_max_range_offset,
3635scgi_cache_max_range_offset и uwsgi_cache_max_range_offset.
3636</para>
3637<para lang="en">
3638the "proxy_cache_max_range_offset", "fastcgi_cache_max_range_offset",
3639"scgi_cache_max_range_offset", and "uwsgi_cache_max_range_offset" directives.
3640</para>
3641</change>
3642
3643<change type="bugfix">
3644<para lang="ru">
3645плавное завершение старых рабочих процессов могло занимать бесконечное время
3646при использовании HTTP/2.
3647</para>
3648<para lang="en">
3649graceful shutdown of old worker processes might require infinite time
3650when using HTTP/2.
3651</para>
3652</change>
3653
3654<change type="bugfix">
3655<para lang="ru">
3656в модуле ngx_http_mp4_module.
3657</para>
3658<para lang="en">
3659in the ngx_http_mp4_module.
3660</para>
3661</change>
3662
3663<change type="bugfix">
3664<para lang="ru">
3665при проксировании WebSocket-соединений и включённом кэшировании
3666в логах могли появляться сообщения "ignore long locked inactive cache entry".
3667</para>
3668<para lang="en">
3669"ignore long locked inactive cache entry" alerts might appear in logs
3670when proxying WebSocket connections with caching enabled.
3671</para>
3672</change>
3673
3674<change type="bugfix">
3675<para lang="ru">
3676если во время SSL handshake с бэкендом происходил таймаут,
3677nginx ничего не писал в лог
3678и возвращал ответ с кодом 502 вместо 504.
3679</para>
3680<para lang="en">
3681nginx did not write anything to log
3682and returned a response with code 502 instead of 504
3683when a timeout occurred during an SSL handshake to a backend.
3684</para>
3685</change>
3686
3687</changes>
3688
3689
3690<changes ver="1.11.5" date="2016-10-11">
3691
3692<change type="change">
3693<para lang="ru">
3694параметр configure --with-ipv6 упразднён,
3695поддержка IPv6 теперь собирается автоматически.
3696</para>
3697<para lang="en">
3698the --with-ipv6 configure option was removed,
3699now IPv6 support is configured automatically.
3700</para>
3701</change>
3702
3703<change type="change">
3704<para lang="ru">
3705теперь, если в блоке upstream не оказалось доступных серверов,
3706nginx не сбрасывает статистику ошибок всех серверов, как делал ранее,
3707а ожидает истечения fail_timeout.
3708</para>
3709<para lang="en">
3710now if there are no available servers in an upstream,
3711nginx will not reset number of failures of all servers as it previously did,
3712but will wait for fail_timeout to expire.
3713</para>
3714</change>
3715
3716<change type="feature">
3717<para lang="ru">
3718модуль ngx_stream_ssl_preread_module.
3719</para>
3720<para lang="en">
3721the ngx_stream_ssl_preread_module.
3722</para>
3723</change>
3724
3725<change type="feature">
3726<para lang="ru">
3727директива server в блоке upstream поддерживает параметр max_conns.
3728</para>
3729<para lang="en">
3730the "server" directive in the "upstream" context supports
3731the "max_conns" parameter.
3732</para>
3733</change>
3734
3735<change type="feature">
3736<para lang="ru">
3737параметр configure --with-compat.
3738</para>
3739<para lang="en">
3740the --with-compat configure option.
3741</para>
3742</change>
3743
3744<change type="feature">
3745<para lang="ru">
3746параметры manager_files, manager_threshold и manager_sleep
3747директив proxy_cache_path, fastcgi_cache_path, scgi_cache_path и
3748uwsgi_cache_path.
3749</para>
3750<para lang="en">
3751"manager_files", "manager_threshold", and "manager_sleep" parameters
3752of the "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path", and
3753"uwsgi_cache_path" directives.
3754</para>
3755</change>
3756
3757<change type="bugfix">
3758<para lang="ru">
3759при сборке perl-модуля не использовались флаги,
3760заданные с помощью параметра configure --with-ld-opt.
3761</para>
3762<para lang="en">
3763flags passed by the --with-ld-opt configure option
3764were not used while building perl module.
3765</para>
3766</change>
3767
3768<change type="bugfix">
3769<para lang="ru">
3770в директиве add_after_body при использовании совместно с директивой sub_filter.
3771</para>
3772<para lang="en">
3773in the "add_after_body" directive when used with the "sub_filter" directive.
3774</para>
3775</change>
3776
3777<change type="bugfix">
3778<para lang="ru">
3779в переменной $realip_remote_addr.
3780</para>
3781<para lang="en">
3782in the $realip_remote_addr variable.
3783</para>
3784</change>
3785
3786<change type="bugfix">
3787<para lang="ru">
3788директивы dav_access, proxy_store_access, fastcgi_store_access,
3789scgi_store_access и uwsgi_store_access
3790игнорировали права, заданные для пользователя.
3791</para>
3792<para lang="en">
3793the "dav_access", "proxy_store_access", "fastcgi_store_access",
3794"scgi_store_access", and "uwsgi_store_access" directives
3795ignored permissions specified for user.
3796</para>
3797</change>
3798
3799<change type="bugfix">
3800<para lang="ru">
3801unix domain listen-сокеты могли не наследоваться
3802при обновлении исполняемого файла на Linux.
3803</para>
3804<para lang="en">
3805unix domain listen sockets might not be inherited
3806during binary upgrade on Linux.
3807</para>
3808</change>
3809
3810<change type="bugfix">
3811<para lang="ru">
3812nginx возвращал ошибку 400 на запросы
3813с символом "-" в HTTP-методе.
3814</para>
3815<para lang="en">
3816nginx returned the 400 response on requests
3817with the "-" character in the HTTP method.
3818</para>
3819</change>
3820
3821</changes>
3822
3823
3824<changes ver="1.11.4" date="2016-09-13">
3825
3826<change type="feature">
3827<para lang="ru">
3828переменная $upstream_bytes_received.
3829</para>
3830<para lang="en">
3831the $upstream_bytes_received variable.
3832</para>
3833</change>
3834
3835<change type="feature">
3836<para lang="ru">
3837переменные $bytes_received, $session_time, $protocol, $status,
3838$upstream_addr, $upstream_bytes_sent, $upstream_bytes_received,
3839$upstream_connect_time, $upstream_first_byte_time
3840и $upstream_session_time в модуле stream.
3841</para>
3842<para lang="en">
3843the $bytes_received, $session_time, $protocol, $status,
3844$upstream_addr, $upstream_bytes_sent, $upstream_bytes_received,
3845$upstream_connect_time, $upstream_first_byte_time,
3846and $upstream_session_time variables in the stream module.
3847</para>
3848</change>
3849
3850<change type="feature">
3851<para lang="ru">
3852модуль ngx_stream_log_module.
3853</para>
3854<para lang="en">
3855the ngx_stream_log_module.
3856</para>
3857</change>
3858
3859<change type="feature">
3860<para lang="ru">
3861параметр proxy_protocol в директиве listen,
3862переменные $proxy_protocol_addr и $proxy_protocol_port
3863в модуле stream.
3864</para>
3865<para lang="en">
3866the "proxy_protocol" parameter of the "listen" directive,
3867the $proxy_protocol_addr and $proxy_protocol_port variables
3868in the stream module.
3869</para>
3870</change>
3871
3872<change type="feature">
3873<para lang="ru">
3874модуль ngx_stream_realip_module.
3875</para>
3876<para lang="en">
3877the ngx_stream_realip_module.
3878</para>
3879</change>
3880
3881<change type="bugfix">
3882<para lang="ru">
3883nginx не собирался с модулем stream и модулем ngx_http_ssl_module,
3884но без модуля ngx_stream_ssl_module;
3885ошибка появилась в 1.11.3.
3886</para>
3887<para lang="en">
3888nginx could not be built with the stream module and the ngx_http_ssl_module,
3889but without ngx_stream_ssl_module;
3890the bug had appeared in 1.11.3.
3891</para>
3892</change>
3893
3894<change type="feature">
3895<para lang="ru">
3896опция сокета IP_BIND_ADDRESS_NO_PORT не использовалась;
3897ошибка появилась в 1.11.2.
3898</para>
3899<para lang="en">
3900the IP_BIND_ADDRESS_NO_PORT socket option was not used;
3901the bug had appeared in 1.11.2.
3902</para>
3903</change>
3904
3905<change type="bugfix">
3906<para lang="ru">
3907в параметре ranges директивы geo.
3908</para>
3909<para lang="en">
3910in the "ranges" parameter of the "geo" directive.
3911</para>
3912</change>
3913
3914<change type="bugfix">
3915<para lang="ru">
3916при использовании директив "aio threads" и sendfile
3917мог возвращаться некорректный ответ; ошибка появилась в 1.9.13.
3918</para>
3919<para lang="en">
3920an incorrect response might be returned
3921when using the "aio threads" and "sendfile" directives;
3922the bug had appeared in 1.9.13.
3923</para>
3924</change>
3925
3926</changes>
3927
3928
3929<changes ver="1.11.3" date="2016-07-26">
3930
3931<change type="change">
3932<para lang="ru">
3933теперь accept_mutex по умолчанию выключен.
3934</para>
3935<para lang="en">
3936now the "accept_mutex" directive is turned off by default.
3937</para>
3938</change>
3939
3940<change type="feature">
3941<para lang="ru">
3942теперь nginx использует EPOLLEXCLUSIVE на Linux.
3943</para>
3944<para lang="en">
3945now nginx uses EPOLLEXCLUSIVE on Linux.
3946</para>
3947</change>
3948
3949<change type="feature">
3950<para lang="ru">
3951модуль ngx_stream_geo_module.
3952</para>
3953<para lang="en">
3954the ngx_stream_geo_module.
3955</para>
3956</change>
3957
3958<change type="feature">
3959<para lang="ru">
3960модуль ngx_stream_geoip_module.
3961</para>
3962<para lang="en">
3963the ngx_stream_geoip_module.
3964</para>
3965</change>
3966
3967<change type="feature">
3968<para lang="ru">
3969модуль ngx_stream_split_clients_module.
3970</para>
3971<para lang="en">
3972the ngx_stream_split_clients_module.
3973</para>
3974</change>
3975
3976<change type="feature">
3977<para lang="ru">
3978директивы proxy_pass и proxy_ssl_name в модуле stream
3979поддерживают переменные.
3980</para>
3981<para lang="en">
3982variables support
3983in the "proxy_pass" and "proxy_ssl_name" directives in the stream module.
3984</para>
3985</change>
3986
3987<change type="bugfix">
3988<para lang="ru">
3989утечки сокетов при использовании HTTP/2.
3990</para>
3991<para lang="en">
3992socket leak when using HTTP/2.
3993</para>
3994</change>
3995
3996<change type="bugfix">
3997<para lang="ru">
3998в configure.<br/>
3999Спасибо Piotr Sikora.
4000</para>
4001<para lang="en">
4002in configure tests.<br/>
4003Thanks to Piotr Sikora.
4004</para>
4005</change>
4006
4007</changes>
4008
4009
4010<changes ver="1.11.2" date="2016-07-05">
4011
4012<change type="change">
4013<para lang="ru">
4014теперь nginx всегда использует внутренние реализации MD5 и SHA1;
4015параметры configure --with-md5 и --with-sha1 упразднены.
4016</para>
4017<para lang="en">
4018now nginx always uses internal MD5 and SHA1 implementations;
4019the --with-md5 and --with-sha1 configure options were canceled.
4020</para>
4021</change>
4022
4023<change type="feature">
4024<para lang="ru">
4025поддержка переменных в модуле stream.
4026</para>
4027<para lang="en">
4028variables support in the stream module.
4029</para>
4030</change>
4031
4032<change type="feature">
4033<para lang="ru">
4034модуль ngx_stream_map_module.
4035</para>
4036<para lang="en">
4037the ngx_stream_map_module.
4038</para>
4039</change>
4040
4041<change type="feature">
4042<para lang="ru">
4043модуль ngx_stream_return_module.
4044</para>
4045<para lang="en">
4046the ngx_stream_return_module.
4047</para>
4048</change>
4049
4050<change type="feature">
4051<para lang="ru">
4052в директивах proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind
4053теперь можно указывать порт.
4054</para>
4055<para lang="en">
4056a port can be specified in the "proxy_bind", "fastcgi_bind",
4057"memcached_bind", "scgi_bind", and "uwsgi_bind" directives.
4058</para>
4059</change>
4060
4061<change type="feature">
4062<para lang="ru">
4063теперь nginx использует опцию сокета IP_BIND_ADDRESS_NO_PORT, если она доступна.
4064</para>
4065<para lang="en">
4066now nginx uses the IP_BIND_ADDRESS_NO_PORT socket option when available.
4067</para>
4068</change>
4069
4070<change type="bugfix">
4071<para lang="ru">
4072при использовании HTTP/2 и директивы proxy_request_buffering
4073в рабочем процессе мог произойти segmentation fault.
4074</para>
4075<para lang="en">
4076a segmentation fault might occur in a worker process
4077when using HTTP/2 and the "proxy_request_buffering" directive.
4078</para>
4079</change>
4080
4081<change type="bugfix">
4082<para lang="ru">
4083при использовании HTTP/2
4084к запросам, передаваемым на бэкенд,
4085всегда добавлялась строка заголовка "Content-Length",
4086даже если у запроса не было тела.
4087</para>
4088<para lang="en">
4089the "Content-Length" request header line
4090was always added to requests passed to backends,
4091including requests without body,
4092when using HTTP/2.
4093</para>
4094</change>
4095
4096<change type="bugfix">
4097<para lang="ru">
4098при использовании HTTP/2
4099в логах могли появляться сообщения "http request count is zero".
4100</para>
4101<para lang="en">
4102"http request count is zero" alerts might appear in logs
4103when using HTTP/2.
4104</para>
4105</change>
4106
4107<change type="bugfix">
4108<para lang="ru">
4109при использовании директивы sub_filter
4110могло буферизироваться больше данных, чем это необходимо;
4111проблема появилась в 1.9.4.
4112</para>
4113<para lang="en">
4114unnecessary buffering might occur
4115when using the "sub_filter" directive;
4116the issue had appeared in 1.9.4.
4117</para>
4118</change>
4119
4120</changes>
4121
4122
4123<changes ver="1.11.1" date="2016-05-31">
4124
4125<change type="security">
4126<para lang="ru">
4127при записи тела специально созданного запроса во временный файл
4128в рабочем процессе мог происходить segmentation fault
4129(CVE-2016-4450);
4130ошибка появилась в 1.3.9.
4131</para>
4132<para lang="en">
4133a segmentation fault might occur in a worker process
4134while writing a specially crafted request body to a temporary file
4135(CVE-2016-4450);
4136the bug had appeared in 1.3.9.
4137</para>
4138</change>
4139
4140</changes>
4141
4142
4143<changes ver="1.11.0" date="2016-05-24">
4144
4145<change type="feature">
4146<para lang="ru">
4147параметр transparent директив proxy_bind, fastcgi_bind,
4148memcached_bind, scgi_bind и uwsgi_bind.
4149</para>
4150<para lang="en">
4151the "transparent" parameter of the "proxy_bind", "fastcgi_bind",
4152"memcached_bind", "scgi_bind", and "uwsgi_bind" directives.
4153</para>
4154</change>
4155
4156<change type="feature">
4157<para lang="ru">
4158переменная $request_id.
4159</para>
4160<para lang="en">
4161the $request_id variable.
4162</para>
4163</change>
4164
4165<change type="feature">
4166<para lang="ru">
4167директива map поддерживает комбинации нескольких переменных
4168в качестве результирующих значений.
4169</para>
4170<para lang="en">
4171the "map" directive supports combinations of multiple variables
4172as resulting values.
4173</para>
4174</change>
4175
4176<change type="feature">
4177<para lang="ru">
4178теперь при использовании метода epoll
4179nginx проверяет, поддерживает ли ядро события EPOLLRDHUP,
4180и соответственно оптимизирует обработку соединений.
4181</para>
4182<para lang="en">
4183now nginx checks if EPOLLRDHUP events are supported by kernel,
4184and optimizes connection handling accordingly
4185if the "epoll" method is used.
4186</para>
4187</change>
4188
4189<change type="feature">
4190<para lang="ru">
4191директивы ssl_certificate и ssl_certificate_key
4192теперь можно указывать несколько раз
4193для загрузки сертификатов разных типов (например, RSA и ECDSA).
4194</para>
4195<para lang="en">
4196the "ssl_certificate" and "ssl_certificate_key" directives
4197can be specified multiple times
4198to load certificates of different types (for example, RSA and ECDSA).
4199</para>
4200</change>
4201
4202<change type="feature">
4203<para lang="ru">
4204при использовании OpenSSL 1.0.2 и новее
4205с помощью директивы ssl_ecdh_curve теперь можно задать список кривых;
4206по умолчанию используется встроенный в OpenSSL список кривых.
4207</para>
4208<para lang="en">
4209the "ssl_ecdh_curve" directive now allows specifying a list of curves
4210when using OpenSSL 1.0.2 or newer;
4211by default a list built into OpenSSL is used.
4212</para>
4213</change>
4214
4215<change type="change">
4216<para lang="ru">
4217для использования DHE-шифров теперь надо явно задавать файл параметров
4218с помощью директивы ssl_dhparam.
4219</para>
4220<para lang="en">
4221to use DHE ciphers it is now required to specify parameters
4222using the "ssl_dhparam" directive.
4223</para>
4224</change>
4225
4226<change type="feature">
4227<para lang="ru">
4228переменная $proxy_protocol_port.
4229</para>
4230<para lang="en">
4231the $proxy_protocol_port variable.
4232</para>
4233</change>
4234
4235<change type="feature">
4236<para lang="ru">
4237переменная $realip_remote_port в модуле ngx_http_realip_module.
4238</para>
4239<para lang="en">
4240the $realip_remote_port variable in the ngx_http_realip_module.
4241</para>
4242</change>
4243
4244<change type="feature">
4245<para lang="ru">
4246модуль ngx_http_realip_module теперь позволяет устанавливать
4247не только адрес, но и порт клиента.
4248</para>
4249<para lang="en">
4250the ngx_http_realip_module is now able to set the client port
4251in addition to the address.
4252</para>
4253</change>
4254
4255<change type="change">
4256<para lang="ru">
4257при попытке запросить виртуальный сервер,
4258отличающийся от согласованного в процессе SSL handshake,
4259теперь возвращается ответ "421 Misdirected Request";
4260это улучшает совместимость с некоторыми HTTP/2-клиентами
4261в случае использования клиентских сертификатов.
4262</para>
4263<para lang="en">
4264the "421 Misdirected Request" response now used
4265when rejecting requests to a virtual server
4266different from one negotiated during an SSL handshake;
4267this improves interoperability with some HTTP/2 clients
4268when using client certificates.
4269</para>
4270</change>
4271
4272<change type="change">
4273<para lang="ru">
4274HTTP/2-клиенты теперь могут сразу присылать тело запроса;
4275директива http2_body_preread_size позволяет указать размер буфера, который
4276будет использоваться до того, как nginx начнёт читать тело.
4277</para>
4278<para lang="en">
4279HTTP/2 clients can now start sending request body immediately;
4280the "http2_body_preread_size" directive controls size of the buffer used
4281before nginx will start reading client request body.
4282</para>
4283</change>
4284
4285<change type="bugfix">
4286<para lang="ru">
4287при использовании директивы proxy_cache_bypass
4288не обновлялись закэшированные ошибочные ответы.
4289</para>
4290<para lang="en">
4291cached error responses were not updated
4292when using the "proxy_cache_bypass" directive.
4293</para>
4294</change>
4295
4296</changes>
4297
4298
4299<changes ver="1.9.15" date="2016-04-19">
4300
4301<change type="bugfix">
4302<para lang="ru">
4303при использовании HHVM в качестве FastCGI-сервера
4304могли возникать ошибки "recv() failed".
4305</para>
4306<para lang="en">
4307"recv() failed" errors might occur
4308when using HHVM as a FastCGI server.
4309</para>
4310</change>
4311
4312<change type="bugfix">
4313<para lang="ru">
4314при использовании HTTP/2 и директив limit_req или auth_request
4315при чтении тела запроса мог произойти таймаут
4316или ошибка "client violated flow control";
4317ошибка появилась в 1.9.14.
4318</para>
4319<para lang="en">
4320when using HTTP/2 and the "limit_req" or "auth_request" directives
4321a timeout or a "client violated flow control" error
4322might occur while reading client request body;
4323the bug had appeared in 1.9.14.
4324</para>
4325</change>
4326
4327<change type="workaround">
4328<para lang="ru">
4329при использовании HTTP/2 ответ мог не показываться некоторыми браузерами,
4330если тело запроса было прочитано не целиком;
4331ошибка появилась в 1.9.14.
4332</para>
4333<para lang="en">
4334a response might not be shown by some browsers
4335if HTTP/2 was used and client request body was not fully read;
4336the bug had appeared in 1.9.14.
4337</para>
4338</change>
4339
4340<change type="bugfix">
4341<para lang="ru">
4342при использовании директивы "aio threads" соединения могли зависать.<br/>
4343Спасибо Mindaugas Rasiukevicius.
4344</para>
4345<para lang="en">
4346connections might hang when using the "aio threads" directive.<br/>
4347Thanks to Mindaugas Rasiukevicius.
4348</para>
4349</change>
4350
4351</changes>
4352
4353
4354<changes ver="1.9.14" date="2016-04-05">
4355
4356<change type="feature">
4357<para lang="ru">
4358совместимость с OpenSSL 1.1.0.
4359</para>
4360<para lang="en">
4361OpenSSL 1.1.0 compatibility.
4362</para>
4363</change>
4364
4365<change type="feature">
4366<para lang="ru">
4367директивы proxy_request_buffering, fastcgi_request_buffering,
4368scgi_request_buffering и uwsgi_request_buffering
4369теперь работают при использовании HTTP/2.
4370</para>
4371<para lang="en">
4372the "proxy_request_buffering", "fastcgi_request_buffering",
4373"scgi_request_buffering", and "uwsgi_request_buffering" directives
4374now work with HTTP/2.
4375</para>
4376</change>
4377
4378<change type="bugfix">
4379<para lang="ru">
4380при использовании HTTP/2
4381в логах могли появляться сообщения "zero size buf in output".
4382</para>
4383<para lang="en">
4384"zero size buf in output" alerts might appear in logs
4385when using HTTP/2.
4386</para>
4387</change>
4388
4389<change type="bugfix">
4390<para lang="ru">
4391при использовании HTTP/2
4392директива client_max_body_size могла работать неверно.
4393</para>
4394<para lang="en">
4395the "client_max_body_size" directive might work incorrectly
4396when using HTTP/2.
4397</para>
4398</change>
4399
4400<change type="bugfix">
4401<para lang="ru">
4402незначительных ошибок логгирования.
4403</para>
4404<para lang="en">
4405of minor bugs in logging.
4406</para>
4407</change>
4408
4409</changes>
4410
4411
4412<changes ver="1.9.13" date="2016-03-29">
4413
4414<change type="change">
4415<para lang="ru">
4416неидемпотентные запросы (POST, LOCK, PATCH)
4417теперь по умолчанию не передаются на другой сервер,
4418если запрос уже был отправлен на бэкенд;
4419параметр non_idempotent директивы proxy_next_upstream
4420явно разрешает повторять такие запросы.
4421</para>
4422<para lang="en">
4423non-idempotent requests (POST, LOCK, PATCH)
4424are no longer passed to the next server by default
4425if a request has been sent to a backend;
4426the "non_idempotent" parameter of the "proxy_next_upstream" directive
4427explicitly allows retrying such requests.
4428</para>
4429</change>
4430
4431<change type="feature">
4432<para lang="ru">
4433модуль ngx_http_perl_module теперь можно собрать динамически.
4434</para>
4435<para lang="en">
4436the ngx_http_perl_module can be built dynamically.
4437</para>
4438</change>
4439
4440<change type="feature">
4441<para lang="ru">
4442поддержка UDP в модуле stream.
4443</para>
4444<para lang="en">
4445UDP support in the stream module.
4446</para>
4447</change>
4448
4449<change type="feature">
4450<para lang="ru">
4451директива aio_write.
4452</para>
4453<para lang="en">
4454the "aio_write" directive.
4455</para>
4456</change>
4457
4458<change type="feature">
4459<para lang="ru">
4460теперь cache manager следит за количеством элементов в кэше
4461и старается не допускать переполнений зоны разделяемой памяти.
4462</para>
4463<para lang="en">
4464now cache manager monitors number of elements in caches
4465and tries to avoid cache keys zone overflows.
4466</para>
4467</change>
4468
4469<change type="bugfix">
4470<para lang="ru">
4471при использовании директив sendfile и aio с подзапросами
4472в логах могли появляться сообщения "task already active" и "second aio post".
4473</para>
4474<para lang="en">
4475"task already active" and "second aio post" alerts might appear in logs
4476when using the "sendfile" and "aio" directives with subrequests.
4477</para>
4478</change>
4479
4480<change type="bugfix">
4481<para lang="ru">
4482при использовании кэширования
4483в логах могли появляться сообщения "zero size buf in output",
4484если клиент закрывал соединение преждевременно.
4485</para>
4486<para lang="en">
4487"zero size buf in output" alerts might appear in logs
4488if caching was used
4489and a client closed a connection prematurely.
4490</para>
4491</change>
4492
4493<change type="bugfix">
4494<para lang="ru">
4495при использовании кэширования
4496соединения с клиентами могли закрываться без необходимости.<br/>
4497Спасибо Justin Li.
4498</para>
4499<para lang="en">
4500connections with clients might be closed needlessly
4501if caching was used.<br/>
4502Thanks to Justin Li.
4503</para>
4504</change>
4505
4506<change type="bugfix">
4507<para lang="ru">
4508nginx мог нагружать процессор
4509при использовании директивы sendfile на Linux и Solaris,
4510если отправляемый файл был изменён в процессе отправки.
4511</para>
4512<para lang="en">
4513nginx might hog CPU
4514if the "sendfile" directive was used on Linux or Solaris
4515and a file being sent was changed during sending.
4516</para>
4517</change>
4518
4519<change type="bugfix">
4520<para lang="ru">
4521при использовании директив sendfile и "aio threads"
4522соединения могли зависать.
4523</para>
4524<para lang="en">
4525connections might hang
4526when using the "sendfile" and "aio threads" directives.
4527</para>
4528</change>
4529
4530<change type="bugfix">
4531<para lang="ru">
4532в директивах proxy_pass, fastcgi_pass, scgi_pass и uwsgi_pass
4533при использовании переменных.<br/>
4534Спасибо Piotr Sikora.
4535</para>
4536<para lang="en">
4537in the "proxy_pass", "fastcgi_pass", "scgi_pass", and "uwsgi_pass" directives
4538when using variables.<br/>
4539Thanks to Piotr Sikora.
4540</para>
4541</change>
4542
4543<change type="bugfix">
4544<para lang="ru">
4545в модуле ngx_http_sub_filter_module.
4546</para>
4547<para lang="en">
4548in the ngx_http_sub_filter_module.
4549</para>
4550</change>
4551
4552<change type="bugfix">
4553<para lang="ru">
4554если в закэшированном соединении к бэкенду происходила ошибка,
4555запрос передавался на другой сервер
4556без учёта директивы proxy_next_upstream.
4557</para>
4558<para lang="en">
4559if an error occurred in a cached backend connection,
4560the request was passed to the next server
4561regardless of the proxy_next_upstream directive.
4562</para>
4563</change>
4564
4565<change type="bugfix">
4566<para lang="ru">
4567ошибки "CreateFile() failed" при создании временных файлов на Windows.
4568</para>
4569<para lang="en">
4570"CreateFile() failed" errors when creating temporary files on Windows.
4571</para>
4572</change>
4573
4574</changes>
4575
4576
4577<changes ver="1.9.12" date="2016-02-24">
4578
4579<change type="feature">
4580<para lang="ru">
4581кодирование Хаффмана заголовков ответов в HTTP/2.<br/>
4582Спасибо Владу Краснову.
4583</para>
4584<para lang="en">
4585Huffman encoding of response headers in HTTP/2.<br/>
4586Thanks to Vlad Krasnov.
4587</para>
4588</change>
4589
4590<change type="feature">
4591<para lang="ru">
4592директива worker_cpu_affinity теперь поддерживает более 64 процессоров.
4593</para>
4594<para lang="en">
4595the "worker_cpu_affinity" directive now supports more than 64 CPUs.
4596</para>
4597</change>
4598
4599<change type="bugfix">
4600<para lang="ru">
4601совместимость со сторонними модулями на C++;
4602ошибка появилась в 1.9.11.<br/>
4603Спасибо Piotr Sikora.
4604</para>
4605<para lang="en">
4606compatibility with 3rd party C++ modules;
4607the bug had appeared in 1.9.11.<br/>
4608Thanks to Piotr Sikora.
4609</para>
4610</change>
4611
4612<change type="bugfix">
4613<para lang="ru">
4614nginx не собирался статически с OpenSSL на Linux;
4615ошибка появилась в 1.9.11.
4616</para>
4617<para lang="en">
4618nginx could not be built statically with OpenSSL on Linux;
4619the bug had appeared in 1.9.11.
4620</para>
4621</change>
4622
4623<change type="bugfix">
4624<para lang="ru">
4625директива "add_header ... always" с пустым значением
4626не удаляла из заголовков ошибочных ответов
4627строки Last-Modified и ETag.
4628</para>
4629<para lang="en">
4630the "add_header ... always" directive with an empty value
4631did not delete "Last-Modified" and "ETag" header lines
4632from error responses.
4633</para>
4634</change>
4635
4636<change type="workaround">
4637<para lang="ru">
4638при использовании OpenSSL 1.0.2f в логах могли появляться
4639сообщения "called a function you should not call" и
4640"shutdown while in init".
4641</para>
4642<para lang="en">
4643"called a function you should not call"
4644and "shutdown while in init" messages might appear in logs
4645when using OpenSSL 1.0.2f.
4646</para>
4647</change>
4648
4649<change type="bugfix">
4650<para lang="ru">
4651ошибочные заголовки могли логгироваться некорректно.
4652</para>
4653<para lang="en">
4654invalid headers might be logged incorrectly.
4655</para>
4656</change>
4657
4658<change type="bugfix">
4659<para lang="ru">
4660утечки сокетов при использовании HTTP/2.
4661</para>
4662<para lang="en">
4663socket leak when using HTTP/2.
4664</para>
4665</change>
4666
4667<change type="bugfix">
4668<para lang="ru">
4669в модуле ngx_http_v2_module.
4670</para>
4671<para lang="en">
4672in the ngx_http_v2_module.
4673</para>
4674</change>
4675
4676</changes>
4677
4678
4679<changes ver="1.9.11" date="2016-02-09">
4680
4681<change type="feature">
4682<para lang="ru">
4683теперь resolver поддерживает TCP.
4684</para>
4685<para lang="en">
4686TCP support in resolver.
4687</para>
4688</change>
4689
4690<change type="feature">
4691<para lang="ru">
4692динамические модули.
4693</para>
4694<para lang="en">
4695dynamic modules.
4696</para>
4697</change>
4698
4699<change type="bugfix">
4700<para lang="ru">
4701при использовании HTTP/2
4702переменная $request_length не учитывала размер заголовков запроса.
4703</para>
4704<para lang="en">
4705the $request_length variable did not include size of request headers
4706when using HTTP/2.
4707</para>
4708</change>
4709
4710<change type="bugfix">
4711<para lang="ru">
4712в модуле ngx_http_v2_module.
4713</para>
4714<para lang="en">
4715in the ngx_http_v2_module.
4716</para>
4717</change>
4718
4719</changes>
4720
4721
4722<changes ver="1.9.10" date="2016-01-26">
4723
4724<change type="security">
4725<para lang="ru">
4726при использовании директивы resolver
4727во время обработки ответов DNS-сервера
4728могло происходить разыменование некорректного адреса,
4729что позволяло атакующему,
4730имеющему возможность подделывать UDP-пакеты от DNS-сервера,
4731вызвать segmentation fault в рабочем процессе (CVE-2016-0742).
4732</para>
4733<para lang="en">
4734invalid pointer dereference might occur
4735during DNS server response processing
4736if the "resolver" directive was used,
4737allowing an attacker who is able to forge UDP packets from the DNS server
4738to cause segmentation fault in a worker process (CVE-2016-0742).
4739</para>
4740</change>
4741
4742<change type="security">
4743<para lang="ru">
4744при использовании директивы resolver
4745во время обработки CNAME-записей
4746могло произойти обращение к ранее освобождённой памяти,
4747что позволяло атакующему,
4748имеющему возможность инициировать преобразование произвольных имён в адреса,
4749вызвать segmentation fault в рабочем процессе,
4750а также потенциально могло иметь другие последствия (CVE-2016-0746).
4751</para>
4752<para lang="en">
4753use-after-free condition might occur
4754during CNAME response processing
4755if the "resolver" directive was used,
4756allowing an attacker who is able to trigger name resolution
4757to cause segmentation fault in a worker process,
4758or might have potential other impact (CVE-2016-0746).
4759</para>
4760</change>
4761
4762<change type="security">
4763<para lang="ru">
4764при использовании директивы resolver
4765во время обработки CNAME-записей
4766не во всех случаях проверялось ограничение
4767на максимальное количество записей в цепочке,
4768что позволяло атакующему,
4769имеющему возможность инициировать преобразование произвольных имён в адреса,
4770вызвать чрезмерное потребление ресурсов рабочими процессами (CVE-2016-0747).
4771</para>
4772<para lang="en">
4773CNAME resolution was insufficiently limited
4774if the "resolver" directive was used,
4775allowing an attacker who is able to trigger arbitrary name resolution
4776to cause excessive resource consumption in worker processes (CVE-2016-0747).
4777</para>
4778</change>
4779
4780<change type="feature">
4781<para lang="ru">
4782параметр auto директивы worker_cpu_affinity.
4783</para>
4784<para lang="en">
4785the "auto" parameter of the "worker_cpu_affinity" directive.
4786</para>
4787</change>
4788
4789<change type="bugfix">
4790<para lang="ru">
4791параметр proxy_protocol директивы listen не работал
4792с IPv6 listen-сокетами.
4793</para>
4794<para lang="en">
4795the "proxy_protocol" parameter of the "listen" directive did not work
4796with IPv6 listen sockets.
4797</para>
4798</change>
4799
4800<change type="bugfix">
4801<para lang="ru">
4802при использовании директивы keepalive
4803соединения к бэкендам могли кэшироваться некорректно.
4804</para>
4805<para lang="en">
4806connections to upstream servers might be cached incorrectly
4807when using the "keepalive" directive.
4808</para>
4809</change>
4810
4811<change type="bugfix">
4812<para lang="ru">
4813после перенаправления запроса с помощью X-Accel-Redirect
4814при проксировании использовался HTTP-метод оригинального запроса.
4815</para>
4816<para lang="en">
4817proxying used the HTTP method of the original request
4818after an "X-Accel-Redirect" redirection.
4819</para>
4820</change>
4821
4822</changes>
4823
4824
4825<changes ver="1.9.9" date="2015-12-09">
4826
4827<change type="bugfix">
4828<para lang="ru">
4829проксирование в unix domain сокеты не работало при использовании переменных;
4830ошибка появилась в 1.9.8.
4831</para>
4832<para lang="en">
4833proxying to unix domain sockets did not work when using variables;
4834the bug had appeared in 1.9.8.
4835</para>
4836</change>
4837
4838</changes>
4839
4840
4841<changes ver="1.9.8" date="2015-12-08">
4842
4843<change type="feature">
4844<para lang="ru">
4845поддержка pwritev().
4846</para>
4847<para lang="en">
4848pwritev() support.
4849</para>
4850</change>
4851
4852<change type="feature">
4853<para lang="ru">
4854директива include в блоке upstream.
4855</para>
4856<para lang="en">
4857the "include" directive inside the "upstream" block.
4858</para>
4859</change>
4860
4861<change type="feature">
4862<para lang="ru">
4863модуль ngx_http_slice_module.
4864</para>
4865<para lang="en">
4866the ngx_http_slice_module.
4867</para>
4868</change>
4869
4870<change type="bugfix">
4871<para lang="ru">
4872при использовании LibreSSL
4873в рабочем процессе мог произойти segmentation fault;
4874ошибка появилась в 1.9.6.
4875</para>
4876<para lang="en">
4877a segmentation fault might occur in a worker process
4878when using LibreSSL;
4879the bug had appeared in 1.9.6.
4880</para>
4881</change>
4882
4883<change type="bugfix">
4884<para lang="ru">
4885nginx мог не собираться на OS X.
4886</para>
4887<para lang="en">
4888nginx could not be built on OS X in some cases.
4889</para>
4890</change>
4891
4892</changes>
4893
4894
4895<changes ver="1.9.7" date="2015-11-17">
4896
4897<change type="feature">
4898<para lang="ru">
4899параметр nohostname логгирования в syslog.
4900</para>
4901<para lang="en">
4902the "nohostname" parameter of logging to syslog.
4903</para>
4904</change>
4905
4906<change type="feature">
4907<para lang="ru">
4908директива proxy_cache_convert_head.
4909</para>
4910<para lang="en">
4911the "proxy_cache_convert_head" directive.
4912</para>
4913</change>
4914
4915<change type="feature">
4916<para lang="ru">
4917переменная $realip_remote_addr в модуле ngx_http_realip_module.
4918</para>
4919<para lang="en">
4920the $realip_remote_addr variable in the ngx_http_realip_module.
4921</para>
4922</change>
4923
4924<change type="bugfix">
4925<para lang="ru">
4926директива expires могла не срабатывать при использовании переменных.
4927</para>
4928<para lang="en">
4929the "expires" directive might not work when using variables.
4930</para>
4931</change>
4932
4933<change type="bugfix">
4934<para lang="ru">
4935при использовании HTTP/2
4936в рабочем процессе мог произойти segmentation fault;
4937ошибка появилась в 1.9.6.
4938</para>
4939<para lang="en">
4940a segmentation fault might occur in a worker process
4941when using HTTP/2;
4942the bug had appeared in 1.9.6.
4943</para>
4944</change>
4945
4946<change type="bugfix">
4947<para lang="ru">
4948если nginx был собран с модулем ngx_http_v2_module,
4949протокол HTTP/2 мог быть использован клиентом,
4950даже если не был указан параметр http2 директивы listen.
4951</para>
4952<para lang="en">
4953if nginx was built with the ngx_http_v2_module
4954it was possible to use the HTTP/2 protocol
4955even if the "http2" parameter of the "listen" directive was not specified.
4956</para>
4957</change>
4958
4959<change type="bugfix">
4960<para lang="ru">
4961в модуле ngx_http_v2_module.
4962</para>
4963<para lang="en">
4964in the ngx_http_v2_module.
4965</para>
4966</change>
4967
4968</changes>
4969
4970
4971<changes ver="1.9.6" date="2015-10-27">
4972
4973<change type="bugfix">
4974<para lang="ru">
4975при использовании HTTP/2
4976в рабочем процессе мог произойти segmentation fault.<br/>
4977Спасибо Piotr Sikora и Denis Andzakovic.
4978</para>
4979<para lang="en">
4980a segmentation fault might occur in a worker process
4981when using HTTP/2.<br/>
4982Thanks to Piotr Sikora and Denis Andzakovic.
4983</para>
4984</change>
4985
4986<change type="bugfix">
4987<para lang="ru">
4988при использовании HTTP/2 переменная $server_protocol была пустой.
4989</para>
4990<para lang="en">
4991the $server_protocol variable was empty when using HTTP/2.
4992</para>
4993</change>
4994
4995<change type="bugfix">
4996<para lang="ru">
4997SSL-соединения к бэкендам в модуле stream
4998могли неожиданно завершаться по таймауту.
4999</para>
5000<para lang="en">
5001backend SSL connections in the stream module
5002might be timed out unexpectedly.
5003</para>
5004</change>
5005
5006<change type="bugfix">
5007<para lang="ru">
5008при использовании различных настроек ssl_session_cache
5009в разных виртуальных серверах
5010в рабочем процессе мог произойти segmentation fault.
5011</para>
5012<para lang="en">
5013a segmentation fault might occur in a worker process
5014if different ssl_session_cache settings were used
5015in different virtual servers.
5016</para>
5017</change>
5018
5019<change type="bugfix">
5020<para lang="ru">
5021nginx/Windows не собирался с MinGW gcc;
5022ошибка появилась в 1.9.4.<br/>
5023Спасибо Kouhei Sutou.
5024</para>
5025<para lang="en">
5026nginx/Windows could not be built with MinGW gcc;
5027the bug had appeared in 1.9.4.<br/>
5028Thanks to Kouhei Sutou.
5029</para>
5030</change>
5031
5032<change type="bugfix">
5033<para lang="ru">
5034при использовании директивы timer_resolution на Windows время не обновлялось.
5035</para>
5036<para lang="en">
5037time was not updated when the timer_resolution directive was used on Windows.
5038</para>
5039</change>
5040
5041<change>
5042<para lang="ru">
5043Незначительные исправления и улучшения.<br/>
5044Спасибо Markus Linnala, Kurtis Nusbaum и Piotr Sikora.
5045</para>
5046<para lang="en">
5047Miscellaneous minor fixes and improvements.<br/>
5048Thanks to Markus Linnala, Kurtis Nusbaum and Piotr Sikora.
5049</para>
5050</change>
5051
5052</changes>
5053
5054
5055<changes ver="1.9.5" date="2015-09-22">
5056
5057<change type="feature">
5058<para lang="ru">
5059модуль ngx_http_v2_module (заменяет модуль ngx_http_spdy_module).<br/>
5060Спасибо Dropbox и Automattic за спонсирование разработки.
5061</para>
5062<para lang="en">
5063the ngx_http_v2_module (replaces ngx_http_spdy_module).<br/>
5064Thanks to Dropbox and Automattic for sponsoring this work.
5065</para>
5066</change>
5067
5068<change type="change">
5069<para lang="ru">
5070теперь по умолчанию директива output_buffers использует два буфера.
5071</para>
5072<para lang="en">
5073now the "output_buffers" directive uses two buffers by default.
5074</para>
5075</change>
5076
5077<change type="change">
5078<para lang="ru">
5079теперь nginx ограничивает максимальную вложенность подзапросов,
5080а не количество одновременных подзапросов.
5081</para>
5082<para lang="en">
5083now nginx limits subrequests recursion,
5084not simultaneous subrequests.
5085</para>
5086</change>
5087
5088<change type="change">
5089<para lang="ru">
5090теперь при возврате ответов из кэша nginx проверяет ключ полностью.<br/>
5091Спасибо Геннадию Махомеду и Сергею Брестеру.
5092</para>
5093<para lang="en">
5094now nginx checks the whole cache key when returning a response from cache.<br/>
5095Thanks to Gena Makhomed and Sergey Brester.
5096</para>
5097</change>
5098
5099<change type="bugfix">
5100<para lang="ru">
5101при использовании кэша
5102в логах могли появляться сообщения "header already sent";
5103ошибка появилась в 1.7.5.
5104</para>
5105<para lang="en">
5106"header already sent" alerts might appear in logs
5107when using cache;
5108the bug had appeared in 1.7.5.
5109</para>
5110</change>
5111
5112<change type="bugfix">
5113<para lang="ru">
5114при использовании CephFS и директивы timer_resolution на Linux
5115в логах могли появляться сообщения
5116"writev() failed (4: Interrupted system call)".
5117</para>
5118<para lang="en">
5119"writev() failed (4: Interrupted system call)"
5120errors might appear in logs
5121when using CephFS and the "timer_resolution" directive on Linux.
5122</para>
5123</change>
5124
5125<change type="bugfix">
5126<para lang="ru">
5127в обработке ошибок конфигурации.<br/>
5128Спасибо Markus Linnala.
5129</para>
5130<para lang="en">
5131in invalid configurations handling.<br/>
5132Thanks to Markus Linnala.
5133</para>
5134</change>
5135
5136<change type="bugfix">
5137<para lang="ru">
5138при использовании директивы sub_filter на уровне http
5139в рабочем процессе происходил segmentation fault;
5140ошибка появилась в 1.9.4.
5141</para>
5142<para lang="en">
5143a segmentation fault occurred in a worker process
5144if the "sub_filter" directive was used at http level;
5145the bug had appeared in 1.9.4.
5146</para>
5147</change>
5148
5149</changes>
5150
5151
5152<changes ver="1.9.4" date="2015-08-18">
5153
5154<change type="change">
5155<para lang="ru">
5156директивы proxy_downstream_buffer и proxy_upstream_buffer в модуле stream
5157заменены директивой proxy_buffer_size.
5158</para>
5159<para lang="en">
5160the "proxy_downstream_buffer" and "proxy_upstream_buffer" directives
5161of the stream module are replaced with the "proxy_buffer_size" directive.
5162</para>
5163</change>
5164
5165<change type="feature">
5166<para lang="ru">
5167директива tcp_nodelay в модуле stream.
5168</para>
5169<para lang="en">
5170the "tcp_nodelay" directive in the stream module.
5171</para>
5172</change>
5173
5174<change type="feature">
5175<para lang="ru">
5176теперь можно указать несколько директив sub_filter одновременно.
5177</para>
5178<para lang="en">
5179multiple "sub_filter" directives can be used simultaneously.
5180</para>
5181</change>
5182
5183<change type="feature">
5184<para lang="ru">
5185директива sub_filter поддерживает переменные в строке поиска.
5186</para>
5187<para lang="en">
5188variables support in the search string of the "sub_filter" directive.
5189</para>
5190</change>
5191
5192<change type="workaround">
5193<para lang="ru">
5194тестирование конфигурации могло не работать под Linux OpenVZ.<br/>
5195Спасибо Геннадию Махомеду.
5196</para>
5197<para lang="en">
5198configuration testing might fail under Linux OpenVZ.<br/>
5199Thanks to Gena Makhomed.
5200</para>
5201</change>
5202
5203<change type="bugfix">
5204<para lang="ru">
5205после переконфигурации старые рабочие процессы могли сильно нагружать процессор
5206при больших значениях worker_connections.
5207</para>
5208<para lang="en">
5209old worker processes might hog CPU after reconfiguration
5210with a large number of worker_connections.
5211</para>
5212</change>
5213
5214<change type="bugfix">
5215<para lang="ru">
5216при совместном использовании директив try_files и alias
5217внутри location'а, заданного регулярным выражением,
5218в рабочем процессе мог произойти segmentation fault;
5219ошибка появилась в 1.7.1.
5220</para>
5221<para lang="en">
5222a segmentation fault might occur in a worker process
5223if the "try_files" and "alias" directives were used
5224inside a location given by a regular expression;
5225the bug had appeared in 1.7.1.
5226</para>
5227</change>
5228
5229<change type="bugfix">
5230<para lang="ru">
5231директива try_files внутри вложенного location'а, заданного регулярным
5232выражением, работала неправильно, если во внешнем location'е использовалась
5233директива alias.
5234</para>
5235<para lang="en">
5236the "try_files" directive inside a nested location
5237given by a regular expression worked incorrectly
5238if the "alias" directive was used in the outer location.
5239</para>
5240</change>
5241
5242<change type="bugfix">
5243<para lang="ru">
5244в обработке ошибок при построении хэш-таблиц.
5245</para>
5246<para lang="en">
5247in hash table initialization error handling.
5248</para>
5249</change>
5250
5251<change type="bugfix">
5252<para lang="ru">
5253nginx не собирался с Visual Studio 2015.
5254</para>
5255<para lang="en">
5256nginx could not be built with Visual Studio 2015.
5257</para>
5258</change>
5259
5260</changes>
5261
5262
5263<changes ver="1.9.3" date="2015-07-14">
5264
5265<change type="change">
5266<para lang="ru">
5267дублирующиеся блоки http, mail и stream теперь запрещены.
5268</para>
5269<para lang="en">
5270duplicate "http", "mail", and "stream" blocks are now disallowed.
5271</para>
5272</change>
5273
5274<change type="feature">
5275<para lang="ru">
5276ограничение количества соединений в модуле stream.
5277</para>
5278<para lang="en">
5279connection limiting in the stream module.
5280</para>
5281</change>
5282
5283<change type="feature">
5284<para lang="ru">
5285ограничение скорости в модуле stream.
5286</para>
5287<para lang="en">
5288data rate limiting in the stream module.
5289</para>
5290</change>
5291
5292<change type="bugfix">
5293<para lang="ru">
5294директива zone в блоке upstream не работала на Windows.
5295</para>
5296<para lang="en">
5297the "zone" directive inside the "upstream" block did not work on Windows.
5298</para>
5299</change>
5300
5301<change type="bugfix">
5302<para lang="ru">
5303совместимость с LibreSSL в модуле stream.<br/>
5304Спасибо Piotr Sikora.
5305</para>
5306<para lang="en">
5307compatibility with LibreSSL in the stream module.<br/>
5308Thanks to Piotr Sikora.
5309</para>
5310</change>
5311
5312<change type="bugfix">
5313<para lang="ru">
5314в параметре --builddir в configure.<br/>
5315Спасибо Piotr Sikora.
5316</para>
5317<para lang="en">
5318in the "--builddir" configure parameter.<br/>
5319Thanks to Piotr Sikora.
5320</para>
5321</change>
5322
5323<change type="bugfix">
5324<para lang="ru">
5325директива ssl_stapling_file не работала;
5326ошибка появилась в 1.9.2.<br/>
5327Спасибо Faidon Liambotis и Brandon Black.
5328</para>
5329<para lang="en">
5330the "ssl_stapling_file" directive did not work;
5331the bug had appeared in 1.9.2.<br/>
5332Thanks to Faidon Liambotis and Brandon Black.
5333</para>
5334</change>
5335
5336<change type="bugfix">
5337<para lang="ru">
5338при использовании директивы ssl_stapling
5339в рабочем процессе мог произойти segmentation fault;
5340ошибка появилась в 1.9.2.<br/>
5341Спасибо Matthew Baldwin.
5342</para>
5343<para lang="en">
5344a segmentation fault might occur in a worker process
5345if the "ssl_stapling" directive was used;
5346the bug had appeared in 1.9.2.<br/>
5347Thanks to Matthew Baldwin.
5348</para>
5349</change>
5350
5351</changes>
5352
5353
5354<changes ver="1.9.2" date="2015-06-16">
5355
5356<change type="feature">
5357<para lang="ru">
5358параметр backlog директивы listen
5359в почтовом прокси-сервере и модуле stream.
5360</para>
5361<para lang="en">
5362the "backlog" parameter of the "listen" directives
5363of the mail proxy and stream modules.
5364</para>
5365</change>
5366
5367<change type="feature">
5368<para lang="ru">
5369директивы allow и deny в модуле stream.
5370</para>
5371<para lang="en">
5372the "allow" and "deny" directives in the stream module.
5373</para>
5374</change>
5375
5376<change type="feature">
5377<para lang="ru">
5378директива proxy_bind в модуле stream.
5379</para>
5380<para lang="en">
5381the "proxy_bind" directive in the stream module.
5382</para>
5383</change>
5384
5385<change type="feature">
5386<para lang="ru">
5387директива proxy_protocol в модуле stream.
5388</para>
5389<para lang="en">
5390the "proxy_protocol" directive in the stream module.
5391</para>
5392</change>
5393
5394<change type="feature">
5395<para lang="ru">
5396ключ -T.
5397</para>
5398<para lang="en">
5399the -T switch.
5400</para>
5401</change>
5402
5403<change type="feature">
5404<para lang="ru">
5405параметр REQUEST_SCHEME добавлен в стандартные конфигурационные файлы
5406fastcgi.conf, fastcgi_params, scgi_params и uwsgi_params.
5407</para>
5408<para lang="en">
5409the REQUEST_SCHEME parameter added to the fastcgi.conf, fastcgi_params,
5410scgi_params, and uwsgi_params standard configuration files.
5411</para>
5412</change>
5413
5414<change type="bugfix">
5415<para lang="ru">
5416параметр reuseport директивы listen в модуле stream
5417не работал.
5418</para>
5419<para lang="en">
5420the "reuseport" parameter of the "listen" directive of the stream module
5421did not work.
5422</para>
5423</change>
5424
5425<change type="bugfix">
5426<para lang="ru">
5427OCSP stapling в некоторых случаях мог вернуть устаревший OCSP-ответ.
5428</para>
5429<para lang="en">
5430OCSP stapling might return an expired OCSP response in some cases.
5431</para>
5432</change>
5433
5434</changes>
5435
5436
5437<changes ver="1.9.1" date="2015-05-26">
5438
5439<change type="change">
5440<para lang="ru">
5441теперь протокол SSLv3 по умолчанию запрещён.
5442</para>
5443<para lang="en">
5444now SSLv3 protocol is disabled by default.
5445</para>
5446</change>
5447
5448<change type="change">
5449<para lang="ru">
5450некоторые давно устаревшие директивы больше не поддерживаются.
5451</para>
5452<para lang="en">
5453some long deprecated directives are not supported anymore.
5454</para>
5455</change>
5456
5457<change type="feature">
5458<para lang="ru">
5459параметр reuseport директивы listen.<br/>
5460Спасибо Yingqi Lu из Intel и Sepherosa Ziehau.
5461</para>
5462<para lang="en">
5463the "reuseport" parameter of the "listen" directive.<br/>
5464Thanks to Yingqi Lu at Intel and Sepherosa Ziehau.
5465</para>
5466</change>
5467
5468<change type="feature">
5469<para lang="ru">
5470переменная $upstream_connect_time.
5471</para>
5472<para lang="en">
5473the $upstream_connect_time variable.
5474</para>
5475</change>
5476
5477<change type="bugfix">
5478<para lang="ru">
5479в директиве hash на big-endian платформах.
5480</para>
5481<para lang="en">
5482in the "hash" directive on big-endian platforms.
5483</para>
5484</change>
5485
5486<change type="bugfix">
5487<para lang="ru">
5488nginx мог не запускаться на некоторых старых версиях Linux;
5489ошибка появилась в 1.7.11.
5490</para>
5491<para lang="en">
5492nginx might fail to start on some old Linux variants;
5493the bug had appeared in 1.7.11.
5494</para>
5495</change>
5496
5497<change type="bugfix">
5498<para lang="ru">
5499в парсинге IP-адресов.<br/>
5500Спасибо Сергею Половко.
5501</para>
5502<para lang="en">
5503in IP address parsing.<br/>
5504Thanks to Sergey Polovko.
5505</para>
5506</change>
5507
5508</changes>
5509
5510
5511<changes ver="1.9.0" date="2015-04-28">
5512
5513<change type="change">
5514<para lang="ru">
5515устаревшие методы обработки соединений aio и rtsig больше не поддерживаются.
5516</para>
5517<para lang="en">
5518obsolete aio and rtsig event methods have been removed.
5519</para>
5520</change>
5521
5522<change type="feature">
5523<para lang="ru">
5524директива zone в блоке upstream.
5525</para>
5526<para lang="en">
5527the "zone" directive inside the "upstream" block.
5528</para>
5529</change>
5530
5531<change type="feature">
5532<para lang="ru">
5533модуль stream.
5534</para>
5535<para lang="en">
5536the stream module.
5537</para>
5538</change>
5539
5540<change type="feature">
5541<para lang="ru">
5542поддержка byte ranges для ответов модуля ngx_http_memcached_module.<br/>
5543Спасибо Martin Mlynář.
5544</para>
5545<para lang="en">
5546byte ranges support in the ngx_http_memcached_module.<br/>
5547Thanks to Martin Mlynář.
5548</para>
5549</change>
5550
5551<change type="feature">
5552<para lang="ru">
5553разделяемую память теперь можно использовать на версиях Windows
5554с рандомизацией адресного пространства.<br/>
5555Спасибо Сергею Брестеру.
5556</para>
5557<para lang="en">
5558shared memory can now be used on Windows versions
5559with address space layout randomization.<br/>
5560Thanks to Sergey Brester.
5561</para>
5562</change>
5563
5564<change type="feature">
5565<para lang="ru">
5566директиву error_log теперь можно использовать
5567на уровнях mail и server в почтовом прокси-сервере.
5568</para>
5569<para lang="en">
5570the "error_log" directive can now be used
5571on mail and server levels in mail proxy.
5572</para>
5573</change>
5574
5575<change type="bugfix">
5576<para lang="ru">
5577параметр proxy_protocol директивы listen не работал,
5578если не был указан в первой директиве listen для данного listen-сокета.
5579</para>
5580<para lang="en">
5581the "proxy_protocol" parameter of the "listen" directive did not work
5582if not specified in the first "listen" directive for a listen socket.
5583</para>
5584</change>
5585
5586</changes>
5587
5588
5589<changes ver="1.7.12" date="2015-04-07">
5590
5591<change type="feature">
5592<para lang="ru">
5593теперь директива tcp_nodelay работает для SSL-соединений с бэкендами.
5594</para>
5595<para lang="en">
5596now the "tcp_nodelay" directive works with backend SSL connections.
5597</para>
5598</change>
5599
5600<change type="feature">
5601<para lang="ru">
5602теперь потоки могут использоваться для чтения заголовков файлов в кэше.
5603</para>
5604<para lang="en">
5605now thread pools can be used to read cache file headers.
5606</para>
5607</change>
5608
5609<change type="bugfix">
5610<para lang="ru">
5611в директиве proxy_request_buffering.
5612</para>
5613<para lang="en">
5614in the "proxy_request_buffering" directive.
5615</para>
5616</change>
5617
5618<change type="bugfix">
5619<para lang="ru">
5620при использовании потоков на Linux
5621в рабочем процессе мог произойти segmentation fault.
5622</para>
5623<para lang="en">
5624a segmentation fault might occur in a worker process
5625when using thread pools on Linux.
5626</para>
5627</change>
5628
5629<change type="bugfix">
5630<para lang="ru">
5631в обработке ошибок при использовании директивы ssl_stapling.<br/>
5632Спасибо Filipe da Silva.
5633</para>
5634<para lang="en">
5635in error handling when using the "ssl_stapling" directive.<br/>
5636Thanks to Filipe da Silva.
5637</para>
5638</change>
5639
5640<change type="bugfix">
5641<para lang="ru">
5642в модуле ngx_http_spdy_module.
5643</para>
5644<para lang="en">
5645in the ngx_http_spdy_module.
5646</para>
5647</change>
5648
5649</changes>
5650
5651
5652<changes ver="1.7.11" date="2015-03-24">
5653
5654<change type="change">
5655<para lang="ru">
5656параметр sendfile директивы aio более не нужен;
5657теперь nginx автоматически использует AIO для подгрузки данных для sendfile,
5658если одновременно используются директивы aio и sendfile.
5659</para>
5660<para lang="en">
5661the "sendfile" parameter of the "aio" directive is deprecated;
5662now nginx automatically uses AIO to pre-load data for sendfile
5663if both "aio" and "sendfile" directives are used.
5664</para>
5665</change>
5666
5667<change type="feature">
5668<para lang="ru">
5669экспериментальная поддержка потоков.
5670</para>
5671<para lang="en">
5672experimental thread pools support.
5673</para>
5674</change>
5675
5676<change type="feature">
5677<para lang="ru">
5678директивы proxy_request_buffering, fastcgi_request_buffering,
5679scgi_request_buffering и uwsgi_request_buffering.
5680</para>
5681<para lang="en">
5682the "proxy_request_buffering", "fastcgi_request_buffering",
5683"scgi_request_buffering", and "uwsgi_request_buffering" directives.
5684</para>
5685</change>
5686
5687<change type="feature">
5688<para lang="ru">
5689экспериментальное API для обработки тела запроса.
5690</para>
5691<para lang="en">
5692request body filters experimental API.
5693</para>
5694</change>
5695
5696<change type="feature">
5697<para lang="ru">
5698проверка клиентских SSL-сертификатов в почтовом прокси-сервере.<br/>
5699Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva.
5700</para>
5701<para lang="en">
5702client SSL certificates support in mail proxy.<br/>
5703Thanks to Sven Peter, Franck Levionnois, and Filipe Da Silva.
5704</para>
5705</change>
5706
5707<change type="feature">
5708<para lang="ru">
5709уменьшение времени запуска
5710при использовании директивы "hash ... consistent" в блоке upstream.<br/>
5711Спасибо Wai Keen Woon.
5712</para>
5713<para lang="en">
5714startup speedup
5715when using the "hash ... consistent" directive in the upstream block.<br/>
5716Thanks to Wai Keen Woon.
5717</para>
5718</change>
5719
5720<change type="feature">
5721<para lang="ru">
5722отладочное логгирование в кольцевой буфер в памяти.
5723</para>
5724<para lang="en">
5725debug logging into a cyclic memory buffer.
5726</para>
5727</change>
5728
5729<change type="bugfix">
5730<para lang="ru">
5731в обработке хэш-таблиц.<br/>
5732Спасибо Chris West.
5733</para>
5734<para lang="en">
5735in hash table handling.<br/>
5736Thanks to Chris West.
5737</para>
5738</change>
5739
5740<change type="bugfix">
5741<para lang="ru">
5742в директиве proxy_cache_revalidate.
5743</para>
5744<para lang="en">
5745in the "proxy_cache_revalidate" directive.
5746</para>
5747</change>
5748
5749<change type="bugfix">
5750<para lang="ru">
5751SSL-соединения могли зависать, если использовался отложенный accept
5752или параметр proxy_protocol директивы listen.<br/>
5753Спасибо James Hamlin.
5754</para>
5755<para lang="en">
5756SSL connections might hang if deferred accept
5757or the "proxy_protocol" parameter of the "listen" directive were used.<br/>
5758Thanks to James Hamlin.
5759</para>
5760</change>
5761
5762<change type="bugfix">
5763<para lang="ru">
5764переменная $upstream_response_time могла содержать неверное значение
5765при использовании директивы image_filter.
5766</para>
5767<para lang="en">
5768the $upstream_response_time variable might contain a wrong value
5769if the "image_filter" directive was used.
5770</para>
5771</change>
5772
5773<change type="bugfix">
5774<para lang="ru">
5775в обработке целочисленных переполнений.<br/>
5776Спасибо Régis Leroy.
5777</para>
5778<para lang="en">
5779in integer overflow handling.<br/>
5780Thanks to Régis Leroy.
5781</para>
5782</change>
5783
5784<change type="bugfix">
5785<para lang="ru">
5786при использовании LibreSSL было невозможно включить поддержку SSLv3.
5787</para>
5788<para lang="en">
5789it was not possible to enable SSLv3 with LibreSSL.
5790</para>
5791</change>
5792
5793<change type="bugfix">
5794<para lang="ru">
5795при использовании LibreSSL в логах появлялись сообщения
5796"ignoring stale global SSL error ... called a function you should not call".
5797</para>
5798<para lang="en">
5799the "ignoring stale global SSL error ... called a function you should not call"
5800alerts appeared in logs when using LibreSSL.
5801</para>
5802</change>
5803
5804<change type="bugfix">
5805<para lang="ru">
5806сертификаты, указанные в директивах ssl_client_certificate и
5807ssl_trusted_certificate, использовались
5808для автоматического построения цепочек сертификатов.
5809</para>
5810<para lang="en">
5811certificates specified by the "ssl_client_certificate" and
5812"ssl_trusted_certificate" directives were inadvertently used
5813to automatically construct certificate chains.
5814</para>
5815</change>
5816
5817</changes>
5818
5819
5820<changes ver="1.7.10" date="2015-02-10">
5821
5822<change type="feature">
5823<para lang="ru">
5824параметр use_temp_path директив proxy_cache_path, fastcgi_cache_path,
5825scgi_cache_path и uwsgi_cache_path.
5826</para>
5827<para lang="en">
5828the "use_temp_path" parameter of the "proxy_cache_path", "fastcgi_cache_path",
5829"scgi_cache_path", and "uwsgi_cache_path" directives.
5830</para>
5831</change>
5832
5833<change type="feature">
5834<para lang="ru">
5835переменная $upstream_header_time.
5836</para>
5837<para lang="en">
5838the $upstream_header_time variable.
5839</para>
5840</change>
5841
5842<change type="workaround">
5843<para lang="ru">
5844теперь при переполнении диска nginx пытается писать error_log'и только
5845раз в секунду.
5846</para>
5847<para lang="en">
5848now on disk overflow nginx tries to write error logs once a second only.
5849</para>
5850</change>
5851
5852<change type="bugfix">
5853<para lang="ru">
5854директива try_files при тестировании каталогов
5855не игнорировала обычные файлы.<br/>
5856Спасибо Damien Tournoud.
5857</para>
5858<para lang="en">
5859the "try_files" directive did not ignore normal files
5860while testing directories.<br/>
5861Thanks to Damien Tournoud.
5862</para>
5863</change>
5864
5865<change type="bugfix">
5866<para lang="ru">
5867при использовании директивы sendfile на OS X
5868возникали ошибки "sendfile() failed";
5869ошибка появилась в nginx 1.7.8.
5870</para>
5871<para lang="en">
5872alerts "sendfile() failed"
5873if the "sendfile" directive was used on OS X;
5874the bug had appeared in 1.7.8.
5875</para>
5876</change>
5877
5878<change type="bugfix">
5879<para lang="ru">
5880в лог могли писаться сообщения "sem_post() failed".
5881</para>
5882<para lang="en">
5883alerts "sem_post() failed" might appear in logs.
5884</para>
5885</change>
5886
5887<change type="bugfix">
5888<para lang="ru">
5889nginx не собирался с musl libc.<br/>
5890Спасибо James Taylor.
5891</para>
5892<para lang="en">
5893nginx could not be built with musl libc.<br/>
5894Thanks to James Taylor.
5895</para>
5896</change>
5897
5898<change type="bugfix">
5899<para lang="ru">
5900nginx не собирался на Tru64 UNIX.<br/>
5901Спасибо Goetz T. Fischer.
5902</para>
5903<para lang="en">
5904nginx could not be built on Tru64 UNIX.<br/>
5905Thanks to Goetz T. Fischer.
5906</para>
5907</change>
5908
5909</changes>
5910
5911
5912<changes ver="1.7.9" date="2014-12-23">
5913
5914<change type="feature">
5915<para lang="ru">
5916директивы proxy_cache, fastcgi_cache, scgi_cache и uwsgi_cache
5917поддерживают переменные.
5918</para>
5919<para lang="en">
5920variables support in the "proxy_cache", "fastcgi_cache", "scgi_cache",
5921and "uwsgi_cache" directives.
5922</para>
5923</change>
5924
5925<change type="feature">
5926<para lang="ru">
5927директива expires поддерживает переменные.
5928</para>
5929<para lang="en">
5930variables support in the "expires" directive.
5931</para>
5932</change>
5933
5934<change type="feature">
5935<para lang="ru">
5936возможность загрузки секретных ключей с аппаратных устройств
5937с помощью OpenSSL engines.<br/>
5938Спасибо Дмитрию Пичулину.
5939</para>
5940<para lang="en">
5941loading of secret keys from hardware tokens
5942with OpenSSL engines.<br/>
5943Thanks to Dmitrii Pichulin.
5944</para>
5945</change>
5946
5947<change type="feature">
5948<para lang="ru">
5949директива autoindex_format.
5950</para>
5951<para lang="en">
5952the "autoindex_format" directive.
5953</para>
5954</change>
5955
5956<change type="bugfix">
5957<para lang="ru">
5958ревалидация элементов кэша теперь используется только для ответов
5959с кодами 200 и 206.<br/>
5960Спасибо Piotr Sikora.
5961</para>
5962<para lang="en">
5963cache revalidation is now only used for responses
5964with 200 and 206 status codes.<br/>
5965Thanks to Piotr Sikora.
5966</para>
5967</change>
5968
5969<change type="bugfix">
5970<para lang="ru">
5971строка "TE" заголовка запроса клиента передавалась на бэкенд при проксировании.
5972</para>
5973<para lang="en">
5974the "TE" client request header line was passed to backends while proxying.
5975</para>
5976</change>
5977
5978<change type="bugfix">
5979<para lang="ru">
5980директивы proxy_pass, fastcgi_pass, scgi_pass и uwsgi_pass
5981могли неправильно работать внутри блоков if и limit_except.
5982</para>
5983<para lang="en">
5984the "proxy_pass", "fastcgi_pass", "scgi_pass", and "uwsgi_pass" directives
5985might not work correctly inside the "if" and "limit_except" blocks.
5986</para>
5987</change>
5988
5989<change type="bugfix">
5990<para lang="ru">
5991директива proxy_store с параметром "on" игнорировалась,
5992если на предыдущем уровне использовалась директива proxy_store
5993с явно заданным путём к файлам.
5994</para>
5995<para lang="en">
5996the "proxy_store" directive with the "on" parameter was ignored
5997if the "proxy_store" directive with an explicitly specified file path
5998was used on a previous level.
5999</para>
6000</change>
6001
6002<change type="bugfix">
6003<para lang="ru">
6004nginx не собирался с BoringSSL.<br/>
6005Спасибо Lukas Tribus.
6006</para>
6007<para lang="en">
6008nginx could not be built with BoringSSL.<br/>
6009Thanks to Lukas Tribus.
6010</para>
6011</change>
6012
6013</changes>
6014
6015
6016<changes ver="1.7.8" date="2014-12-02">
6017
6018<change type="change">
6019<para lang="ru">
6020теперь строки "If-Modified-Since", "If-Range" и им подобные
6021в заголовке запроса клиента передаются бэкенду при включённом кэшировании,
6022если nginx заранее знает, что не будет кэшировать ответ
6023(например, при использовании proxy_cache_min_uses).
6024</para>
6025<para lang="en">
6026now the "If-Modified-Since", "If-Range", etc.
6027client request header lines are passed to a backend while caching
6028if nginx knows in advance that the response will not be cached
6029(e.g., when using proxy_cache_min_uses).
6030</para>
6031</change>
6032
6033<change type="change">
6034<para lang="ru">
6035теперь после истечения proxy_cache_lock_timeout
6036nginx отправляет запрос на бэкенд без кэширования;
6037новые директивы proxy_cache_lock_age, fastcgi_cache_lock_age,
6038scgi_cache_lock_age и uwsgi_cache_lock_age позволяют указать,
6039через какое время блокировка будет принудительно снята
6040и будет сделана ещё одна попытка закэшировать ответ.
6041</para>
6042<para lang="en">
6043now after proxy_cache_lock_timeout
6044nginx sends a request to a backend with caching disabled;
6045the new directives "proxy_cache_lock_age", "fastcgi_cache_lock_age",
6046"scgi_cache_lock_age", and "uwsgi_cache_lock_age" specify a time
6047after which the lock will be released
6048and another attempt to cache a response will be made.
6049</para>
6050</change>
6051
6052<change type="change">
6053<para lang="ru">
6054директива log_format теперь может использоваться только на уровне http.
6055</para>
6056<para lang="en">
6057the "log_format" directive can now be used only at http level.
6058</para>
6059</change>
6060
6061<change type="feature">
6062<para lang="ru">
6063директивы proxy_ssl_certificate, proxy_ssl_certificate_key,
6064proxy_ssl_password_file, uwsgi_ssl_certificate,
6065uwsgi_ssl_certificate_key и uwsgi_ssl_password_file.<br/>
6066Спасибо Piotr Sikora.
6067</para>
6068<para lang="en">
6069the "proxy_ssl_certificate", "proxy_ssl_certificate_key",
6070"proxy_ssl_password_file", "uwsgi_ssl_certificate",
6071"uwsgi_ssl_certificate_key", and "uwsgi_ssl_password_file" directives.<br/>
6072Thanks to Piotr Sikora.
6073</para>
6074</change>
6075
6076<change type="feature">
6077<para lang="ru">
6078теперь с помощью X-Accel-Redirect
6079можно перейти в именованный location.<br/>
6080Спасибо Toshikuni Fukaya.
6081</para>
6082<para lang="en">
6083it is now possible to switch to a named location
6084using "X-Accel-Redirect".<br/>
6085Thanks to Toshikuni Fukaya.
6086</para>
6087</change>
6088
6089<change type="feature">
6090<para lang="ru">
6091теперь директива tcp_nodelay работает для SPDY-соединений.
6092</para>
6093<para lang="en">
6094now the "tcp_nodelay" directive works with SPDY connections.
6095</para>
6096</change>
6097
6098<change type="feature">
6099<para lang="ru">
6100новые директивы в скриптах подсветки синтаксиса для vim.<br/>
6101Спасибо Peter Wu.
6102</para>
6103<para lang="en">
6104new directives in vim syntax highliting scripts.<br/>
6105Thanks to Peter Wu.
6106</para>
6107</change>
6108
6109<change type="bugfix">
6110<para lang="ru">
6111nginx игнорировал значение "s-maxage"
6112в строке "Cache-Control" в заголовке ответа бэкенда.<br/>
6113Спасибо Piotr Sikora.
6114</para>
6115<para lang="en">
6116nginx ignored the "s-maxage" value
6117in the "Cache-Control" backend response header line.<br/>
6118Thanks to Piotr Sikora.
6119</para>
6120</change>
6121
6122<change type="bugfix">
6123<para lang="ru">
6124в модуле ngx_http_spdy_module.<br/>
6125Спасибо Piotr Sikora.
6126</para>
6127<para lang="en">
6128in the ngx_http_spdy_module.<br/>
6129Thanks to Piotr Sikora.
6130</para>
6131</change>
6132
6133<change type="bugfix">
6134<para lang="ru">
6135в директиве ssl_password_file
6136при использовании OpenSSL 0.9.8zc, 1.0.0o, 1.0.1j.
6137</para>
6138<para lang="en">
6139in the "ssl_password_file" directive
6140when using OpenSSL 0.9.8zc, 1.0.0o, 1.0.1j.
6141</para>
6142</change>
6143
6144<change type="bugfix">
6145<para lang="ru">
6146при использовании директивы post_action
6147в лог писались сообщения "header already sent";
6148ошибка появилась в nginx 1.5.4.
6149</para>
6150<para lang="en">
6151alerts "header already sent" appeared in logs
6152if the "post_action" directive was used;
6153the bug had appeared in 1.5.4.
6154</para>
6155</change>
6156
6157<change type="bugfix">
6158<para lang="ru">
6159при использовании директивы "postpone_output 0" с SSI-подзапросами
6160в лог могли писаться сообщения "the http output chain is empty".
6161</para>
6162<para lang="en">
6163alerts "the http output chain is empty" might appear in logs
6164if the "postpone_output 0" directive was used with SSI includes.
6165</para>
6166</change>
6167
6168<change type="bugfix">
6169<para lang="ru">
6170в директиве proxy_cache_lock при использовании SSI-подзапросов.<br/>
6171Спасибо Yichun Zhang.
6172</para>
6173<para lang="en">
6174in the "proxy_cache_lock" directive with SSI subrequests.<br/>
6175Thanks to Yichun Zhang.
6176</para>
6177</change>
6178
6179</changes>
6180
6181
6182<changes ver="1.7.7" date="2014-10-28">
6183
6184<change type="change">
6185<para lang="ru">
6186теперь nginx учитывает при кэшировании строку "Vary"
6187в заголовке ответа бэкенда.
6188</para>
6189<para lang="en">
6190now nginx takes into account the "Vary"
6191header line in a backend response while caching.
6192</para>
6193</change>
6194
6195<change type="feature">
6196<para lang="ru">
6197директивы proxy_force_ranges, fastcgi_force_ranges,
6198scgi_force_ranges и uwsgi_force_ranges.
6199</para>
6200<para lang="en">
6201the "proxy_force_ranges", "fastcgi_force_ranges",
6202"scgi_force_ranges", and "uwsgi_force_ranges" directives.
6203</para>
6204</change>
6205
6206<change type="feature">
6207<para lang="ru">
6208директивы proxy_limit_rate, fastcgi_limit_rate,
6209scgi_limit_rate и uwsgi_limit_rate.
6210</para>
6211<para lang="en">
6212the "proxy_limit_rate", "fastcgi_limit_rate",
6213"scgi_limit_rate", and "uwsgi_limit_rate" directives.
6214</para>
6215</change>
6216
6217<change type="feature">
6218<para lang="ru">
6219параметр Vary директив proxy_ignore_headers, fastcgi_ignore_headers,
6220scgi_ignore_headers и uwsgi_ignore_headers.
6221</para>
6222<para lang="en">
6223the "Vary" parameter of the "proxy_ignore_headers", "fastcgi_ignore_headers",
6224"scgi_ignore_headers", and "uwsgi_ignore_headers" directives.
6225</para>
6226</change>
6227
6228<change type="bugfix">
6229<para lang="ru">
6230последняя часть ответа, полученного от бэкенда
6231при небуферизированном проксировании,
6232могла не отправляться клиенту,
6233если использовались директивы gzip или gunzip.
6234</para>
6235<para lang="en">
6236the last part of a response received from a backend
6237with unbufferred proxy
6238might not be sent to a client
6239if "gzip" or "gunzip" directives were used.
6240</para>
6241</change>
6242
6243<change type="bugfix">
6244<para lang="ru">
6245в директиве proxy_cache_revalidate.<br/>
6246Спасибо Piotr Sikora.
6247</para>
6248<para lang="en">
6249in the "proxy_cache_revalidate" directive.<br/>
6250Thanks to Piotr Sikora.
6251</para>
6252</change>
6253
6254<change type="bugfix">
6255<para lang="ru">
6256в обработке ошибок.<br/>
6257Спасибо Yichun Zhang и Даниилу Бондареву.
6258</para>
6259<para lang="en">
6260in error handling.<br/>
6261Thanks to Yichun Zhang and Daniil Bondarev.
6262</para>
6263</change>
6264
6265<change type="bugfix">
6266<para lang="ru">
6267в директивах
6268proxy_next_upstream_tries и proxy_next_upstream_timeout.<br/>
6269Спасибо Feng Gu.
6270</para>
6271<para lang="en">
6272in the "proxy_next_upstream_tries" and "proxy_next_upstream_timeout"
6273directives.<br/>
6274Thanks to Feng Gu.
6275</para>
6276</change>
6277
6278<change type="bugfix">
6279<para lang="ru">
6280nginx/Windows не собирался с MinGW-w64 gcc.<br/>
6281Спасибо Kouhei Sutou.
6282</para>
6283<para lang="en">
6284nginx/Windows could not be built with MinGW-w64 gcc.<br/>
6285Thanks to Kouhei Sutou.
6286</para>
6287</change>
6288
6289</changes>
6290
6291
6292<changes ver="1.7.6" date="2014-09-30">
6293
6294<change type="change">
6295<para lang="ru">
6296устаревшая директива limit_zone больше не поддерживается.
6297</para>
6298<para lang="en">
6299the deprecated "limit_zone" directive is not supported anymore.
6300</para>
6301</change>
6302
6303<change type="feature">
6304<para lang="ru">
6305в директивах limit_conn_zone и limit_req_zone теперь можно использовать
6306комбинации нескольких переменных.
6307</para>
6308<para lang="en">
6309the "limit_conn_zone" and "limit_req_zone" directives now can be used
6310with combinations of multiple variables.
6311</para>
6312</change>
6313
6314<change type="bugfix">
6315<para lang="ru">
6316при повторной отправке FastCGI-запроса на бэкенд
6317тело запроса могло передаваться неправильно.
6318</para>
6319<para lang="en">
6320request body might be transmitted incorrectly
6321when retrying a FastCGI request to the next upstream server.
6322</para>
6323</change>
6324
6325<change type="bugfix">
6326<para lang="ru">
6327в логгировании в syslog.
6328</para>
6329<para lang="en">
6330in logging to syslog.
6331</para>
6332</change>
6333
6334</changes>
6335
6336
6337<changes ver="1.7.5" date="2014-09-16">
6338
6339<change type="security">
6340<para lang="ru">
6341при использовании общего для нескольких блоков server
6342разделяемого кэша SSL-сессий или общего ключа для шифрования
6343TLS session tickets было возможно повторно использовать
6344SSL-сессию в контексте другого блока server (CVE-2014-3616).<br/>
6345Спасибо Antoine Delignat-Lavaud.
6346</para>
6347<para lang="en">
6348it was possible to reuse SSL sessions in unrelated contexts
6349if a shared SSL session cache or the same TLS session ticket key
6350was used for multiple "server" blocks (CVE-2014-3616).<br/>
6351Thanks to Antoine Delignat-Lavaud.
6352</para>
6353</change>
6354
6355<change type="change">
6356<para lang="ru">
6357директиву stub_status теперь можно указывать без параметров.
6358</para>
6359<para lang="en">
6360now the "stub_status" directive does not require a parameter.
6361</para>
6362</change>
6363
6364<change type="feature">
6365<para lang="ru">
6366параметр always директивы add_header.
6367</para>
6368<para lang="en">
6369the "always" parameter of the "add_header" directive.
6370</para>
6371</change>
6372
6373<change type="feature">
6374<para lang="ru">
6375директивы
6376proxy_next_upstream_tries, proxy_next_upstream_timeout,
6377fastcgi_next_upstream_tries, fastcgi_next_upstream_timeout,
6378memcached_next_upstream_tries, memcached_next_upstream_timeout,
6379scgi_next_upstream_tries, scgi_next_upstream_timeout,
6380uwsgi_next_upstream_tries и uwsgi_next_upstream_timeout.
6381</para>
6382<para lang="en">
6383the
6384"proxy_next_upstream_tries", "proxy_next_upstream_timeout",
6385"fastcgi_next_upstream_tries", "fastcgi_next_upstream_timeout",
6386"memcached_next_upstream_tries", "memcached_next_upstream_timeout",
6387"scgi_next_upstream_tries", "scgi_next_upstream_timeout",
6388"uwsgi_next_upstream_tries", and "uwsgi_next_upstream_timeout"
6389directives.
6390</para>
6391</change>
6392
6393<change type="bugfix">
6394<para lang="ru">
6395в параметре if директивы access_log.
6396</para>
6397<para lang="en">
6398in the "if" parameter of the "access_log" directive.
6399</para>
6400</change>
6401
6402<change type="bugfix">
6403<para lang="ru">
6404в модуле ngx_http_perl_module.<br/>
6405Спасибо Piotr Sikora.
6406</para>
6407<para lang="en">
6408in the ngx_http_perl_module.<br/>
6409Thanks to Piotr Sikora.
6410</para>
6411</change>
6412
6413<change type="bugfix">
6414<para lang="ru">
6415директива listen почтового прокси-сервера
6416не позволяла указать более двух параметров.
6417</para>
6418<para lang="en">
6419the "listen" directive of the mail proxy module
6420did not allow to specify more than two parameters.
6421</para>
6422</change>
6423
6424<change type="bugfix">
6425<para lang="ru">
6426директива sub_filter не работала
6427с заменяемой строкой из одного символа.
6428</para>
6429<para lang="en">
6430the "sub_filter" directive did not work
6431with a string to replace consisting of a single character.
6432</para>
6433</change>
6434
6435<change type="bugfix">
6436<para lang="ru">
6437запросы могли зависать, если использовался resolver
6438и в процессе обращения к DNS-серверу происходил таймаут.
6439</para>
6440<para lang="en">
6441requests might hang if resolver was used
6442and a timeout occurred during a DNS request.
6443</para>
6444</change>
6445
6446<change type="bugfix">
6447<para lang="ru">
6448в модуле ngx_http_spdy_module при использовании совместно с AIO.
6449</para>
6450<para lang="en">
6451in the ngx_http_spdy_module when using with AIO.
6452</para>
6453</change>
6454
6455<change type="bugfix">
6456<para lang="ru">
6457в рабочем процессе мог произойти segmentation fault,
6458если с помощью директивы set изменялись переменные
6459"$http_...", "$sent_http_..." или "$upstream_http_...".
6460</para>
6461<para lang="en">
6462a segmentation fault might occur in a worker process
6463if the "set" directive was used to change the "$http_...",
6464"$sent_http_...", or "$upstream_http_..." variables.
6465</para>
6466</change>
6467
6468<change type="bugfix">
6469<para lang="ru">
6470в обработке ошибок выделения памяти.<br/>
6471Спасибо Markus Linnala и Feng Gu.
6472</para>
6473<para lang="en">
6474in memory allocation error handling.<br/>
6475Thanks to Markus Linnala and Feng Gu.
6476</para>
6477</change>
6478
6479</changes>
6480
6481
6482<changes ver="1.7.4" date="2014-08-05">
6483
6484<change type="security">
6485<para lang="ru">
6486pipelined-команды не отбрасывались
6487после команды STARTTLS в SMTP прокси-сервере (CVE-2014-3556);
6488ошибка появилась в 1.5.6.<br/>
6489Спасибо Chris Boulton.
6490</para>
6491<para lang="en">
6492pipelined commands were not discarded
6493after STARTTLS command in SMTP proxy (CVE-2014-3556);
6494the bug had appeared in 1.5.6.<br/>
6495Thanks to Chris Boulton.
6496</para>
6497</change>
6498
6499<change type="change">
6500<para lang="ru">
6501экранирование символов в URI теперь использует
6502шестнадцатеричные цифры в верхнем регистре.<br/>
6503Спасибо Piotr Sikora.
6504</para>
6505<para lang="en">
6506URI escaping now uses
6507uppercase hexadecimal digits.<br/>
6508Thanks to Piotr Sikora.
6509</para>
6510</change>
6511
6512<change type="feature">
6513<para lang="ru">
6514теперь nginx можно собрать с BoringSSL и LibreSSL.<br/>
6515Спасибо Piotr Sikora.
6516</para>
6517<para lang="en">
6518now nginx can be build with BoringSSL and LibreSSL.<br/>
6519Thanks to Piotr Sikora.
6520</para>
6521</change>
6522
6523<change type="bugfix">
6524<para lang="ru">
6525запросы могли зависать, если использовался resolver
6526и DNS-сервер возвращал некорректный ответ;
6527ошибка появилась в 1.5.8.
6528</para>
6529<para lang="en">
6530requests might hang if resolver was used
6531and a DNS server returned a malformed response;
6532the bug had appeared in 1.5.8.
6533</para>
6534</change>
6535
6536<change type="bugfix">
6537<para lang="ru">
6538в модуле ngx_http_spdy_module.<br/>
6539Спасибо Piotr Sikora.
6540</para>
6541<para lang="en">
6542in the ngx_http_spdy_module.<br/>
6543Thanks to Piotr Sikora.
6544</para>
6545</change>
6546
6547<change type="bugfix">
6548<para lang="ru">
6549переменная $uri могла содержать мусор
6550при возврате ошибок с кодом 400.<br/>
6551Спасибо Сергею Боброву.
6552</para>
6553<para lang="en">
6554the $uri variable might contain garbage
6555when returning errors with code 400.<br/>
6556Thanks to Sergey Bobrov.
6557</para>
6558</change>
6559
6560<change type="bugfix">
6561<para lang="ru">
6562в обработке ошибок в директиве proxy_store
6563и в модуле ngx_http_dav_module.<br/>
6564Спасибо Feng Gu.
6565</para>
6566<para lang="en">
6567in error handling in the "proxy_store" directive
6568and the ngx_http_dav_module.<br/>
6569Thanks to Feng Gu.
6570</para>
6571</change>
6572
6573<change type="bugfix">
6574<para lang="ru">
6575при логгировании ошибок в syslog мог происходить segmentation fault;
6576ошибка появилась в 1.7.1.
6577</para>
6578<para lang="en">
6579a segmentation fault might occur if logging of errors to syslog was used;
6580the bug had appeared in 1.7.1.
6581</para>
6582</change>
6583
6584<change type="bugfix">
6585<para lang="ru">
6586переменные $geoip_latitude, $geoip_longitude, $geoip_dma_code
6587и $geoip_area_code могли не работать.<br/>
6588Спасибо Yichun Zhang.
6589</para>
6590<para lang="en">
6591the $geoip_latitude, $geoip_longitude, $geoip_dma_code,
6592and $geoip_area_code variables might not work.<br/>
6593Thanks to Yichun Zhang.
6594</para>
6595</change>
6596
6597<change type="bugfix">
6598<para lang="ru">
6599в обработке ошибок выделения памяти.<br/>
6600Спасибо Tatsuhiko Kubo и Piotr Sikora.
6601</para>
6602<para lang="en">
6603in memory allocation error handling.<br/>
6604Thanks to Tatsuhiko Kubo and Piotr Sikora.
6605</para>
6606</change>
6607
6608</changes>
6609
6610
6611<changes ver="1.7.3" date="2014-07-08">
6612
6613<change type="feature">
6614<para lang="ru">
6615weak entity tags теперь не удаляются при изменениях ответа,
6616а strong entity tags преобразуются в weak.
6617</para>
6618<para lang="en">
6619weak entity tags are now preserved on response modifications,
6620and strong ones are changed to weak.
6621</para>
6622</change>
6623
6624<change type="feature">
6625<para lang="ru">
6626ревалидация элементов кэша теперь, если это возможно,
6627использует заголовок If-None-Match.
6628</para>
6629<para lang="en">
6630cache revalidation now uses If-None-Match header
6631if possible.
6632</para>
6633</change>
6634
6635<change type="feature">
6636<para lang="ru">
6637директива ssl_password_file.
6638</para>
6639<para lang="en">
6640the "ssl_password_file" directive.
6641</para>
6642</change>
6643
6644<change type="bugfix">
6645<para lang="ru">
6646при возврате ответа из кэша
6647заголовок запроса If-None-Match игнорировался,
6648если в ответе не было заголовка Last-Modified.
6649</para>
6650<para lang="en">
6651the If-None-Match request header line was ignored
6652if there was no Last-Modified header
6653in a response returned from cache.
6654</para>
6655</change>
6656
6657<change type="bugfix">
6658<para lang="ru">
6659сообщения "peer closed connection in SSL handshake"
6660при соединении с бэкендами логгировались на уровне info вместо error.
6661</para>
6662<para lang="en">
6663"peer closed connection in SSL handshake" messages
6664were logged at "info" level instead of "error" while connecting to backends.
6665</para>
6666</change>
6667
6668<change type="bugfix">
6669<para lang="ru">
6670в модуле ngx_http_dav_module в nginx/Windows.
6671</para>
6672<para lang="en">
6673in the ngx_http_dav_module module in nginx/Windows.
6674</para>
6675</change>
6676
6677<change type="bugfix">
6678<para lang="ru">
6679SPDY-соединения могли неожиданно закрываться,
6680если использовалось кэширование.
6681</para>
6682<para lang="en">
6683SPDY connections might be closed prematurely
6684if caching was used.
6685</para>
6686</change>
6687
6688</changes>
6689
6690
6691<changes ver="1.7.2" date="2014-06-17">
6692
6693<change type="feature">
6694<para lang="ru">
6695директива hash в блоке upstream.
6696</para>
6697<para lang="en">
6698the "hash" directive inside the "upstream" block.
6699</para>
6700</change>
6701
6702<change type="feature">
6703<para lang="ru">
6704дефрагментация свободных блоков разделяемой памяти.<br/>
6705Спасибо Wandenberg Peixoto и Yichun Zhang.
6706</para>
6707<para lang="en">
6708defragmentation of free shared memory blocks.<br/>
6709Thanks to Wandenberg Peixoto and Yichun Zhang.
6710</para>
6711</change>
6712
6713<change type="bugfix">
6714<para lang="ru">
6715в рабочем процессе мог произойти segmentation fault,
6716если использовалось значение access_log по умолчанию;
6717ошибка появилась в 1.7.0.<br/>
6718Спасибо Piotr Sikora.
6719</para>
6720<para lang="en">
6721a segmentation fault might occur in a worker process
6722if the default value of the "access_log" directive was used;
6723the bug had appeared in 1.7.0.<br/>
6724Thanks to Piotr Sikora.
6725</para>
6726</change>
6727
6728<change type="bugfix">
6729<para lang="ru">
6730завершающий слэш ошибочно удалялся
6731из последнего параметра директивы try_files.
6732</para>
6733<para lang="en">
6734trailing slash was mistakenly removed
6735from the last parameter of the "try_files" directive.
6736</para>
6737</change>
6738
6739<change type="bugfix">
6740<para lang="ru">
6741nginx мог не собираться на OS X.
6742</para>
6743<para lang="en">
6744nginx could not be built on OS X in some cases.
6745</para>
6746</change>
6747
6748<change type="bugfix">
6749<para lang="ru">
6750в модуле ngx_http_spdy_module.
6751</para>
6752<para lang="en">
6753in the ngx_http_spdy_module.
6754</para>
6755</change>
6756
6757</changes>
6758
6759
6760<changes ver="1.7.1" date="2014-05-27">
6761
6762<change type="feature">
6763<para lang="ru">
6764переменные "$upstream_cookie_...".
6765</para>
6766<para lang="en">
6767the "$upstream_cookie_..." variables.
6768</para>
6769</change>
6770
6771<change type="feature">
6772<para lang="ru">
6773переменная $ssl_client_fingerprint.
6774</para>
6775<para lang="en">
6776the $ssl_client_fingerprint variable.
6777</para>
6778</change>
6779
6780<change type="feature">
6781<para lang="ru">
6782директивы error_log и access_log теперь поддерживают логгирование в syslog.
6783</para>
6784<para lang="en">
6785the "error_log" and "access_log" directives now support logging to syslog.
6786</para>
6787</change>
6788
6789<change type="feature">
6790<para lang="ru">
6791почтовый прокси-сервер теперь логгирует порт клиента при соединении.
6792</para>
6793<para lang="en">
6794the mail proxy now logs client port on connect.
6795</para>
6796</change>
6797
6798<change type="bugfix">
6799<para lang="ru">
6800утечки памяти при использовании директивы "ssl_stapling".<br/>
6801Спасибо Filipe da Silva.
6802</para>
6803<para lang="en">
6804memory leak if the "ssl_stapling" directive was used.<br/>
6805Thanks to Filipe da Silva.
6806</para>
6807</change>
6808
6809<change type="bugfix">
6810<para lang="ru">
6811директива alias внутри location'а, заданного регулярным выражением,
6812работала неправильно, если использовались директивы if или limit_except.
6813</para>
6814<para lang="en">
6815the "alias" directive used inside a location given by a regular expression
6816worked incorrectly if the "if" or "limit_except" directives were used.
6817</para>
6818</change>
6819
6820<change type="bugfix">
6821<para lang="ru">
6822директива charset не ставила кодировку для сжатых ответов бэкендов.
6823</para>
6824<para lang="en">
6825the "charset" directive did not set a charset to encoded backend responses.
6826</para>
6827</change>
6828
6829<change type="bugfix">
6830<para lang="ru">
6831директива proxy_pass без URI могла использовать оригинальный запрос
6832после установки переменной $args.<br/>
6833Спасибо Yichun Zhang.
6834</para>
6835<para lang="en">
6836a "proxy_pass" directive without URI part might use original request
6837after the $args variable was set.<br/>
6838Thanks to Yichun Zhang.
6839</para>
6840</change>
6841
6842<change type="bugfix">
6843<para lang="ru">
6844в работе параметра none директивы smtp_auth;
6845ошибка появилась в 1.5.6.<br/>
6846Спасибо Святославу Никольскому.
6847</para>
6848<para lang="en">
6849in the "none" parameter in the "smtp_auth" directive;
6850the bug had appeared in 1.5.6.<br/>
6851Thanks to Svyatoslav Nikolsky.
6852</para>
6853</change>
6854
6855<change type="bugfix">
6856<para lang="ru">
6857при совместном использовании sub_filter и SSI
6858ответы могли передаваться неверно.
6859</para>
6860<para lang="en">
6861if sub_filter and SSI were used together,
6862then responses might be transferred incorrectly.
6863</para>
6864</change>
6865
6866<change type="bugfix">
6867<para lang="ru">
6868nginx не собирался с параметром --with-file-aio на Linux/aarch64.
6869</para>
6870<para lang="en">
6871nginx could not be built with the --with-file-aio option on Linux/aarch64.
6872</para>
6873</change>
6874
6875</changes>
6876
6877
6878<changes ver="1.7.0" date="2014-04-24">
6879
6880<change type="feature">
6881<para lang="ru">
6882проверка SSL-сертификатов бэкендов.
6883</para>
6884<para lang="en">
6885backend SSL certificate verification.
6886</para>
6887</change>
6888
6889<change type="feature">
6890<para lang="ru">
6891поддержка SNI при работе с бэкендами по SSL.
6892</para>
6893<para lang="en">
6894support for SNI while working with SSL backends.
6895</para>
6896</change>
6897
6898<change type="feature">
6899<para lang="ru">
6900переменная $ssl_server_name.
6901</para>
6902<para lang="en">
6903the $ssl_server_name variable.
6904</para>
6905</change>
6906
6907<change type="feature">
6908<para lang="ru">
6909параметр if директивы access_log.
6910</para>
6911<para lang="en">
6912the "if" parameter of the "access_log" directive.
6913</para>
6914</change>
6915
6916</changes>
6917
6918
6919<changes ver="1.5.13" date="2014-04-08">
6920
6921<change type="change">
6922<para lang="ru">
6923улучшена обработка хэш-таблиц;
6924в директивах variables_hash_max_size и types_hash_bucket_size
6925значения по умолчанию изменены на 1024 и 64 соответственно.
6926</para>
6927<para lang="en">
6928improved hash table handling;
6929the default values of the "variables_hash_max_size" and
6930"types_hash_bucket_size" were changed to 1024 and 64 respectively.
6931</para>
6932</change>
6933
6934<change type="feature">
6935<para lang="ru">
6936модуль ngx_http_mp4_module теперь понимает аргумент end.
6937</para>
6938<para lang="en">
6939the ngx_http_mp4_module now supports the "end" argument.
6940</para>
6941</change>
6942
6943<change type="feature">
6944<para lang="ru">
6945поддержка byte ranges модулем ngx_http_mp4_module и при сохранении
6946ответов в кэш.
6947</para>
6948<para lang="en">
6949byte ranges support in the ngx_http_mp4_module and while saving responses
6950to cache.
6951</para>
6952</change>
6953
6954<change type="bugfix">
6955<para lang="ru">
6956теперь nginx не пишет в лог сообщения "ngx_slab_alloc() failed: no memory"
6957при использовании разделяемой памяти в ssl_session_cache
6958и в модуле ngx_http_limit_req_module.
6959</para>
6960<para lang="en">
6961alerts "ngx_slab_alloc() failed: no memory" no longer logged
6962when using shared memory in the "ssl_session_cache" directive
6963and in the ngx_http_limit_req_module.
6964</para>
6965</change>
6966
6967<change type="bugfix">
6968<para lang="ru">
6969директива underscores_in_headers
6970не разрешала подчёркивание в первом символе заголовка.<br/>
6971Спасибо Piotr Sikora.
6972</para>
6973<para lang="en">
6974the "underscores_in_headers" directive
6975did not allow underscore as a first character of a header.<br/>
6976Thanks to Piotr Sikora.
6977</para>
6978</change>
6979
6980<change type="bugfix">
6981<para lang="ru">
6982cache manager мог нагружать процессор при выходе в nginx/Windows.
6983</para>
6984<para lang="en">
6985cache manager might hog CPU on exit in nginx/Windows.
6986</para>
6987</change>
6988
6989<change type="bugfix">
6990<para lang="ru">
6991при использовании ssl_session_cache с параметром shared
6992рабочий процесс nginx/Windows завершался аварийно.
6993</para>
6994<para lang="en">
6995nginx/Windows terminated abnormally
6996if the "ssl_session_cache" directive was used with the "shared" parameter.
6997</para>
6998</change>
6999
7000<change type="bugfix">
7001<para lang="ru">
7002в модуле ngx_http_spdy_module.
7003</para>
7004<para lang="en">
7005in the ngx_http_spdy_module.
7006</para>
7007</change>
7008
7009</changes>
7010
7011
7012<changes ver="1.5.12" date="2014-03-18">
7013
7014<change type="security">
7015<para lang="ru">
7016при обработке специально созданного запроса модулем ngx_http_spdy_module
7017могло происходить переполнение буфера в рабочем процессе,
7018что потенциально могло приводить к выполнению произвольного кода
7019(CVE-2014-0133).<br/>
7020Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel
7021Sadosky, Buenos Aires, Argentina.
7022</para>
7023<para lang="en">
7024a heap memory buffer overflow might occur in a worker process
7025while handling a specially crafted request by ngx_http_spdy_module,
7026potentially resulting in arbitrary code execution
7027(CVE-2014-0133).<br/>
7028Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. Manuel
7029Sadosky, Buenos Aires, Argentina.
7030</para>
7031</change>
7032
7033<change type="feature">
7034<para lang="ru">
7035параметр proxy_protocol в директивах listen и real_ip_header,
7036переменная $proxy_protocol_addr.
7037</para>
7038<para lang="en">
7039the "proxy_protocol" parameters of the "listen" and "real_ip_header" directives,
7040the $proxy_protocol_addr variable.
7041</para>
7042</change>
7043
7044<change type="bugfix">
7045<para lang="ru">
7046в директиве fastcgi_next_upstream.<br/>
7047Спасибо Lucas Molas.
7048</para>
7049<para lang="en">
7050in the "fastcgi_next_upstream" directive.<br/>
7051Thanks to Lucas Molas.
7052</para>
7053</change>
7054
7055</changes>
7056
7057
7058<changes ver="1.5.11" date="2014-03-04">
7059
7060<change type="security">
7061<para lang="ru">
7062при обработке специально созданного запроса модулем ngx_http_spdy_module
7063на 32-битных платформах могла повреждаться память рабочего процесса,
7064что потенциально могло приводить к выполнению произвольного кода
7065(CVE-2014-0088);
7066ошибка появилась в 1.5.10.<br/>
7067Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel
7068Sadosky, Buenos Aires, Argentina.
7069</para>
7070<para lang="en">
7071memory corruption might occur in a worker process on 32-bit platforms
7072while handling a specially crafted request by ngx_http_spdy_module,
7073potentially resulting in arbitrary code execution (CVE-2014-0088);
7074the bug had appeared in 1.5.10.<br/>
7075Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. Manuel
7076Sadosky, Buenos Aires, Argentina.
7077</para>
7078</change>
7079
7080<change type="feature">
7081<para lang="ru">
7082переменная $ssl_session_reused.
7083</para>
7084<para lang="en">
7085the $ssl_session_reused variable.
7086</para>
7087</change>
7088
7089<change type="bugfix">
7090<para lang="ru">
7091директива client_max_body_size могла не работать
7092при чтении тела запроса с использованием chunked transfer encoding;
7093ошибка появилась в 1.3.9.<br/>
7094Спасибо Lucas Molas.
7095</para>
7096<para lang="en">
7097the "client_max_body_size" directive might not work
7098when reading a request body using chunked transfer encoding;
7099the bug had appeared in 1.3.9.<br/>
7100Thanks to Lucas Molas.
7101</para>
7102</change>
7103
7104<change type="bugfix">
7105<para lang="ru">
7106при проксировании WebSocket-соединений
7107в рабочем процессе мог произойти segmentation fault.
7108</para>
7109<para lang="en">
7110a segmentation fault might occur in a worker process
7111when proxying WebSocket connections.
7112</para>
7113</change>
7114
7115<change type="bugfix">
7116<para lang="ru">
7117в рабочем процессе мог произойти segmentation fault,
7118если использовался модуль ngx_http_spdy_module на 32-битных платформах;
7119ошибка появилась в 1.5.10.
7120</para>
7121<para lang="en">
7122a segmentation fault might occur in a worker process
7123if the ngx_http_spdy_module was used on 32-bit platforms;
7124the bug had appeared in 1.5.10.
7125</para>
7126</change>
7127
7128<change type="bugfix">
7129<para lang="ru">
7130значение переменной $upstream_status могло быть неверным,
7131если использовались директивы proxy_cache_use_stale
7132или proxy_cache_revalidate.<br/>
7133Спасибо Piotr Sikora.
7134</para>
7135<para lang="en">
7136the $upstream_status variable might contain wrong data
7137if the "proxy_cache_use_stale" or "proxy_cache_revalidate" directives
7138were used.<br/>
7139Thanks to Piotr Sikora.
7140</para>
7141</change>
7142
7143<change type="bugfix">
7144<para lang="ru">
7145в рабочем процессе мог произойти segmentation fault,
7146если ошибки с кодом 400 с помощью директивы error_page
7147перенаправлялись в именованный location.
7148</para>
7149<para lang="en">
7150a segmentation fault might occur in a worker process
7151if errors with code 400 were redirected to a named location
7152using the "error_page" directive.
7153</para>
7154</change>
7155
7156<change type="bugfix">
7157<para lang="ru">
7158nginx/Windows не собирался с Visual Studio 2013.
7159</para>
7160<para lang="en">
7161nginx/Windows could not be built with Visual Studio 2013.
7162</para>
7163</change>
7164
7165</changes>
7166
7167
7168<changes ver="1.5.10" date="2014-02-04">
7169
7170<change type="feature">
7171<para lang="ru">
7172модуль ngx_http_spdy_module теперь использует протокол SPDY 3.1.<br/>
7173Спасибо Automattic и MaxCDN за спонсирование разработки.
7174</para>
7175<para lang="en">
7176the ngx_http_spdy_module now uses SPDY 3.1 protocol.<br/>
7177Thanks to Automattic and MaxCDN for sponsoring this work.
7178</para>
7179</change>
7180
7181<change type="feature">
7182<para lang="ru">
7183модуль ngx_http_mp4_module теперь пропускает дорожки,
7184имеющие меньшую длину, чем запрошенная перемотка.
7185</para>
7186<para lang="en">
7187the ngx_http_mp4_module now skips tracks
7188too short for a seek requested.
7189</para>
7190</change>
7191
7192<change type="bugfix">
7193<para lang="ru">
7194в рабочем процессе мог произойти segmentation fault,
7195если переменная $ssl_session_id использовалась при логгировании;
7196ошибка появилась в 1.5.9.
7197</para>
7198<para lang="en">
7199a segmentation fault might occur in a worker process
7200if the $ssl_session_id variable was used in logs;
7201the bug had appeared in 1.5.9.
7202</para>
7203</change>
7204
7205<change type="bugfix">
7206<para lang="ru">
7207переменные $date_local и $date_gmt использовали неверный формат
7208вне модуля ngx_http_ssi_filter_module.
7209</para>
7210<para lang="en">
7211the $date_local and $date_gmt variables used wrong format
7212outside of the ngx_http_ssi_filter_module.
7213</para>
7214</change>
7215
7216<change type="bugfix">
7217<para lang="ru">
7218клиентские соединения могли сразу закрываться,
7219если использовался отложенный accept;
7220ошибка появилась в 1.3.15.
7221</para>
7222<para lang="en">
7223client connections might be immediately closed
7224if deferred accept was used;
7225the bug had appeared in 1.3.15.
7226</para>
7227</change>
7228
7229<change type="bugfix">
7230<para lang="ru">
7231сообщения "getsockopt(TCP_FASTOPEN) ... failed" записывались в лог
7232в процессе обновления исполняемого файла на Linux;
7233ошибка появилась в 1.5.8.<br/>
7234Спасибо Piotr Sikora.
7235</para>
7236<para lang="en">
7237alerts "getsockopt(TCP_FASTOPEN) ... failed" appeared in logs
7238during binary upgrade on Linux;
7239the bug had appeared in 1.5.8.<br/>
7240Thanks to Piotr Sikora.
7241</para>
7242</change>
7243
7244</changes>
7245
7246
7247<changes ver="1.5.9" date="2014-01-22">
7248
7249<change type="change">
7250<para lang="ru">
7251теперь в заголовке X-Accel-Redirect nginx ожидает закодированный URI.
7252</para>
7253<para lang="en">
7254now nginx expects escaped URIs in "X-Accel-Redirect" headers.
7255</para>
7256</change>
7257
7258<change type="feature">
7259<para lang="ru">
7260директива ssl_buffer_size.
7261</para>
7262<para lang="en">
7263the "ssl_buffer_size" directive.
7264</para>
7265</change>
7266
7267<change type="feature">
7268<para lang="ru">
7269директиву limit_rate теперь можно использовать для
7270ограничения скорости передачи ответов клиенту в SPDY-соединениях.
7271</para>
7272<para lang="en">
7273the "limit_rate" directive can now be used to
7274rate limit responses sent in SPDY connections.
7275</para>
7276</change>
7277
7278<change type="feature">
7279<para lang="ru">
7280директива spdy_chunk_size.
7281</para>
7282<para lang="en">
7283the "spdy_chunk_size" directive.
7284</para>
7285</change>
7286
7287<change type="feature">
7288<para lang="ru">
7289директива ssl_session_tickets.<br/>
7290Спасибо Dirkjan Bussink.
7291</para>
7292<para lang="en">
7293the "ssl_session_tickets" directive.<br/>
7294Thanks to Dirkjan Bussink.
7295</para>
7296</change>
7297
7298<change type="bugfix">
7299<para lang="ru">
7300переменная $ssl_session_id содержала всю сессию в сериализованном виде
7301вместо её идентификатора.<br/>
7302Спасибо Ivan Ristić.
7303</para>
7304<para lang="en">
7305the $ssl_session_id variable contained full session serialized
7306instead of just a session id.<br/>
7307Thanks to Ivan Ristić.
7308</para>
7309</change>
7310
7311<change type="bugfix">
7312<para lang="ru">
7313nginx неправильно обрабатывал закодированный символ "?" в команде SSI include.
7314</para>
7315<para lang="en">
7316nginx incorrectly handled escaped "?" character in the "include" SSI command.
7317</para>
7318</change>
7319
7320<change type="bugfix">
7321<para lang="ru">
7322модуль ngx_http_dav_module не раскодировал целевой URI при
7323обработке методов COPY и MOVE.
7324</para>
7325<para lang="en">
7326the ngx_http_dav_module did not unescape destination URI
7327of the COPY and MOVE methods.
7328</para>
7329</change>
7330
7331<change type="bugfix">
7332<para lang="ru">
7333resolver не понимал доменные имена с точкой в конце.
7334Спасибо Yichun Zhang.
7335</para>
7336<para lang="en">
7337resolver did not understand domain names with a trailing dot.
7338Thanks to Yichun Zhang.
7339</para>
7340</change>
7341
7342<change type="bugfix">
7343<para lang="ru">
7344при проксировании в логах могли появляться сообщения "zero size buf in output";
7345ошибка появилась в 1.3.9.
7346</para>
7347<para lang="en">
7348alerts "zero size buf in output" might appear in logs while proxying;
7349the bug had appeared in 1.3.9.
7350</para>
7351</change>
7352
7353<change type="bugfix">
7354<para lang="ru">
7355в рабочем процессе мог произойти segmentation fault,
7356если использовался модуль ngx_http_spdy_module.
7357</para>
7358<para lang="en">
7359a segmentation fault might occur in a worker process
7360if the ngx_http_spdy_module was used.
7361</para>
7362</change>
7363
7364<change type="bugfix">
7365<para lang="ru">
7366при использовании методов обработки соединений select, poll и /dev/poll
7367проксируемые WebSocket-соединения могли зависать сразу после открытия.
7368</para>
7369<para lang="en">
7370proxied WebSocket connections might hang right after handshake
7371if the select, poll, or /dev/poll methods were used.
7372</para>
7373</change>
7374
7375<change type="bugfix">
7376<para lang="ru">
7377директива xclient почтового прокси-сервера
7378некорректно передавала IPv6-адреса.
7379</para>
7380<para lang="en">
7381the "xclient" directive of the mail proxy module
7382incorrectly handled IPv6 client addresses.
7383</para>
7384</change>
7385
7386</changes>
7387
7388
7389<changes ver="1.5.8" date="2013-12-17">
7390
7391<change type="feature">
7392<para lang="ru">
7393теперь resolver поддерживает IPv6.
7394</para>
7395<para lang="en">
7396IPv6 support in resolver.
7397</para>
7398</change>
7399
7400<change type="feature">
7401<para lang="ru">
7402директива listen поддерживает параметр fastopen.<br/>
7403Спасибо Mathew Rodley.
7404</para>
7405<para lang="en">
7406the "listen" directive supports the "fastopen" parameter.<br/>
7407Thanks to Mathew Rodley.
7408</para>
7409</change>
7410
7411<change type="feature">
7412<para lang="ru">
7413поддержка SSL в модуле ngx_http_uwsgi_module.<br/>
7414Спасибо Roberto De Ioris.
7415</para>
7416<para lang="en">
7417SSL support in the ngx_http_uwsgi_module.<br/>
7418Thanks to Roberto De Ioris.
7419</para>
7420</change>
7421
7422<change type="feature">
7423<para lang="ru">
7424скрипты подсветки синтаксиса для vim добавлены в contrib.<br/>
7425Спасибо Evan Miller.
7426</para>
7427<para lang="en">
7428vim syntax highlighting scripts were added to contrib.<br/>
7429Thanks to Evan Miller.
7430</para>
7431</change>
7432
7433<change type="bugfix">
7434<para lang="ru">
7435при чтении тела запроса с использованием chunked transfer encoding
7436по SSL-соединению мог произойти таймаут.
7437</para>
7438<para lang="en">
7439a timeout might occur while reading client request body
7440in an SSL connection using chunked transfer encoding.
7441</para>
7442</change>
7443
7444<change type="bugfix">
7445<para lang="ru">
7446директива master_process работала неправильно в nginx/Windows.
7447</para>
7448<para lang="en">
7449the "master_process" directive did not work correctly in nginx/Windows.
7450</para>
7451</change>
7452
7453<change type="bugfix">
7454<para lang="ru">
7455параметр setfib директивы listen мог не работать.
7456</para>
7457<para lang="en">
7458the "setfib" parameter of the "listen" directive might not work.
7459</para>
7460</change>
7461
7462<change type="bugfix">
7463<para lang="ru">
7464в модуле ngx_http_spdy_module.
7465</para>
7466<para lang="en">
7467in the ngx_http_spdy_module.
7468</para>
7469</change>
7470
7471</changes>
7472
7473
7474<changes ver="1.5.7" date="2013-11-19">
7475
7476<change type="security">
7477<para lang="ru">
7478символ, следующий за незакодированным пробелом в строке запроса,
7479обрабатывался неправильно (CVE-2013-4547);
7480ошибка появилась в 0.8.41.<br/>
7481Спасибо Ivan Fratric из Google Security Team.
7482</para>
7483<para lang="en">
7484a character following an unescaped space in a request line
7485was handled incorrectly (CVE-2013-4547);
7486the bug had appeared in 0.8.41.<br/>
7487Thanks to Ivan Fratric of the Google Security Team.
7488</para>
7489</change>
7490
7491<change type="change">
7492<para lang="ru">
7493уровень логгирования ошибок auth_basic об отсутствии пароля
7494понижен с уровня error до info.
7495</para>
7496<para lang="en">
7497a logging level of auth_basic errors about no user/password provided
7498has been lowered from "error" to "info".
7499</para>
7500</change>
7501
7502<change type="feature">
7503<para lang="ru">
7504директивы proxy_cache_revalidate, fastcgi_cache_revalidate,
7505scgi_cache_revalidate и uwsgi_cache_revalidate.
7506</para>
7507<para lang="en">
7508the "proxy_cache_revalidate", "fastcgi_cache_revalidate",
7509"scgi_cache_revalidate", and "uwsgi_cache_revalidate" directives.
7510</para>
7511</change>
7512
7513<change type="feature">
7514<para lang="ru">
7515директива ssl_session_ticket_key.<br/>
7516Спасибо Piotr Sikora.
7517</para>
7518<para lang="en">
7519the "ssl_session_ticket_key" directive.<br/>
7520Thanks to Piotr Sikora.
7521</para>
7522</change>
7523
7524<change type="bugfix">
7525<para lang="ru">
7526директива "add_header Cache-Control ''"
7527добавляла строку заголовка ответа "Cache-Control" с пустым значением.
7528</para>
7529<para lang="en">
7530the directive "add_header Cache-Control ''"
7531added a "Cache-Control" response header line with an empty value.
7532</para>
7533</change>
7534
7535<change type="bugfix">
7536<para lang="ru">
7537директива "satisfy any" могла вернуть ошибку 403 вместо 401
7538при использовании директив auth_request и auth_basic.<br/>
7539Спасибо Jan Marc Hoffmann.
7540</para>
7541<para lang="en">
7542the "satisfy any" directive might return 403 error instead of 401
7543if auth_request and auth_basic directives were used.<br/>
7544Thanks to Jan Marc Hoffmann.
7545</para>
7546</change>
7547
7548<change type="bugfix">
7549<para lang="ru">
7550параметры accept_filter и deferred директивы listen игнорировались
7551для listen-сокетов, создаваемых в процессе обновления исполняемого файла.<br/>
7552Спасибо Piotr Sikora.
7553</para>
7554<para lang="en">
7555the "accept_filter" and "deferred" parameters of the "listen" directive
7556were ignored for listen sockets created during binary upgrade.<br/>
7557Thanks to Piotr Sikora.
7558</para>
7559</change>
7560
7561<change type="bugfix">
7562<para lang="ru">
7563часть данных, полученных от бэкенда при небуферизированном проксировании,
7564могла не отправляться клиенту сразу,
7565если использовались директивы gzip или gunzip.<br/>
7566Спасибо Yichun Zhang.
7567</para>
7568<para lang="en">
7569some data received from a backend with unbufferred proxy
7570might not be sent to a client immediately
7571if "gzip" or "gunzip" directives were used.<br/>
7572Thanks to Yichun Zhang.
7573</para>
7574</change>
7575
7576<change type="bugfix">
7577<para lang="ru">
7578в обработке ошибок в модуле ngx_http_gunzip_filter_module.
7579</para>
7580<para lang="en">
7581in error handling in ngx_http_gunzip_filter_module.
7582</para>
7583</change>
7584
7585<change type="bugfix">
7586<para lang="ru">
7587ответы могли зависать,
7588если использовался модуль ngx_http_spdy_module
7589и директива auth_request.
7590</para>
7591<para lang="en">
7592responses might hang
7593if the ngx_http_spdy_module was used
7594with the "auth_request" directive.
7595</para>
7596</change>
7597
7598<change type="bugfix">
7599<para lang="ru">
7600утечки памяти в nginx/Windows.
7601</para>
7602<para lang="en">
7603memory leak in nginx/Windows.
7604</para>
7605</change>
7606
7607</changes>
7608
7609
7610<changes ver="1.5.6" date="2013-10-01">
7611
7612<change type="feature">
7613<para lang="ru">
7614директива fastcgi_buffering.
7615</para>
7616<para lang="en">
7617the "fastcgi_buffering" directive.
7618</para>
7619</change>
7620
7621<change type="feature">
7622<para lang="ru">
7623директивы proxy_ssl_protocols и proxy_ssl_ciphers.<br/>
7624Спасибо Piotr Sikora.
7625</para>
7626<para lang="en">
7627the "proxy_ssl_protocols" and "proxy_ssl_ciphers" directives.<br/>
7628Thanks to Piotr Sikora.
7629</para>
7630</change>
7631
7632<change type="feature">
7633<para lang="ru">
7634оптимизация SSL handshake при использовании длинных цепочек сертификатов.
7635</para>
7636<para lang="en">
7637optimization of SSL handshakes when using long certificate chains.
7638</para>
7639</change>
7640
7641<change type="feature">
7642<para lang="ru">
7643почтовый прокси-сервер поддерживает SMTP pipelining.
7644</para>
7645<para lang="en">
7646the mail proxy supports SMTP pipelining.
7647</para>
7648</change>
7649
7650<change type="bugfix">
7651<para lang="ru">
7652в модуле ngx_http_auth_basic_module
7653при использовании метода шифрования паролей "$apr1$".<br/>
7654Спасибо Markus Linnala.
7655</para>
7656<para lang="en">
7657in the ngx_http_auth_basic_module
7658when using "$apr1$" password encryption method.<br/>
7659Thanks to Markus Linnala.
7660</para>
7661</change>
7662
7663<change type="bugfix">
7664<para lang="ru">
7665на MacOSX, Cygwin и nginx/Windows
7666для обработки запроса мог использоваться неверный location,
7667если для задания location'ов использовались символы разных регистров.
7668</para>
7669<para lang="en">
7670in MacOSX, Cygwin, and nginx/Windows
7671incorrect location might be used to process a request
7672if locations were given using characters in different cases.
7673</para>
7674</change>
7675
7676<change type="bugfix">
7677<para lang="ru">
7678автоматическое перенаправление с добавлением завершающего слэша
7679для проксированных location'ов могло не работать.
7680</para>
7681<para lang="en">
7682automatic redirect with appended trailing slash
7683for proxied locations might not work.
7684</para>
7685</change>
7686
7687<change type="bugfix">
7688<para lang="ru">
7689в почтовом прокси-сервере.
7690</para>
7691<para lang="en">
7692in the mail proxy server.
7693</para>
7694</change>
7695
7696<change type="bugfix">
7697<para lang="ru">
7698в модуле ngx_http_spdy_module.
7699</para>
7700<para lang="en">
7701in the ngx_http_spdy_module.
7702</para>
7703</change>
7704
7705</changes>
7706
7707
7708<changes ver="1.5.5" date="2013-09-17">
7709
7710<change type="change">
7711<para lang="ru">
7712теперь nginx по умолчанию использует HTTP/1.0,
7713если точно определить протокол не удалось.
7714</para>
7715<para lang="en">
7716now nginx assumes HTTP/1.0 by default
7717if it is not able to detect protocol reliably.
7718</para>
7719</change>
7720
7721<change type="feature">
7722<para lang="ru">
7723директива disable_symlinks теперь использует O_PATH на Linux.
7724</para>
7725<para lang="en">
7726the "disable_symlinks" directive now uses O_PATH on Linux.
7727</para>
7728</change>
7729
7730<change type="feature">
7731<para lang="ru">
7732для определения того, что клиент закрыл соединение,
7733при использовании метода epoll
7734теперь используются события EPOLLRDHUP.
7735</para>
7736<para lang="en">
7737now nginx uses EPOLLRDHUP events
7738to detect premature connection close by clients
7739if the "epoll" method is used.
7740</para>
7741</change>
7742
7743<change type="bugfix">
7744<para lang="ru">
7745в директиве valid_referers при использовании параметра server_names.
7746</para>
7747<para lang="en">
7748in the "valid_referers" directive if the "server_names" parameter was used.
7749</para>
7750</change>
7751
7752<change type="bugfix">
7753<para lang="ru">
7754переменная $request_time не работала в nginx/Windows.
7755</para>
7756<para lang="en">
7757the $request_time variable did not work in nginx/Windows.
7758</para>
7759</change>
7760
7761<change type="bugfix">
7762<para lang="ru">
7763в директиве image_filter.<br/>
7764Спасибо Lanshun Zhou.
7765</para>
7766<para lang="en">
7767in the "image_filter" directive.<br/>
7768Thanks to Lanshun Zhou.
7769</para>
7770</change>
7771
7772<change type="bugfix">
7773<para lang="ru">
7774совместимость с OpenSSL 1.0.1f.<br/>
7775Спасибо Piotr Sikora.
7776</para>
7777<para lang="en">
7778OpenSSL 1.0.1f compatibility.<br/>
7779Thanks to Piotr Sikora.
7780</para>
7781</change>
7782
7783
7784</changes>
7785
7786
7787<changes ver="1.5.4" date="2013-08-27">
7788
7789<change type="change">
7790<para lang="ru">
7791MIME-тип для расширения js изменён на "application/javascript";
7792значение по умолчанию директивы charset_types изменено соответственно.
7793</para>
7794<para lang="en">
7795the "js" extension MIME type has been changed to "application/javascript";
7796default value of the "charset_types" directive was changed accordingly.
7797</para>
7798</change>
7799
7800<change type="change">
7801<para lang="ru">
7802теперь директива image_filter с параметром size
7803возвращает ответ с MIME-типом "application/json".
7804</para>
7805<para lang="en">
7806now the "image_filter" directive with the "size" parameter
7807returns responses with the "application/json" MIME type.
7808</para>
7809</change>
7810
7811<change type="feature">
7812<para lang="ru">
7813модуль ngx_http_auth_request_module.
7814</para>
7815<para lang="en">
7816the ngx_http_auth_request_module.
7817</para>
7818</change>
7819
7820<change type="bugfix">
7821<para lang="ru">
7822на старте или во время переконфигурации мог произойти segmentation fault,
7823если использовалась директива try_files с пустым параметром.
7824</para>
7825<para lang="en">
7826a segmentation fault might occur on start or during reconfiguration
7827if the "try_files" directive was used with an empty parameter.
7828</para>
7829</change>
7830
7831<change type="bugfix">
7832<para lang="ru">
7833утечки памяти при использовании в директивах root и auth_basic_user_file
7834относительных путей, заданных с помощью переменных.
7835</para>
7836<para lang="en">
7837memory leak if relative paths were specified using variables
7838in the "root" or "auth_basic_user_file" directives.
7839</para>
7840</change>
7841
7842<change type="bugfix">
7843<para lang="ru">
7844директива valid_referers неправильно выполняла регулярные выражения,
7845если заголовок Referer начинался с "https://".<br/>
7846Спасибо Liangbin Li.
7847</para>
7848<para lang="en">
7849the "valid_referers" directive incorrectly executed regular expressions
7850if a "Referer" header started with "https://".<br/>
7851Thanks to Liangbin Li.
7852</para>
7853</change>
7854
7855<change type="bugfix">
7856<para lang="ru">
7857ответы могли зависать, если использовались подзапросы и при обработке подзапроса
7858происходила ошибка во время SSL handshake с бэкендом.<br/>
7859Спасибо Aviram Cohen.
7860</para>
7861<para lang="en">
7862responses might hang if subrequests were used
7863and an SSL handshake error happened during subrequest processing.<br/>
7864Thanks to Aviram Cohen.
7865</para>
7866</change>
7867
7868<change type="bugfix">
7869<para lang="ru">
7870в модуле ngx_http_autoindex_module.
7871</para>
7872<para lang="en">
7873in the ngx_http_autoindex_module.
7874</para>
7875</change>
7876
7877<change type="bugfix">
7878<para lang="ru">
7879в модуле ngx_http_spdy_module.
7880</para>
7881<para lang="en">
7882in the ngx_http_spdy_module.
7883</para>
7884</change>
7885
7886</changes>
7887
7888
7889<changes ver="1.5.3" date="2013-07-30">
7890
7891<change>
7892<para lang="ru">
7893Изменение во внутреннем API:
7894теперь при небуферизированной работе с бэкендами
7895u->length по умолчанию устанавливается в -1.
7896</para>
7897<para lang="en">
7898Change in internal API:
7899now u->length defaults to -1
7900if working with backends in unbuffered mode.
7901</para>
7902</change>
7903
7904<change type="change">
7905<para lang="ru">
7906теперь при получении неполного ответа от бэкенда
7907nginx отправляет полученную часть ответа,
7908после чего закрывает соединение с клиентом.
7909</para>
7910<para lang="en">
7911now after receiving an incomplete response from a backend server
7912nginx tries to send an available part of the response to a client,
7913and then closes client connection.
7914</para>
7915</change>
7916
7917<change type="bugfix">
7918<para lang="ru">
7919в рабочем процессе мог произойти segmentation fault,
7920если использовался модуль ngx_http_spdy_module
7921и директива client_body_in_file_only.
7922</para>
7923<para lang="en">
7924a segmentation fault might occur in a worker process
7925if the ngx_http_spdy_module was used
7926with the "client_body_in_file_only" directive.
7927</para>
7928</change>
7929
7930<change type="bugfix">
7931<para lang="ru">
7932параметр so_keepalive директивы listen
7933мог работать некорректно на DragonFlyBSD.<br/>
7934Спасибо Sepherosa Ziehau.
7935</para>
7936<para lang="en">
7937the "so_keepalive" parameter of the "listen" directive
7938might be handled incorrectly on DragonFlyBSD.<br/>
7939Thanks to Sepherosa Ziehau.
7940</para>
7941</change>
7942
7943<change type="bugfix">
7944<para lang="ru">
7945в модуле ngx_http_xslt_filter_module.
7946</para>
7947<para lang="en">
7948in the ngx_http_xslt_filter_module.
7949</para>
7950</change>
7951
7952<change type="bugfix">
7953<para lang="ru">
7954в модуле ngx_http_sub_filter_module.
7955</para>
7956<para lang="en">
7957in the ngx_http_sub_filter_module.
7958</para>
7959</change>
7960
7961</changes>
7962
7963
7964<changes ver="1.5.2" date="2013-07-02">
7965
7966<change type="feature">
7967<para lang="ru">
7968теперь можно использовать несколько директив error_log.
7969</para>
7970<para lang="en">
7971now several "error_log" directives can be used.
7972</para>
7973</change>
7974
7975<change type="bugfix">
7976<para lang="ru">
7977метод $r->header_in() встроенного перла не возвращал значения строк
7978"Cookie" и "X-Forwarded-For" из заголовка запроса;
7979ошибка появилась в 1.3.14.
7980</para>
7981<para lang="en">
7982the $r->header_in() embedded perl method did not return value of the
7983"Cookie" and "X-Forwarded-For" request header lines;
7984the bug had appeared in 1.3.14.
7985</para>
7986</change>
7987
7988<change type="bugfix">
7989<para lang="ru">
7990в модуле ngx_http_spdy_module.<br/>
7991Спасибо Jim Radford.
7992</para>
7993<para lang="en">
7994in the ngx_http_spdy_module.<br/>
7995Thanks to Jim Radford.
7996</para>
7997</change>
7998
7999<change type="bugfix">
8000<para lang="ru">
8001nginx не собирался на Linux при использовании x32 ABI.<br/>
8002Спасибо Сергею Иванцову.
8003</para>
8004<para lang="en">
8005nginx could not be built on Linux with x32 ABI.<br/>
8006Thanks to Serguei Ivantsov.
8007</para>
8008</change>
8009
8010</changes>
8011
8012
8013<changes ver="1.5.1" date="2013-06-04">
8014
8015<change type="feature">
8016<para lang="ru">
8017директивы ssi_last_modified, sub_filter_last_modified и
8018xslt_last_modified.<br/>
8019Спасибо Алексею Колпакову.
8020</para>
8021<para lang="en">
8022the "ssi_last_modified", "sub_filter_last_modified", and
8023"xslt_last_modified" directives.<br/>
8024Thanks to Alexey Kolpakov.
8025</para>
8026</change>
8027
8028<change type="feature">
8029<para lang="ru">
8030параметр http_403 в директивах proxy_next_upstream, fastcgi_next_upstream,
8031scgi_next_upstream и uwsgi_next_upstream.
8032</para>
8033<para lang="en">
8034the "http_403" parameter of the "proxy_next_upstream", "fastcgi_next_upstream",
8035"scgi_next_upstream", and "uwsgi_next_upstream" directives.
8036</para>
8037</change>
8038
8039<change type="feature">
8040<para lang="ru">
8041директивы allow и deny теперь поддерживают unix domain сокеты.
8042</para>
8043<para lang="en">
8044the "allow" and "deny" directives now support unix domain sockets.
8045</para>
8046</change>
8047
8048<change type="bugfix">
8049<para lang="ru">
8050nginx не собирался с модулем ngx_mail_ssl_module,
8051но без модуля ngx_http_ssl_module;
8052ошибка появилась в 1.3.14.
8053</para>
8054<para lang="en">
8055nginx could not be built with the ngx_mail_ssl_module,
8056but without ngx_http_ssl_module;
8057the bug had appeared in 1.3.14.
8058</para>
8059</change>
8060
8061<change type="bugfix">
8062<para lang="ru">
8063в директиве proxy_set_body.<br/>
8064Спасибо Lanshun Zhou.
8065</para>
8066<para lang="en">
8067in the "proxy_set_body" directive.<br/>
8068Thanks to Lanshun Zhou.
8069</para>
8070</change>
8071
8072<change type="bugfix">
8073<para lang="ru">
8074в директиве lingering_time.<br/>
8075Спасибо Lanshun Zhou.
8076</para>
8077<para lang="en">
8078in the "lingering_time" directive.<br/>
8079Thanks to Lanshun Zhou.
8080</para>
8081</change>
8082
8083<change type="bugfix">
8084<para lang="ru">
8085параметр fail_timeout директивы server
8086в блоке upstream мог не работать,
8087если использовался параметр max_fails;
8088ошибка появилась в 1.3.0.
8089</para>
8090<para lang="en">
8091the "fail_timeout" parameter of the "server" directive
8092in the "upstream" context might not work
8093if "max_fails" parameter was used;
8094the bug had appeared in 1.3.0.
8095</para>
8096</change>
8097
8098<change type="bugfix">
8099<para lang="ru">
8100в рабочем процессе мог произойти segmentation fault,
8101если использовалась директива ssl_stapling.<br/>
8102Спасибо Piotr Sikora.
8103</para>
8104<para lang="en">
8105a segmentation fault might occur in a worker process
8106if the "ssl_stapling" directive was used.<br/>
8107Thanks to Piotr Sikora.
8108</para>
8109</change>
8110
8111<change type="bugfix">
8112<para lang="ru">
8113в почтовом прокси-сервере.<br/>
8114Спасибо Filipe Da Silva.
8115</para>
8116<para lang="en">
8117in the mail proxy server.<br/>
8118Thanks to Filipe Da Silva.
8119</para>
8120</change>
8121
8122<change type="bugfix">
8123<para lang="ru">
8124nginx/Windows мог перестать принимать соединения,
8125если использовалось несколько рабочих процессов.
8126</para>
8127<para lang="en">
8128nginx/Windows might stop accepting connections
8129if several worker processes were used.
8130</para>
8131</change>
8132
8133</changes>
8134
8135
8136<changes ver="1.5.0" date="2013-05-07">
8137
8138<change type="security">
8139<para lang="ru">
8140при обработке специально созданного запроса
8141мог перезаписываться стек рабочего процесса,
8142что могло приводить к выполнению произвольного кода (CVE-2013-2028);
8143ошибка появилась в 1.3.9.<br/>
8144Спасибо Greg MacManus, iSIGHT Partners Labs.
8145</para>
8146<para lang="en">
8147a stack-based buffer overflow might occur in a worker process
8148while handling a specially crafted request,
8149potentially resulting in arbitrary code execution (CVE-2013-2028);
8150the bug had appeared in 1.3.9.<br/>
8151Thanks to Greg MacManus, iSIGHT Partners Labs.
8152</para>
8153</change>
8154
8155</changes>
8156
8157
8158<changes ver="1.4.0" date="2013-04-24">
8159
8160<change type="bugfix">
8161<para lang="ru">
8162nginx не собирался с модулем ngx_http_perl_module,
8163если использовался параметр --with-openssl;
8164ошибка появилась в 1.3.16.
8165</para>
8166<para lang="en">
8167nginx could not be built with the ngx_http_perl_module
8168if the --with-openssl option was used;
8169the bug had appeared in 1.3.16.
8170</para>
8171</change>
8172
8173<change type="bugfix">
8174<para lang="ru">
8175в работе с телом запроса из модуля ngx_http_perl_module;
8176ошибка появилась в 1.3.9.
8177</para>
8178<para lang="en">
8179in a request body handling in the ngx_http_perl_module;
8180the bug had appeared in 1.3.9.
8181</para>
8182</change>
8183
8184</changes>
8185
8186
8187<changes ver="1.3.16" date="2013-04-16">
8188
8189<change type="bugfix">
8190<para lang="ru">
8191в рабочем процессе мог произойти segmentation fault,
8192если использовались подзапросы;
8193ошибка появилась в 1.3.9.
8194</para>
8195<para lang="en">
8196a segmentation fault might occur in a worker process
8197if subrequests were used;
8198the bug had appeared in 1.3.9.
8199</para>
8200</change>
8201
8202<change type="bugfix">
8203<para lang="ru">
8204директива tcp_nodelay вызывала ошибку
8205при проксировании WebSocket-соединений в unix domain сокет.
8206</para>
8207<para lang="en">
8208the "tcp_nodelay" directive caused an error
8209if a WebSocket connection was proxied into a unix domain socket.
8210</para>
8211</change>
8212
8213<change type="bugfix">
8214<para lang="ru">
8215переменная $upstream_response_length возвращала значение "0",
8216если не использовалась буферизация.<br/>
8217Спасибо Piotr Sikora.
8218</para>
8219<para lang="en">
8220the $upstream_response_length variable has an incorrect value "0"
8221if buffering was not used.<br/>
8222Thanks to Piotr Sikora.
8223</para>
8224</change>
8225
8226<change type="bugfix">
8227<para lang="ru">
8228в методах обработки соединений eventport и /dev/poll.
8229</para>
8230<para lang="en">
8231in the eventport and /dev/poll methods.
8232</para>
8233</change>
8234
8235</changes>
8236
8237
8238<changes ver="1.3.15" date="2013-03-26">
8239
8240<change type="change">
8241<para lang="ru">
8242открытие и закрытие соединения без отправки в нём каких-либо данных
8243больше не записывается в access_log с кодом ошибки 400.
8244</para>
8245<para lang="en">
8246opening and closing a connection without sending any data in it
8247is no longer logged to access_log with error code 400.
8248</para>
8249</change>
8250
8251<change type="feature">
8252<para lang="ru">
8253модуль ngx_http_spdy_module.<br/>
8254Спасибо Automattic за спонсирование разработки.
8255</para>
8256<para lang="en">
8257the ngx_http_spdy_module.<br/>
8258Thanks to Automattic for sponsoring this work.
8259</para>
8260</change>
8261
8262<change type="feature">
8263<para lang="ru">
8264директивы limit_req_status и limit_conn_status.<br/>
8265Спасибо Nick Marden.
8266</para>
8267<para lang="en">
8268the "limit_req_status" and "limit_conn_status" directives.<br/>
8269Thanks to Nick Marden.
8270</para>
8271</change>
8272
8273<change type="feature">
8274<para lang="ru">
8275директива image_filter_interlace.<br/>
8276Спасибо Ивану Боброву.
8277</para>
8278<para lang="en">
8279the "image_filter_interlace" directive.<br/>
8280Thanks to Ian Babrou.
8281</para>
8282</change>
8283
8284<change type="feature">
8285<para lang="ru">
8286переменная $connections_waiting в модуле ngx_http_stub_status_module.
8287</para>
8288<para lang="en">
8289$connections_waiting variable in the ngx_http_stub_status_module.
8290</para>
8291</change>
8292
8293<change type="feature">
8294<para lang="ru">
8295теперь почтовый прокси-сервер поддерживает IPv6-бэкенды.
8296</para>
8297<para lang="en">
8298the mail proxy module now supports IPv6 backends.
8299</para>
8300</change>
8301
8302<change type="bugfix">
8303<para lang="ru">
8304при повторной отправке запроса на бэкенд
8305тело запроса могло передаваться неправильно;
8306ошибка появилась в 1.3.9.<br/>
8307Спасибо Piotr Sikora.
8308</para>
8309<para lang="en">
8310request body might be transmitted incorrectly
8311when retrying a request to the next upstream server;
8312the bug had appeared in 1.3.9.<br/>
8313Thanks to Piotr Sikora.
8314</para>
8315</change>
8316
8317<change type="bugfix">
8318<para lang="ru">
8319в директиве client_body_in_file_only;
8320ошибка появилась в 1.3.9.
8321</para>
8322<para lang="en">
8323in the "client_body_in_file_only" directive;
8324the bug had appeared in 1.3.9.
8325</para>
8326</change>
8327
8328<change type="bugfix">
8329<para lang="ru">
8330ответы могли зависать,
8331если использовались подзапросы
8332и при обработке подзапроса происходила DNS-ошибка.<br/>
8333Спасибо Lanshun Zhou.
8334</para>
8335<para lang="en">
8336responses might hang
8337if subrequests were used
8338and a DNS error happened during subrequest processing.<br/>
8339Thanks to Lanshun Zhou.
8340</para>
8341</change>
8342
8343<change type="bugfix">
8344<para lang="ru">
8345в процедуре учёта использования бэкендов.
8346</para>
8347<para lang="en">
8348in backend usage accounting.
8349</para>
8350</change>
8351
8352</changes>
8353
8354
8355<changes ver="1.3.14" date="2013-03-05">
8356
8357<change type="feature">
8358<para lang="ru">
8359переменные $connections_active, $connections_reading и $connections_writing
8360в модуле ngx_http_stub_status_module.
8361</para>
8362<para lang="en">
8363$connections_active, $connections_reading, and $connections_writing variables
8364in the ngx_http_stub_status_module.
8365</para>
8366</change>
8367
8368<change type="feature">
8369<para lang="ru">
8370поддержка WebSocket-соединений
8371в модулях ngx_http_uwsgi_module и ngx_http_scgi_module.
8372</para>
8373<para lang="en">
8374support of WebSocket connections
8375in the ngx_http_uwsgi_module and ngx_http_scgi_module.
8376</para>
8377</change>
8378
8379<change type="bugfix">
8380<para lang="ru">
8381в обработке виртуальных серверов при использовании SNI.
8382</para>
8383<para lang="en">
8384in virtual servers handling with SNI.
8385</para>
8386</change>
8387
8388<change type="bugfix">
8389<para lang="ru">
8390при использовании директивы "ssl_session_cache shared"
8391новые сессии могли не сохраняться,
8392если заканчивалось место в разделяемой памяти.<br/>
8393Спасибо Piotr Sikora.
8394</para>
8395<para lang="en">
8396new sessions were not always stored
8397if the "ssl_session_cache shared" directive was used
8398and there was no free space in shared memory.<br/>
8399Thanks to Piotr Sikora.
8400</para>
8401</change>
8402
8403<change type="bugfix">
8404<para lang="ru">
8405несколько заголовков X-Forwarded-For обрабатывались неправильно.<br/>
8406Спасибо Neal Poole за спонсирование разработки.
8407</para>
8408<para lang="en">
8409multiple X-Forwarded-For headers were handled incorrectly.<br/>
8410Thanks to Neal Poole for sponsoring this work.
8411</para>
8412</change>
8413
8414<change type="bugfix">
8415<para lang="ru">
8416в модуле ngx_http_mp4_module.<br/>
8417Спасибо Gernot Vormayr.
8418</para>
8419<para lang="en">
8420in the ngx_http_mp4_module.<br/>
8421Thanks to Gernot Vormayr.
8422</para>
8423</change>
8424
8425</changes>
8426
8427
8428<changes ver="1.3.13" date="2013-02-19">
8429
8430<change type="change">
8431<para lang="ru">
8432теперь для сборки по умолчанию используется компилятор с именем "cc".
8433</para>
8434<para lang="en">
8435a compiler with name "cc" is now used by default.
8436</para>
8437</change>
8438
8439<change type="feature">
8440<para lang="ru">
8441поддержка проксирования WebSocket-соединений.<br/>
8442Спасибо Apcera и CloudBees за спонсирование разработки.
8443</para>
8444<para lang="en">
8445support for proxying of WebSocket connections.<br/>
8446Thanks to Apcera and CloudBees for sponsoring this work.
8447</para>
8448</change>
8449
8450<change type="feature">
8451<para lang="ru">
8452директива auth_basic_user_file поддерживает шифрование паролей
8453методом "{SHA}".<br/>
8454Спасибо Louis Opter.
8455</para>
8456<para lang="en">
8457the "auth_basic_user_file" directive supports "{SHA}"
8458password encryption method.<br/>
8459Thanks to Louis Opter.
8460</para>
8461</change>
8462
8463</changes>
8464
8465
8466<changes ver="1.3.12" date="2013-02-05">
8467
8468<change type="feature">
8469<para lang="ru">
8470директивы proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind
8471поддерживают переменные.
8472</para>
8473<para lang="en">
8474variables support in the "proxy_bind", "fastcgi_bind", "memcached_bind",
8475"scgi_bind", and "uwsgi_bind" directives.
8476</para>
8477</change>
8478
8479<change type="feature">
8480<para lang="ru">
8481переменные $pipe, $request_length, $time_iso8601 и $time_local
8482теперь можно использовать не только в директиве log_format.<br/>
8483Спасибо Kiril Kalchev.
8484</para>
8485<para lang="en">
8486the $pipe, $request_length, $time_iso8601, and $time_local variables
8487can now be used not only in the "log_format" directive.
8488Thanks to Kiril Kalchev.
8489</para>
8490</change>
8491
8492<change type="feature">
8493<para lang="ru">
8494поддержка IPv6 в модуле ngx_http_geoip_module.<br/>
8495Спасибо Gregor Kališnik.
8496</para>
8497<para lang="en">
8498IPv6 support in the ngx_http_geoip_module.<br/>
8499Thanks to Gregor Kališnik.
8500</para>
8501</change>
8502
8503<change type="bugfix">
8504<para lang="ru">
8505директива proxy_method работала неверно, если была указана на уровне http.
8506</para>
8507<para lang="en">
8508in the "proxy_method" directive.
8509</para>
8510</change>
8511
8512<change type="bugfix">
8513<para lang="ru">
8514в рабочем процессе мог произойти segmentation fault,
8515если использовался resolver и метод poll.
8516</para>
8517<para lang="en">
8518a segmentation fault might occur in a worker process
8519if resolver was used with the poll method.
8520</para>
8521</change>
8522
8523<change type="bugfix">
8524<para lang="ru">
8525nginx мог нагружать процессор во время SSL handshake с бэкендом
8526при использовании методов обработки соединений select, poll и /dev/poll.
8527</para>
8528<para lang="en">
8529nginx might hog CPU during SSL handshake with a backend
8530if the select, poll, or /dev/poll methods were used.
8531</para>
8532</change>
8533
8534<change type="bugfix">
8535<para lang="ru">
8536ошибка "[crit] SSL_write() failed (SSL:)".
8537</para>
8538<para lang="en">
8539the "[crit] SSL_write() failed (SSL:)" error.
8540</para>
8541</change>
8542
8543<change type="bugfix">
8544<para lang="ru">
8545в директиве client_body_in_file_only;
8546ошибка появилась в 1.3.9.
8547</para>
8548<para lang="en">
8549in the "client_body_in_file_only" directive;
8550the bug had appeared in 1.3.9.
8551</para>
8552</change>
8553
8554<change type="bugfix">
8555<para lang="ru">
8556в директиве fastcgi_keep_conn.
8557</para>
8558<para lang="en">
8559in the "fastcgi_keep_conn" directive.
8560</para>
8561</change>
8562
8563</changes>
8564
8565
8566<changes ver="1.3.11" date="2013-01-10">
8567
8568<change type="bugfix">
8569<para lang="ru">
8570при записи в лог мог происходить segmentation fault;
8571ошибка появилась в 1.3.10.
8572</para>
8573<para lang="en">
8574a segmentation fault might occur if logging was used;
8575the bug had appeared in 1.3.10.
8576</para>
8577</change>
8578
8579<change type="bugfix">
8580<para lang="ru">
8581директива proxy_pass не работала с IP-адресами
8582без явного указания порта;
8583ошибка появилась в 1.3.10.
8584</para>
8585<para lang="en">
8586the "proxy_pass" directive did not work with IP addresses
8587without port specified;
8588the bug had appeared in 1.3.10.
8589</para>
8590</change>
8591
8592<change type="bugfix">
8593<para lang="ru">
8594на старте или во время переконфигурации происходил segmentation fault,
8595если директива keepalive была указана несколько раз
8596в одном блоке upstream.
8597</para>
8598<para lang="en">
8599a segmentation fault occurred on start or during reconfiguration
8600if the "keepalive" directive was specified more than once
8601in a single upstream block.
8602</para>
8603</change>
8604
8605<change type="bugfix">
8606<para lang="ru">
8607параметр default директивы geo не определял значение по умолчанию
8608для IPv6-адресов.
8609</para>
8610<para lang="en">
8611parameter "default" of the "geo" directive did not set default value
8612for IPv6 addresses.
8613</para>
8614</change>
8615
8616</changes>
8617
8618
8619<changes ver="1.3.10" date="2012-12-25">
8620
8621<change type="change">
8622<para lang="ru">
8623для указанных в конфигурационном файле доменных имён теперь
8624используются не только IPv4, но и IPv6 адреса.
8625</para>
8626<para lang="en">
8627domain names specified in configuration file
8628are now resolved to IPv6 addresses as well as IPv4 ones.
8629</para>
8630</change>
8631
8632<change type="change">
8633<para lang="ru">
8634теперь при использовании директивы include с маской на Unix-системах
8635включаемые файлы сортируются в алфавитном порядке.
8636</para>
8637<para lang="en">
8638now if the "include" directive with mask is used on Unix systems,
8639included files are sorted in alphabetical order.
8640</para>
8641</change>
8642
8643<change type="change">
8644<para lang="ru">
8645директива add_header добавляет строки в ответы с кодом 201.
8646</para>
8647<para lang="en">
8648the "add_header" directive adds headers to 201 responses.
8649</para>
8650</change>
8651
8652<change type="feature">
8653<para lang="ru">
8654директива geo теперь поддерживает IPv6 адреса в формате CIDR.
8655</para>
8656<para lang="en">
8657the "geo" directive now supports IPv6 addresses in CIDR notation.
8658</para>
8659</change>
8660
8661<change type="feature">
8662<para lang="ru">
8663параметры flush и gzip в директиве access_log.
8664</para>
8665<para lang="en">
8666the "flush" and "gzip" parameters of the "access_log" directive.
8667</para>
8668</change>
8669
8670<change type="feature">
8671<para lang="ru">
8672директива auth_basic поддерживает переменные.
8673</para>
8674<para lang="en">
8675variables support in the "auth_basic" directive.
8676</para>
8677</change>
8678
8679<change type="bugfix">
8680<para lang="ru">
8681nginx в некоторых случаях не собирался с модулем ngx_http_perl_module.
8682</para>
8683<para lang="en">
8684nginx could not be built with the ngx_http_perl_module in some cases.
8685</para>
8686</change>
8687
8688<change type="bugfix">
8689<para lang="ru">
8690в рабочем процессе мог произойти segmentation fault,
8691если использовался модуль ngx_http_xslt_module.
8692</para>
8693<para lang="en">
8694a segmentation fault might occur in a worker process
8695if the ngx_http_xslt_module was used.
8696</para>
8697</change>
8698
8699<change type="bugfix">
8700<para lang="ru">
8701nginx мог не собираться на MacOSX.<br/>
8702Спасибо Piotr Sikora.
8703</para>
8704<para lang="en">
8705nginx could not be built on MacOSX in some cases.<br/>
8706Thanks to Piotr Sikora.
8707</para>
8708</change>
8709
8710<change type="bugfix">
8711<para lang="ru">
8712при использовании директивы limit_rate с большими значениями скорости
8713на 32-битных системах ответ мог возвращаться не целиком.<br/>
8714Спасибо Алексею Антропову.
8715</para>
8716<para lang="en">
8717the "limit_rate" directive with high rates
8718might result in truncated responses on 32-bit platforms.<br/>
8719Thanks to Alexey Antropov.
8720</para>
8721</change>
8722
8723<change type="bugfix">
8724<para lang="ru">
8725в рабочем процессе мог произойти segmentation fault,
8726если использовалась директива if.<br/>
8727Спасибо Piotr Sikora.
8728</para>
8729<para lang="en">
8730a segmentation fault might occur in a worker process
8731if the "if" directive was used.<br/>
8732Thanks to Piotr Sikora.
8733</para>
8734</change>
8735
8736<change type="bugfix">
8737<para lang="ru">
8738ответ "100 Continue" выдавался
8739вместе с ответом "413 Request Entity Too Large".
8740</para>
8741<para lang="en">
8742a "100 Continue" response was issued
8743with "413 Request Entity Too Large" responses.
8744</para>
8745</change>
8746
8747<change type="bugfix">
8748<para lang="ru">
8749директивы image_filter, image_filter_jpeg_quality и image_filter_sharpen
8750могли наследоваться некорректно.<br/>
8751Спасибо Ивану Боброву.
8752</para>
8753<para lang="en">
8754the "image_filter", "image_filter_jpeg_quality"
8755and "image_filter_sharpen" directives
8756might be inherited incorrectly.<br/>
8757Thanks to Ian Babrou.
8758</para>
8759</change>
8760
8761<change type="bugfix">
8762<para lang="ru">
8763при использовании директивы auth_basic под Linux
8764могли возникать ошибки "crypt_r() failed".
8765</para>
8766<para lang="en">
8767"crypt_r() failed" errors might appear
8768if the "auth_basic" directive was used on Linux.
8769</para>
8770</change>
8771
8772<change type="bugfix">
8773<para lang="ru">
8774в обработке backup-серверов.<br/>
8775Спасибо Thomas Chen.
8776</para>
8777<para lang="en">
8778in backup servers handling.<br/>
8779Thanks to Thomas Chen.
8780</para>
8781</change>
8782
8783<change type="bugfix">
8784<para lang="ru">
8785при проксировании HEAD-запросов мог возвращаться некорректный ответ,
8786если использовалась директива gzip.
8787</para>
8788<para lang="en">
8789proxied HEAD requests might return incorrect response
8790if the "gzip" directive was used.
8791</para>
8792</change>
8793
8794</changes>
8795
8796
8797<changes ver="1.3.9" date="2012-11-27">
8798
8799<change type="feature">
8800<para lang="ru">
8801поддержка chunked transfer encoding при получении тела запроса.
8802</para>
8803<para lang="en">
8804support for chunked transfer encoding while reading client request body.
8805</para>
8806</change>
8807
8808<change type="feature">
8809<para lang="ru">
8810переменные $request_time и $msec
8811теперь можно использовать не только в директиве log_format.
8812</para>
8813<para lang="en">
8814the $request_time and $msec variables
8815can now be used not only in the "log_format" directive.
8816</para>
8817</change>
8818
8819<change type="bugfix">
8820<para lang="ru">
8821cache manager и cache loader могли не запускаться,
8822если использовалось более 512 listen-сокетов.
8823</para>
8824<para lang="en">
8825cache manager and cache loader processes might not be able to start
8826if more than 512 listen sockets were used.
8827</para>
8828</change>
8829
8830<change type="bugfix">
8831<para lang="ru">
8832в модуле ngx_http_dav_module.
8833</para>
8834<para lang="en">
8835in the ngx_http_dav_module.
8836</para>
8837</change>
8838
8839</changes>
8840
8841
8842<changes ver="1.3.8" date="2012-10-30">
8843
8844<change type="feature">
8845<para lang="ru">
8846параметр optional_no_ca директивы ssl_verify_client.<br/>
8847Спасибо Михаилу Казанцеву и Eric O'Connor.
8848</para>
8849<para lang="en">
8850the "optional_no_ca" parameter of the "ssl_verify_client" directive.<br/>
8851Thanks to Mike Kazantsev and Eric O'Connor.
8852</para>
8853</change>
8854
8855<change type="feature">
8856<para lang="ru">
8857переменные $bytes_sent, $connection и $connection_requests
8858теперь можно использовать не только в директиве log_format.<br/>
8859Спасибо Benjamin Grössing.
8860</para>
8861<para lang="en">
8862the $bytes_sent, $connection, and $connection_requests variables
8863can now be used not only in the "log_format" directive.<br/>
8864Thanks to Benjamin Grössing.
8865</para>
8866</change>
8867
8868<change type="feature">
8869<para lang="ru">
8870параметр auto директивы worker_processes.
8871</para>
8872<para lang="en">
8873the "auto" parameter of the "worker_processes" directive.
8874</para>
8875</change>
8876
8877<change type="bugfix">
8878<para lang="ru">
8879сообщения "cache file ... has md5 collision".
8880</para>
8881<para lang="en">
8882"cache file ... has md5 collision" alert.
8883</para>
8884</change>
8885
8886<change type="bugfix">
8887<para lang="ru">
8888в модуле ngx_http_gunzip_filter_module.
8889</para>
8890<para lang="en">
8891in the ngx_http_gunzip_filter_module.
8892</para>
8893</change>
8894
8895<change type="bugfix">
8896<para lang="ru">
8897в директиве ssl_stapling.
8898</para>
8899<para lang="en">
8900in the "ssl_stapling" directive.
8901</para>
8902</change>
8903
8904</changes>
8905
8906
8907<changes ver="1.3.7" date="2012-10-02">
8908
8909<change type="feature">
8910<para lang="ru">
8911поддержка OCSP stapling.<br/>
8912Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки.
8913</para>
8914<para lang="en">
8915OCSP stapling support.<br/>
8916Thanks to Comodo, DigiCert and GlobalSign for sponsoring this work.
8917</para>
8918</change>
8919
8920<change type="feature">
8921<para lang="ru">
8922директива ssl_trusted_certificate.
8923</para>
8924<para lang="en">
8925the "ssl_trusted_certificate" directive.
8926</para>
8927</change>
8928
8929<change type="feature">
8930<para lang="ru">
8931теперь resolver случайным образом меняет порядок
8932возвращаемых закэшированных адресов.<br/>
8933Спасибо Антону Жулину.
8934</para>
8935<para lang="en">
8936resolver now randomly rotates addresses
8937returned from cache.<br/>
8938Thanks to Anton Jouline.
8939</para>
8940</change>
8941
8942<change type="bugfix">
8943<para lang="ru">
8944совместимость с OpenSSL 0.9.7.
8945</para>
8946<para lang="en">
8947OpenSSL 0.9.7 compatibility.
8948</para>
8949</change>
8950
8951</changes>
8952
8953
8954<changes ver="1.3.6" date="2012-09-12">
8955
8956<change type="feature">
8957<para lang="ru">
8958модуль ngx_http_gunzip_filter_module.
8959</para>
8960<para lang="en">
8961the ngx_http_gunzip_filter_module.
8962</para>
8963</change>
8964
8965<change type="feature">
8966<para lang="ru">
8967директива memcached_gzip_flag.
8968</para>
8969<para lang="en">
8970the "memcached_gzip_flag" directive.
8971</para>
8972</change>
8973
8974<change type="feature">
8975<para lang="ru">
8976параметр always директивы gzip_static.
8977</para>
8978<para lang="en">
8979the "always" parameter of the "gzip_static" directive.
8980</para>
8981</change>
8982
8983<change type="bugfix">
8984<para lang="ru">
8985в директиве "limit_req";
8986ошибка появилась в 1.1.14.<br/>
8987Спасибо Charles Chen.
8988</para>
8989<para lang="en">
8990in the "limit_req" directive;
8991the bug had appeared in 1.1.14.<br/>
8992Thanks to Charles Chen.
8993</para>
8994</change>
8995
8996<change type="bugfix">
8997<para lang="ru">
8998nginx не собирался gcc 4.7 с оптимизацией -O2
8999если использовался параметр --with-ipv6.
9000</para>
9001<para lang="en">
9002nginx could not be built by gcc 4.7 with -O2 optimization
9003if the --with-ipv6 option was used.
9004</para>
9005</change>
9006
9007</changes>
9008
9009
9010<changes ver="1.3.5" date="2012-08-21">
9011
9012<change type="change">
9013<para lang="ru">
9014модуль ngx_http_mp4_module больше не отфильтровывает дорожки
9015в форматах, отличных от H.264 и AAC.
9016</para>
9017<para lang="en">
9018the ngx_http_mp4_module module no longer skips
9019tracks in formats other than H.264 and AAC.
9020</para>
9021</change>
9022
9023<change type="bugfix">
9024<para lang="ru">
9025в рабочем процессе мог произойти segmentation fault,
9026если в директиве map в качестве значений использовались переменные.
9027</para>
9028<para lang="en">
9029a segmentation fault might occur in a worker process
9030if the "map" directive was used with variables as values.
9031</para>
9032</change>
9033
9034<change type="bugfix">
9035<para lang="ru">
9036в рабочем процессе мог произойти segmentation fault
9037при использовании директивы geo с параметром ranges,
9038но без параметра default; ошибка появилась в 0.8.43.<br/>
9039Спасибо Zhen Chen и Weibin Yao.
9040</para>
9041<para lang="en">
9042a segmentation fault might occur in a worker process
9043if the "geo" directive was used with the "ranges" parameter
9044but without the "default" parameter; the bug had appeared in 0.8.43.<br/>
9045Thanks to Zhen Chen and Weibin Yao.
9046</para>
9047</change>
9048
9049<change type="bugfix">
9050<para lang="ru">
9051в обработке параметра командной строки -p.
9052</para>
9053<para lang="en">
9054in the -p command-line parameter handling.
9055</para>
9056</change>
9057
9058<change type="bugfix">
9059<para lang="ru">
9060в почтовом прокси-сервере.
9061</para>
9062<para lang="en">
9063in the mail proxy server.
9064</para>
9065</change>
9066
9067<change type="bugfix">
9068<para lang="ru">
9069незначительных потенциальных ошибок.<br/>
9070Спасибо Coverity.
9071</para>
9072<para lang="en">
9073of minor potential bugs.<br/>
9074Thanks to Coverity.
9075</para>
9076</change>
9077
9078<change type="bugfix">
9079<para lang="ru">
9080nginx/Windows не собирался с Visual Studio 2005 Express.<br/>
9081Спасибо HAYASHI Kentaro.
9082</para>
9083<para lang="en">
9084nginx/Windows could not be built with Visual Studio 2005 Express.<br/>
9085Thanks to HAYASHI Kentaro.
9086</para>
9087</change>
9088
9089</changes>
9090
9091
9092<changes ver="1.3.4" date="2012-07-31">
9093
9094<change type="change">
9095<para lang="ru">
9096теперь на слушающих IPv6-сокетах параметр ipv6only
9097включён по умолчанию.
9098</para>
9099<para lang="en">
9100the "ipv6only" parameter is now turned on by default for
9101listening IPv6 sockets.
9102</para>
9103</change>
9104
9105<change type="feature">
9106<para lang="ru">
9107поддержка компилятора Clang.
9108</para>
9109<para lang="en">
9110the Clang compiler support.
9111</para>
9112</change>
9113
9114<change type="bugfix">
9115<para lang="ru">
9116могли создаваться лишние слушающие сокеты.<br/>
9117Спасибо Роману Одайскому.
9118</para>
9119<para lang="en">
9120extra listening sockets might be created.<br/>
9121Thanks to Roman Odaisky.
9122</para>
9123</change>
9124
9125<change type="bugfix">
9126<para lang="ru">
9127nginx/Windows мог нагружать процессор, если при запуске рабочего процесса
9128происходила ошибка.<br/>
9129Спасибо Ricardo Villalobos Guevara.
9130</para>
9131<para lang="en">
9132nginx/Windows might hog CPU if a worker process failed to start.<br/>
9133Thanks to Ricardo Villalobos Guevara.
9134</para>
9135</change>
9136
9137<change type="bugfix">
9138<para lang="ru">
9139директивы proxy_pass_header, fastcgi_pass_header, scgi_pass_header,
9140uwsgi_pass_header, proxy_hide_header, fastcgi_hide_header,
9141scgi_hide_header и uwsgi_hide_header
9142могли наследоваться некорректно.
9143</para>
9144<para lang="en">
9145the "proxy_pass_header", "fastcgi_pass_header", "scgi_pass_header",
9146"uwsgi_pass_header", "proxy_hide_header", "fastcgi_hide_header",
9147"scgi_hide_header", and "uwsgi_hide_header" directives
9148might be inherited incorrectly.
9149</para>
9150</change>
9151
9152</changes>
9153
9154
9155<changes ver="1.3.3" date="2012-07-10">
9156
9157<change type="feature">
9158<para lang="ru">
9159поддержка entity tags и директива etag.
9160</para>
9161<para lang="en">
9162entity tags support and the "etag" directive.
9163</para>
9164</change>
9165
9166<change type="bugfix">
9167<para lang="ru">
9168при использовании директивы map с параметром hostnames
9169не игнорировалась конечная точка в исходном значении.
9170</para>
9171<para lang="en">
9172trailing dot in a source value was not ignored
9173if the "map" directive was used with the "hostnames" parameter.
9174</para>
9175</change>
9176
9177<change type="bugfix">
9178<para lang="ru">
9179для обработки запроса мог использоваться неверный location,
9180если переход в именованный location происходил
9181после изменения URI с помощью директивы rewrite.
9182</para>
9183<para lang="en">
9184incorrect location might be used to process a request
9185if a URI was changed via a "rewrite" directive
9186before an internal redirect to a named location.
9187</para>
9188</change>
9189
9190</changes>
9191
9192
9193<changes ver="1.3.2" date="2012-06-26">
9194
9195<change type="change">
9196<para lang="ru">
9197параметр single директивы keepalive теперь игнорируется.
9198</para>
9199<para lang="en">
9200the "single" parameter of the "keepalive" directive is now ignored.
9201</para>
9202</change>
9203
9204<change type="change">
9205<para lang="ru">
9206сжатие SSL теперь отключено
9207в том числе при использовании OpenSSL старее 1.0.0.
9208</para>
9209<para lang="en">
9210SSL compression is now disabled when using all versions of OpenSSL,
9211including ones prior to 1.0.0.
9212</para>
9213</change>
9214
9215<change type="feature">
9216<para lang="ru">
9217директиву "ip_hash" теперь можно использовать для балансировки IPv6 клиентов.
9218</para>
9219<para lang="en">
9220it is now possible to use the "ip_hash" directive to balance IPv6 clients.
9221</para>
9222</change>
9223
9224<change type="feature">
9225<para lang="ru">
9226переменную $status теперь можно использовать не только в директиве log_format.
9227</para>
9228<para lang="en">
9229the $status variable can now be used not only in the "log_format" directive.
9230</para>
9231</change>
9232
9233<change type="bugfix">
9234<para lang="ru">
9235при завершении рабочего процесса мог произойти segmentation fault,
9236если использовалась директива resolver.
9237</para>
9238<para lang="en">
9239a segmentation fault might occur in a worker process on shutdown
9240if the "resolver" directive was used.
9241</para>
9242</change>
9243
9244<change type="bugfix">
9245<para lang="ru">
9246в рабочем процессе мог произойти segmentation fault,
9247если использовался модуль ngx_http_mp4_module.
9248</para>
9249<para lang="en">
9250a segmentation fault might occur in a worker process
9251if the ngx_http_mp4_module was used.
9252</para>
9253</change>
9254
9255<change type="bugfix">
9256<para lang="ru">
9257в модуле ngx_http_mp4_module.
9258</para>
9259<para lang="en">
9260in the ngx_http_mp4_module.
9261</para>
9262</change>
9263
9264<change type="bugfix">
9265<para lang="ru">
9266в рабочем процессе мог произойти segmentation fault,
9267если использовались конфликтующие имена серверов с масками.
9268</para>
9269<para lang="en">
9270a segmentation fault might occur in a worker process
9271if conflicting wildcard server names were used.
9272</para>
9273</change>
9274
9275<change type="bugfix">
9276<para lang="ru">
9277на платформе ARM nginx мог аварийно завершаться по сигналу SIGBUS.
9278</para>
9279<para lang="en">
9280nginx might be terminated abnormally on a SIGBUS signal on ARM platform.
9281</para>
9282</change>
9283
9284<change type="bugfix">
9285<para lang="ru">
9286во время переконфигурации на HP-UX в лог
9287записывался alert "sendmsg() failed (9: Bad file number)".
9288</para>
9289<para lang="en">
9290an alert "sendmsg() failed (9: Bad file number)" on HP-UX
9291while reconfiguration.
9292</para>
9293</change>
9294
9295</changes>
9296
9297
9298<changes ver="1.3.1" date="2012-06-05">
9299
9300<change type="security">
9301<para lang="ru">
9302теперь nginx/Windows игнорирует точку в конце компонента URI
9303и не разрешает URI, содержащие последовательность ":$".<br/>
9304Спасибо Владимиру Кочеткову, Positive Research Center.
9305</para>
9306<para lang="en">
9307now nginx/Windows ignores trailing dot in URI path component, and
9308does not allow URIs with ":$" in it.<br/>
9309Thanks to Vladimir Kochetkov, Positive Research Center.
9310</para>
9311</change>
9312
9313<change type="feature">
9314<para lang="ru">
9315директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass и
9316директива server в блоке upstream
9317теперь поддерживают IPv6-адреса.
9318</para>
9319<para lang="en">
9320the "proxy_pass", "fastcgi_pass", "scgi_pass", "uwsgi_pass" directives, and
9321the "server" directive inside the "upstream" block,
9322now support IPv6 addresses.
9323</para>
9324</change>
9325
9326<change type="feature">
9327<para lang="ru">
9328в директиве resolver теперь можно указывать порт и
9329задавать IPv6-адреса DNS-серверов.
9330</para>
9331<para lang="en">
9332the "resolver" directive now supports IPv6 addresses and
9333an optional port specification.
9334</para>
9335</change>
9336
9337<change type="feature">
9338<para lang="ru">
9339директива least_conn в блоке upstream.
9340</para>
9341<para lang="en">
9342the "least_conn" directive inside the "upstream" block.
9343</para>
9344</change>
9345
9346<change type="feature">
9347<para lang="ru">
9348при использовании директивы ip_hash
9349теперь можно задавать веса серверов.
9350</para>
9351<para lang="en">
9352it is now possible to specify a weight for servers
9353while using the "ip_hash" directive.
9354</para>
9355</change>
9356
9357<change type="bugfix">
9358<para lang="ru">
9359в рабочем процессе мог произойти segmentation fault,
9360если использовалась директива image_filter;
9361ошибка появилась в 1.3.0.
9362</para>
9363<para lang="en">
9364a segmentation fault might occur in a worker process
9365if the "image_filter" directive was used;
9366the bug had appeared in 1.3.0.
9367</para>
9368</change>
9369
9370<change type="bugfix">
9371<para lang="ru">
9372nginx не собирался с модулем ngx_cpp_test_module;
9373ошибка появилась в 1.1.12.
9374</para>
9375<para lang="en">
9376nginx could not be built with ngx_cpp_test_module;
9377the bug had appeared in 1.1.12.
9378</para>
9379</change>
9380
9381<change type="bugfix">
9382<para lang="ru">
9383доступ к переменным из SSI и встроенного перла мог не работать после
9384переконфигурации.<br/>
9385Спасибо Yichun Zhang.
9386</para>
9387<para lang="en">
9388access to variables from SSI and embedded perl module might not work after
9389reconfiguration.<br/>
9390Thanks to Yichun Zhang.
9391</para>
9392</change>
9393
9394<change type="bugfix">
9395<para lang="ru">
9396в модуле ngx_http_xslt_filter_module.<br/>
9397Спасибо Kuramoto Eiji.
9398</para>
9399<para lang="en">
9400in the ngx_http_xslt_filter_module.<br/>
9401Thanks to Kuramoto Eiji.
9402</para>
9403</change>
9404
9405<change type="bugfix">
9406<para lang="ru">
9407утечки памяти при использовании переменной $geoip_org.<br/>
9408Спасибо Денису Латыпову.
9409</para>
9410<para lang="en">
9411memory leak if $geoip_org variable was used.<br/>
9412Thanks to Denis F. Latypoff.
9413</para>
9414</change>
9415
9416<change type="bugfix">
9417<para lang="ru">
9418в директивах proxy_cookie_domain и proxy_cookie_path.
9419</para>
9420<para lang="en">
9421in the "proxy_cookie_domain" and "proxy_cookie_path" directives.
9422</para>
9423</change>
9424
9425</changes>
9426
9427
9428<changes ver="1.3.0" date="2012-05-15">
9429
9430<change type="feature">
9431<para lang="ru">
9432директива debug_connection теперь поддерживает IPv6-адреса
9433и параметр "unix:".
9434</para>
9435<para lang="en">
9436the "debug_connection" directive now supports IPv6 addresses
9437and the "unix:" parameter.
9438</para>
9439</change>
9440
9441<change type="feature">
9442<para lang="ru">
9443директива set_real_ip_from и параметр proxy
9444директивы geo теперь поддерживают IPv6-адреса.
9445</para>
9446<para lang="en">
9447the "set_real_ip_from" directive and the "proxy" parameter
9448of the "geo" directive now support IPv6 addresses.
9449</para>
9450</change>
9451
9452<change type="feature">
9453<para lang="ru">
9454директивы real_ip_recursive, geoip_proxy и geoip_proxy_recursive.
9455</para>
9456<para lang="en">
9457the "real_ip_recursive", "geoip_proxy", and "geoip_proxy_recursive" directives.
9458</para>
9459</change>
9460
9461<change type="feature">
9462<para lang="ru">
9463параметр proxy_recursive директивы geo.
9464</para>
9465<para lang="en">
9466the "proxy_recursive" parameter of the "geo" directive.
9467</para>
9468</change>
9469
9470<change type="bugfix">
9471<para lang="ru">
9472в рабочем процессе мог произойти segmentation fault,
9473если использовалась директива resolver.
9474</para>
9475<para lang="en">
9476a segmentation fault might occur in a worker process
9477if the "resolver" directive was used.
9478</para>
9479</change>
9480
9481<change type="bugfix">
9482<para lang="ru">
9483в рабочем процессе мог произойти segmentation fault,
9484если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
9485и бэкенд возвращал некорректный ответ.
9486</para>
9487<para lang="en">
9488a segmentation fault might occur in a worker process
9489if the "fastcgi_pass", "scgi_pass", or "uwsgi_pass" directives were used
9490and backend returned incorrect response.
9491</para>
9492</change>
9493
9494<change type="bugfix">
9495<para lang="ru">
9496в рабочем процессе мог произойти segmentation fault,
9497если использовалась директива rewrite и в новых аргументах запроса в строке
9498замены использовались переменные.
9499</para>
9500<para lang="en">
9501a segmentation fault might occur in a worker process
9502if the "rewrite" directive was used and new request arguments
9503in a replacement used variables.
9504</para>
9505</change>
9506
9507<change type="bugfix">
9508<para lang="ru">
9509nginx мог нагружать процессор,
9510если было достигнуто ограничение на количество открытых файлов.
9511</para>
9512<para lang="en">
9513nginx might hog CPU
9514if the open file resource limit was reached.
9515</para>
9516</change>
9517
9518<change type="bugfix">
9519<para lang="ru">
9520при использовании директивы proxy_next_upstream с параметром http_404
9521nginx мог бесконечно перебирать бэкенды, если в блоке upstream был
9522хотя бы один сервер с флагом backup.
9523</para>
9524<para lang="en">
9525nginx might loop infinitely over backends
9526if the "proxy_next_upstream" directive with the "http_404" parameter was used
9527and there were backup servers specified in an upstream block.
9528</para>
9529</change>
9530
9531<change type="bugfix">
9532<para lang="ru">
9533при использовании директивы ip_hash
9534установка параметра down директивы server
9535могла приводить к ненужному перераспределению клиентов между бэкендами.
9536</para>
9537<para lang="en">
9538adding the "down" parameter of the "server" directive
9539might cause unneeded client redistribution among backend servers
9540if the "ip_hash" directive was used.
9541</para>
9542</change>
9543
9544<change type="bugfix">
9545<para lang="ru">
9546утечки сокетов.<br/>
9547Спасибо Yichun Zhang.
9548</para>
9549<para lang="en">
9550socket leak.<br/>
9551Thanks to Yichun Zhang.
9552</para>
9553</change>
9554
9555<change type="bugfix">
9556<para lang="ru">
9557в модуле ngx_http_fastcgi_module.
9558</para>
9559<para lang="en">
9560in the ngx_http_fastcgi_module.
9561</para>
9562</change>
9563
9564</changes>
9565
9566
9567<changes ver="1.2.0" date="2012-04-23">
9568
9569<change type="bugfix">
9570<para lang="ru">
9571в рабочем процессе мог произойти segmentation fault,
9572если использовалась директива try_files;
9573ошибка появилась в 1.1.19.
9574</para>
9575<para lang="en">
9576a segmentation fault might occur in a worker process
9577if the "try_files" directive was used;
9578the bug had appeared in 1.1.19.
9579</para>
9580</change>
9581
9582<change type="bugfix">
9583<para lang="ru">
9584ответ мог быть передан не полностью,
9585если использовалось больше IOV_MAX буферов.
9586</para>
9587<para lang="en">
9588response might be truncated
9589if there were more than IOV_MAX buffers used.
9590</para>
9591</change>
9592
9593<change type="bugfix">
9594<para lang="ru">
9595в работе параметра crop директивы image_filter.<br/>
9596Спасибо Maxim Bublis.
9597</para>
9598<para lang="en">
9599in the "crop" parameter of the "image_filter" directive.<br/>
9600Thanks to Maxim Bublis.
9601</para>
9602</change>
9603
9604</changes>
9605
9606
9607<changes ver="1.1.19" date="2012-04-12">
9608
9609<change type="security">
9610<para lang="ru">
9611при обработке специально созданного mp4 файла модулем ngx_http_mp4_module
9612могли перезаписываться области памяти рабочего процесса, что могло
9613приводить к выполнению произвольного кода (CVE-2012-2089).<br/>
9614Спасибо Matthew Daley.
9615</para>
9616<para lang="en">
9617specially crafted mp4 file might allow to overwrite
9618memory locations in a worker process
9619if the ngx_http_mp4_module was used,
9620potentially resulting in arbitrary code execution (CVE-2012-2089).<br/>
9621Thanks to Matthew Daley.
9622</para>
9623</change>
9624
9625<change type="bugfix">
9626<para lang="ru">
9627nginx/Windows мог завершаться аварийно.<br/>
9628Спасибо Vincent Lee.
9629</para>
9630<para lang="en">
9631nginx/Windows might be terminated abnormally.<br/>
9632Thanks to Vincent Lee.
9633</para>
9634</change>
9635
9636<change type="bugfix">
9637<para lang="ru">
9638nginx нагружал процессор, если все серверы в upstream'е были помечены
9639флагом backup.
9640</para>
9641<para lang="en">
9642nginx hogged CPU if all servers in an upstream were marked as "backup".
9643</para>
9644</change>
9645
9646<change type="bugfix">
9647<para lang="ru">
9648директивы allow и deny могли наследоваться некорректно,
9649если в них использовались IPv6 адреса.
9650</para>
9651<para lang="en">
9652the "allow" and "deny" directives might be inherited incorrectly
9653if they were used with IPv6 addresses.
9654</para>
9655</change>
9656
9657<change type="bugfix">
9658<para lang="ru">
9659директивы modern_browser и ancient_browser
9660могли наследоваться некорректно.
9661</para>
9662<para lang="en">
9663the "modern_browser" and "ancient_browser" directives
9664might be inherited incorrectly.
9665</para>
9666</change>
9667
9668<change type="bugfix">
9669<para lang="ru">
9670таймауты могли работать некорректно на Solaris/SPARC.
9671</para>
9672<para lang="en">
9673timeouts might be handled incorrectly on Solaris/SPARC.
9674</para>
9675</change>
9676
9677<change type="bugfix">
9678<para lang="ru">
9679в модуле ngx_http_mp4_module.
9680</para>
9681<para lang="en">
9682in the ngx_http_mp4_module.
9683</para>
9684</change>
9685
9686</changes>
9687
9688
9689<changes ver="1.1.18" date="2012-03-28">
9690
9691<change type="change">
9692<para lang="ru">
9693теперь keepalive соединения не запрещены для Safari по умолчанию.
9694</para>
9695<para lang="en">
9696keepalive connections are no longer disabled for Safari by default.
9697</para>
9698</change>
9699
9700<change type="feature">
9701<para lang="ru">
9702переменная $connection_requests.
9703</para>
9704<para lang="en">
9705the $connection_requests variable.
9706</para>
9707</change>
9708
9709<change type="feature">
9710<para lang="ru">
9711переменные $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd и
9712$tcpinfo_rcv_space.
9713</para>
9714<para lang="en">
9715$tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd and
9716$tcpinfo_rcv_space variables.
9717</para>
9718</change>
9719
9720<change type="feature">
9721<para lang="ru">
9722директива worker_cpu_affinity теперь работает на FreeBSD.
9723</para>
9724<para lang="en">
9725the "worker_cpu_affinity" directive now works on FreeBSD.
9726</para>
9727</change>
9728
9729<change type="feature">
9730<para lang="ru">
9731директивы xslt_param и xslt_string_param.<br/>
9732Спасибо Samuel Behan.
9733</para>
9734<para lang="en">
9735the "xslt_param" and "xslt_string_param" directives.<br/>
9736Thanks to Samuel Behan.
9737</para>
9738</change>
9739
9740<change type="bugfix">
9741<para lang="ru">
9742в configure.<br/>
9743Спасибо Piotr Sikora.
9744</para>
9745<para lang="en">
9746in configure tests.<br/>
9747Thanks to Piotr Sikora.
9748</para>
9749</change>
9750
9751<change type="bugfix">
9752<para lang="ru">
9753в модуле ngx_http_xslt_filter_module.
9754</para>
9755<para lang="en">
9756in the ngx_http_xslt_filter_module.
9757</para>
9758</change>
9759
9760<change type="bugfix">
9761<para lang="ru">
9762nginx не собирался на Debian GNU/Hurd.
9763</para>
9764<para lang="en">
9765nginx could not be built on Debian GNU/Hurd.
9766</para>
9767</change>
9768
9769</changes>
9770
9771
9772<changes ver="1.1.17" date="2012-03-15">
9773
9774<change type="security">
9775<para lang="ru">
9776содержимое ранее освобождённой памяти могло быть отправлено клиенту,
9777если бэкенд возвращал специально созданный ответ.<br/>
9778Спасибо Matthew Daley.
9779</para>
9780<para lang="en">
9781content of previously freed memory might be sent to a client
9782if backend returned specially crafted response.<br/>
9783Thanks to Matthew Daley.
9784</para>
9785</change>
9786
9787<change type="bugfix">
9788<para lang="ru">
9789при использовании встроенного перла из SSI.<br/>
9790Спасибо Matthew Daley.
9791</para>
9792<para lang="en">
9793in the embedded perl module if used from SSI.<br/>
9794Thanks to Matthew Daley.
9795</para>
9796</change>
9797
9798<change type="bugfix">
9799<para lang="ru">
9800в модуле ngx_http_uwsgi_module.
9801</para>
9802<para lang="en">
9803in the ngx_http_uwsgi_module.
9804</para>
9805</change>
9806
9807</changes>
9808
9809
9810<changes ver="1.1.16" date="2012-02-29">
9811
9812<change type="change">
9813<para lang="ru">
9814ограничение на количество одновременных подзапросов поднято до 200.
9815</para>
9816<para lang="en">
9817the simultaneous subrequest limit has been raised to 200.
9818</para>
9819</change>
9820
9821<change type="feature">
9822<para lang="ru">
9823параметр from в директиве disable_symlinks.
9824</para>
9825<para lang="en">
9826the "from" parameter of the "disable_symlinks" directive.
9827</para>
9828</change>
9829
9830<change type="feature">
9831<para lang="ru">
9832директивы return и error_page теперь могут использоваться для возврата
9833перенаправлений с кодом 307.
9834</para>
9835<para lang="en">
9836the "return" and "error_page" directives can now be used to return 307
9837redirections.
9838</para>
9839</change>
9840
9841<change type="bugfix">
9842<para lang="ru">
9843в рабочем процессе мог произойти segmentation fault,
9844если использовалась директива resolver
9845и на глобальном уровне не была задана директива error_log.<br/>
9846Спасибо Роману Арутюняну.
9847</para>
9848<para lang="en">
9849a segmentation fault might occur in a worker process
9850if the "resolver" directive was used
9851and there was no "error_log" directive specified at global level.<br/>
9852Thanks to Roman Arutyunyan.
9853</para>
9854</change>
9855
9856<change type="bugfix">
9857<para lang="ru">
9858в рабочем процессе мог произойти segmentation fault,
9859если использовались директивы "proxy_http_version 1.1" или
9860"fastcgi_keep_conn on".
9861</para>
9862<para lang="en">
9863a segmentation fault might occur in a worker process
9864if the "proxy_http_version 1.1" or "fastcgi_keep_conn on" directives
9865were used.
9866</para>
9867</change>
9868
9869<change type="bugfix">
9870<para lang="ru">
9871утечек памяти.<br/>
9872Спасибо Lanshun Zhou.
9873</para>
9874<para lang="en">
9875memory leaks.<br/>
9876Thanks to Lanshun Zhou.
9877</para>
9878</change>
9879
9880<change type="bugfix">
9881<para lang="ru">
9882в директиве disable_symlinks.
9883</para>
9884<para lang="en">
9885in the "disable_symlinks" directive.
9886</para>
9887</change>
9888
9889<change type="bugfix">
9890<para lang="ru">
9891при использовании ZFS размер кэша на диске мог считаться некорректно;
9892ошибка появилась в 1.0.1.
9893</para>
9894<para lang="en">
9895on ZFS filesystem disk cache size might be calculated incorrectly;
9896the bug had appeared in 1.0.1.
9897</para>
9898</change>
9899
9900<change type="bugfix">
9901<para lang="ru">
9902nginx не собирался компилятором icc 12.1.
9903</para>
9904<para lang="en">
9905nginx could not be built by the icc 12.1 compiler.
9906</para>
9907</change>
9908
9909<change type="bugfix">
9910<para lang="ru">
9911nginx не собирался gcc на Solaris;
9912ошибка появилась в 1.1.15.
9913</para>
9914<para lang="en">
9915nginx could not be built by gcc on Solaris;
9916the bug had appeared in 1.1.15.
9917</para>
9918</change>
9919
9920</changes>
9921
9922
9923<changes ver="1.1.15" date="2012-02-15">
9924
9925<change type="feature">
9926<para lang="ru">
9927директива disable_symlinks.
9928</para>
9929<para lang="en">
9930the "disable_symlinks" directive.
9931</para>
9932</change>
9933
9934<change type="feature">
9935<para lang="ru">
9936директивы proxy_cookie_domain и proxy_cookie_path.
9937</para>
9938<para lang="en">
9939the "proxy_cookie_domain" and "proxy_cookie_path" directives.
9940</para>
9941</change>
9942
9943<change type="bugfix">
9944<para lang="ru">
9945nginx мог некорректно сообщать об ошибке "upstream prematurely closed
9946connection" вместо "upstream sent too big header".<br/>
9947Спасибо Feibo Li.
9948</para>
9949<para lang="en">
9950nginx might log incorrect error "upstream prematurely closed connection"
9951instead of correct "upstream sent too big header" one.<br/>
9952Thanks to Feibo Li.
9953</para>
9954</change>
9955
9956<change type="bugfix">
9957<para lang="ru">
9958nginx не собирался с модулем ngx_http_perl_module,
9959если использовался параметр --with-openssl.
9960</para>
9961<para lang="en">
9962nginx could not be built with the ngx_http_perl_module
9963if the --with-openssl option was used.
9964</para>
9965</change>
9966
9967<change type="bugfix">
9968<para lang="ru">
9969количество внутренних перенаправлений в именованные location'ы
9970не ограничивалось.
9971</para>
9972<para lang="en">
9973the number of internal redirects to named locations was not limited.
9974</para>
9975</change>
9976
9977<change type="bugfix">
9978<para lang="ru">
9979вызов $r->flush() несколько раз подряд мог приводить к ошибкам
9980в модуле ngx_http_gzip_filter_module.
9981</para>
9982<para lang="en">
9983calling $r->flush() multiple times might cause errors
9984in the ngx_http_gzip_filter_module.
9985</para>
9986</change>
9987
9988<change type="bugfix">
9989<para lang="ru">
9990при использовании директивы proxy_store с SSI-подзапросами
9991временные файлы могли не удаляться.
9992</para>
9993<para lang="en">
9994temporary files might be not removed
9995if the "proxy_store" directive was used with SSI includes.
9996</para>
9997</change>
9998
9999<change type="bugfix">
10000<para lang="ru">
10001в некоторых случаях некэшируемые переменные (такие, как $args)
10002возвращали старое пустое закэшированное значение.
10003</para>
10004<para lang="en">
10005in some cases non-cacheable variables (such as the $args variable)
10006returned old empty cached value.
10007</para>
10008</change>
10009
10010<change type="bugfix">
10011<para lang="ru">
10012в рабочем процессе мог произойти segmentation fault,
10013если одновременно создавалось слишком много SSI-подзапросов;
10014ошибка появилась в 0.7.25.
10015</para>
10016<para lang="en">
10017a segmentation fault might occur in a worker process
10018if too many SSI subrequests were issued simultaneously;
10019the bug had appeared in 0.7.25.
10020</para>
10021</change>
10022
10023</changes>
10024
10025
10026<changes ver="1.1.14" date="2012-01-30">
10027
10028<change type="feature">
10029<para lang="ru">
10030теперь можно указать несколько ограничений limit_req одновременно.
10031</para>
10032<para lang="en">
10033multiple "limit_req" limits may be used simultaneously.
10034</para>
10035</change>
10036
10037<change type="bugfix">
10038<para lang="ru">
10039в обработке ошибок при соединении с бэкендом.<br/>
10040Спасибо Piotr Sikora.
10041</para>
10042<para lang="en">
10043in error handling while connecting to a backend.<br/>
10044Thanks to Piotr Sikora.
10045</para>
10046</change>
10047
10048<change type="bugfix">
10049<para lang="ru">
10050в обработке ошибок при использовании AIO на FreeBSD.
10051</para>
10052<para lang="en">
10053in AIO error handling on FreeBSD.
10054</para>
10055</change>
10056
10057<change type="bugfix">
10058<para lang="ru">
10059в инициализации библиотеки OpenSSL.
10060</para>
10061<para lang="en">
10062in the OpenSSL library initialization.
10063</para>
10064</change>
10065
10066<change type="bugfix">
10067<para lang="ru">
10068директивы proxy_redirect могли наследоваться некорректно.
10069</para>
10070<para lang="en">
10071the "proxy_redirect" directives might be inherited incorrectly.
10072</para>
10073</change>
10074
10075<change type="bugfix">
10076<para lang="ru">
10077утечки памяти при переконфигурации, если использовалась директива pcre_jit.
10078</para>
10079<para lang="en">
10080memory leak during reconfiguration if the "pcre_jit" directive was used.
10081</para>
10082</change>
10083
10084</changes>
10085
10086
10087<changes ver="1.1.13" date="2012-01-16">
10088
10089<change type="feature">
10090<para lang="ru">
10091параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
10092</para>
10093<para lang="en">
10094the "TLSv1.1" and "TLSv1.2" parameters of the "ssl_protocols" directive.
10095</para>
10096</change>
10097
10098<change type="bugfix">
10099<para lang="ru">
10100параметры директивы limit_req наследовались некорректно;
10101ошибка появилась в 1.1.12.
10102</para>
10103<para lang="en">
10104the "limit_req" directive parameters were not inherited correctly;
10105the bug had appeared in 1.1.12.
10106</para>
10107</change>
10108
10109<change type="bugfix">
10110<para lang="ru">
10111директива proxy_redirect некорректно обрабатывала заголовок Refresh
10112при использовании регулярных выражений.
10113</para>
10114<para lang="en">
10115the "proxy_redirect" directive incorrectly processed "Refresh" header
10116if regular expression were used.
10117</para>
10118</change>
10119
10120<change type="bugfix">
10121<para lang="ru">
10122директива proxy_cache_use_stale с параметром error не возвращала ответ из
10123кэша, если все бэкенды были признаны неработающими.
10124</para>
10125<para lang="en">
10126the "proxy_cache_use_stale" directive with "error" parameter did not return
10127answer from cache if there were no live upstreams.
10128</para>
10129</change>
10130
10131<change type="bugfix">
10132<para lang="ru">
10133директива worker_cpu_affinity могла не работать.
10134</para>
10135<para lang="en">
10136the "worker_cpu_affinity" directive might not work.
10137</para>
10138</change>
10139
10140<change type="bugfix">
10141<para lang="ru">
10142nginx не собирался на Solaris;
10143ошибка появилась в 1.1.12.
10144</para>
10145<para lang="en">
10146nginx could not be built on Solaris;
10147the bug had appeared in 1.1.12.
10148</para>
10149</change>
10150
10151<change type="bugfix">
10152<para lang="ru">
10153в модуле ngx_http_mp4_module.
10154</para>
10155<para lang="en">
10156in the ngx_http_mp4_module.
10157</para>
10158</change>
10159
10160</changes>
10161
10162
10163<changes ver="1.1.12" date="2011-12-26">
10164
10165<change type="change">
10166<para lang="ru">
10167после перенаправления запроса с помощью директивы error_page
10168директива proxy_pass без URI теперь использует изменённый URI.<br/>
10169Спасибо Lanshun Zhou.
10170</para>
10171<para lang="en">
10172a "proxy_pass" directive without URI part now uses changed URI
10173after redirection with the "error_page" directive.<br/>
10174Thanks to Lanshun Zhou.
10175</para>
10176</change>
10177
10178<change type="feature">
10179<para lang="ru">
10180директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
10181proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
10182</para>
10183<para lang="en">
10184the "proxy/fastcgi/scgi/uwsgi_cache_lock",
10185"proxy/fastcgi/scgi/uwsgi_cache_lock_timeout" directives.
10186</para>
10187</change>
10188
10189<change type="feature">
10190<para lang="ru">
10191директива pcre_jit.
10192</para>
10193<para lang="en">
10194the "pcre_jit" directive.
10195</para>
10196</change>
10197
10198<change type="feature">
10199<para lang="ru">
10200SSI команда if поддерживает выделения в регулярных выражениях.
10201</para>
10202<para lang="en">
10203the "if" SSI command supports captures in regular expressions.
10204</para>
10205</change>
10206
10207<change type="bugfix">
10208<para lang="ru">
10209SSI команда if не работала внутри команды block.
10210</para>
10211<para lang="en">
10212the "if" SSI command did not work inside the "block" command.
10213</para>
10214</change>
10215
10216<change type="bugfix">
10217<para lang="ru">
10218директивы limit_conn_log_level и limit_req_log_level могли не работать.
10219</para>
10220<para lang="en">
10221the "limit_conn_log_level" and "limit_req_log_level" directives might not work.
10222</para>
10223</change>
10224
10225<change type="bugfix">
10226<para lang="ru">
10227директива limit_rate не позволяла передавать на полной скорости,
10228даже если был указан очень большой лимит.
10229</para>
10230<para lang="en">
10231the "limit_rate" directive did not allow to use full throughput,
10232even if limit value was very high.
10233</para>
10234</change>
10235
10236<change type="bugfix">
10237<para lang="ru">
10238директива sendfile_max_chunk не работала,
10239если использовалась директива limit_rate.
10240</para>
10241<para lang="en">
10242the "sendfile_max_chunk" directive did not work,
10243if the "limit_rate" directive was used.
10244</para>
10245</change>
10246
10247<change type="bugfix">
10248<para lang="ru">
10249если в директиве proxy_pass использовались переменные и не был указан URI,
10250всегда использовался URI исходного запроса.
10251</para>
10252<para lang="en">
10253a "proxy_pass" directive without URI part always used original request URI
10254if variables were used.
10255</para>
10256</change>
10257
10258<change type="bugfix">
10259<para lang="ru">
10260после перенаправления запроса с помощью директивы try_files
10261директива proxy_pass без URI могла использовать URI исходного запроса.<br/>
10262Спасибо Lanshun Zhou.
10263</para>
10264<para lang="en">
10265a "proxy_pass" directive without URI part might use original request
10266after redirection with the "try_files" directive.<br/>
10267Thanks to Lanshun Zhou.
10268</para>
10269</change>
10270
10271<change type="bugfix">
10272<para lang="ru">
10273в модуле ngx_http_scgi_module.
10274</para>
10275<para lang="en">
10276in the ngx_http_scgi_module.
10277</para>
10278</change>
10279
10280<change type="bugfix">
10281<para lang="ru">
10282в модуле ngx_http_mp4_module.
10283</para>
10284<para lang="en">
10285in the ngx_http_mp4_module.
10286</para>
10287</change>
10288
10289<change type="bugfix">
10290<para lang="ru">
10291nginx не собирался на Solaris;
10292ошибка появилась в 1.1.9.
10293</para>
10294<para lang="en">
10295nginx could not be built on Solaris;
10296the bug had appeared in 1.1.9.
10297</para>
10298</change>
10299
10300</changes>
10301
10302
10303<changes ver="1.1.11" date="2011-12-12">
10304
10305<change type="feature">
10306<para lang="ru">
10307параметр so_keepalive в директиве listen.<br/>
10308Спасибо Всеволоду Стахову.
10309</para>
10310<para lang="en">
10311the "so_keepalive" parameter of the "listen" directive.<br/>
10312Thanks to Vsevolod Stakhov.
10313</para>
10314</change>
10315
10316<change type="feature">
10317<para lang="ru">
10318параметр if_not_empty в директивах fastcgi/scgi/uwsgi_param.
10319</para>
10320<para lang="en">
10321the "if_not_empty" parameter of the "fastcgi/scgi/uwsgi_param" directives.
10322</para>
10323</change>
10324
10325<change type="feature">
10326<para lang="ru">
10327переменная $https.
10328</para>
10329<para lang="en">
10330the $https variable.
10331</para>
10332</change>
10333
10334<change type="feature">
10335<para lang="ru">
10336директива proxy_redirect поддерживает переменные в первом параметре.
10337</para>
10338<para lang="en">
10339the "proxy_redirect" directive supports variables in the first parameter.
10340</para>
10341</change>
10342
10343<change type="feature">
10344<para lang="ru">
10345директива proxy_redirect поддерживает регулярные выражения.
10346</para>
10347<para lang="en">
10348the "proxy_redirect" directive supports regular expressions.
10349</para>
10350</change>
10351
10352<change type="bugfix">
10353<para lang="ru">
10354переменная $sent_http_cache_control могла содержать неверное значение при
10355использовании директивы expires.<br/>
10356Спасибо Yichun Zhang.
10357</para>
10358<para lang="en">
10359the $sent_http_cache_control variable might contain a wrong value if the
10360"expires" directive was used.<br/>
10361Thanks to Yichun Zhang.
10362</para>
10363</change>
10364
10365<change type="bugfix">
10366<para lang="ru">
10367директива read_ahead могла не работать при использовании совместно с
10368try_files и open_file_cache.
10369</para>
10370<para lang="en">
10371the "read_ahead" directive might not work combined with "try_files"
10372and "open_file_cache".
10373</para>
10374</change>
10375
10376<change type="bugfix">
10377<para lang="ru">
10378если в параметре inactive директивы proxy_cache_path
10379было указано малое время,
10380в рабочем процессе мог произойти segmentation fault.
10381</para>
10382<para lang="en">
10383a segmentation fault might occur in a worker process
10384if small time was used in the "inactive" parameter of
10385the "proxy_cache_path" directive.
10386</para>
10387</change>
10388
10389<change type="bugfix">
10390<para lang="ru">
10391ответы из кэша могли зависать.
10392</para>
10393<para lang="en">
10394responses from cache might hang.
10395</para>
10396</change>
10397
10398</changes>
10399
10400
10401<changes ver="1.1.10" date="2011-11-30">
10402
10403<change type="bugfix">
10404<para lang="ru">
10405при использовании AIO на Linux в рабочем процессе происходил segmentation fault;
10406ошибка появилась в 1.1.9.
10407</para>
10408<para lang="en">
10409a segmentation fault occurred in a worker process if AIO was used on Linux;
10410the bug had appeared in 1.1.9.
10411</para>
10412</change>
10413
10414</changes>
10415
10416
10417<changes ver="1.1.9" date="2011-11-28">
10418
10419<change type="change">
10420<para lang="ru">
10421теперь двойные кавычки экранируется при выводе SSI-командой echo.<br/>
10422Спасибо Зауру Абасмирзоеву.
10423</para>
10424<para lang="en">
10425now double quotes are encoded in an "echo" SSI-command output.<br/>
10426Thanks to Zaur Abasmirzoev.
10427</para>
10428</change>
10429
10430<change type="feature">
10431<para lang="ru">
10432параметр valid в директиве resolver.  По умолчанию теперь
10433используется TTL, возвращённый DNS-сервером.<br/>
10434Спасибо Кириллу Коринскому.
10435</para>
10436<para lang="en">
10437the "valid" parameter of the "resolver" directive.  By default TTL
10438returned by a DNS server is used.<br/>
10439Thanks to Kirill A. Korinskiy.
10440</para>
10441</change>
10442
10443<change type="bugfix">
10444<para lang="ru">
10445nginx мог перестать отвечать, если рабочий процесс завершался аварийно.
10446</para>
10447<para lang="en">
10448nginx might hang after a worker process abnormal termination.
10449</para>
10450</change>
10451
10452<change type="bugfix">
10453<para lang="ru">
10454в рабочем процессе мог произойти segmentation fault,
10455если использовалось SNI;
10456ошибка появилась в 1.1.2.
10457</para>
10458<para lang="en">
10459a segmentation fault might occur in a worker process
10460if SNI was used;
10461the bug had appeared in 1.1.2.
10462</para>
10463</change>
10464
10465<change type="bugfix">
10466<para lang="ru">
10467в директиве keepalive_disable;
10468ошибка появилась в 1.1.8.<br/>
10469Спасибо Александру Усову.
10470</para>
10471<para lang="en">
10472in the "keepalive_disable" directive;
10473the bug had appeared in 1.1.8.<br/>
10474Thanks to Alexander Usov.
10475</para>
10476</change>
10477
10478<change type="bugfix">
10479<para lang="ru">
10480сигнал SIGWINCH переставал работать после первого обновления исполняемого
10481файла;
10482ошибка появилась в 1.1.1.
10483</para>
10484<para lang="en">
10485SIGWINCH signal did not work after first binary upgrade;
10486the bug had appeared in 1.1.1.
10487</para>
10488</change>
10489
10490<change type="bugfix">
10491<para lang="ru">
10492теперь ответы бэкендов, длина которых не соответствует заголовку
10493Content-Length, не кэширутся.
10494</para>
10495<para lang="en">
10496backend responses with length not matching "Content-Length" header line
10497are no longer cached.
10498</para>
10499</change>
10500
10501<change type="bugfix">
10502<para lang="ru">
10503в директиве scgi_param при использовании составных параметров.
10504</para>
10505<para lang="en">
10506in the "scgi_param" directive, if complex parameters were used.
10507</para>
10508</change>
10509
10510<change type="bugfix">
10511<para lang="ru">
10512в методе epoll.<br/>
10513Спасибо Yichun Zhang.
10514</para>
10515<para lang="en">
10516in the "epoll" event method.<br/>
10517Thanks to Yichun Zhang.
10518</para>
10519</change>
10520
10521<change type="bugfix">
10522<para lang="ru">
10523в модуле ngx_http_flv_module.<br/>
10524Спасибо Piotr Sikora.
10525</para>
10526<para lang="en">
10527in the ngx_http_flv_module.<br/>
10528Thanks to Piotr Sikora.
10529</para>
10530</change>
10531
10532<change type="bugfix">
10533<para lang="ru">
10534в модуле ngx_http_mp4_module.
10535</para>
10536<para lang="en">
10537in the ngx_http_mp4_module.
10538</para>
10539</change>
10540
10541<change type="bugfix">
10542<para lang="ru">
10543теперь nginx понимает IPv6-адреса в строке запроса и в заголовке Host.
10544</para>
10545<para lang="en">
10546IPv6 addresses are now handled properly in a request line and in a "Host"
10547request header line.
10548</para>
10549</change>
10550
10551<change type="bugfix">
10552<para lang="ru">
10553директивы add_header и expires не работали для ответов с кодом 206,
10554если запрос проксировался.
10555</para>
10556<para lang="en">
10557"add_header" and "expires" directives did not work if a request was proxied
10558and response status code was 206.
10559</para>
10560</change>
10561
10562<change type="bugfix">
10563<para lang="ru">
10564nginx не собирался на FreeBSD 10.
10565</para>
10566<para lang="en">
10567nginx could not be built on FreeBSD 10.
10568</para>
10569</change>
10570
10571<change type="bugfix">
10572<para lang="ru">
10573nginx не собирался на AIX.
10574</para>
10575<para lang="en">
10576nginx could not be built on AIX.
10577</para>
10578</change>
10579
10580</changes>
10581
10582
10583<changes ver="1.1.8" date="2011-11-14">
10584
10585<change type="change">
10586<para lang="ru">
10587модуль ngx_http_limit_zone_module переименован в ngx_http_limit_conn_module.
10588</para>
10589<para lang="en">
10590the ngx_http_limit_zone_module was renamed to the ngx_http_limit_conn_module.
10591</para>
10592</change>
10593
10594<change type="change">
10595<para lang="ru">
10596директива limit_zone заменена директивой limit_conn_zone с новым синтаксисом.
10597</para>
10598<para lang="en">
10599the "limit_zone" directive was superseded by the "limit_conn_zone" directive
10600with a new syntax.
10601</para>
10602</change>
10603
10604<change type="feature">
10605<para lang="ru">
10606поддержка ограничения по нескольким limit_conn на одном уровне.
10607</para>
10608<para lang="en">
10609support for multiple "limit_conn" limits on the same level.
10610</para>
10611</change>
10612
10613<change type="feature">
10614<para lang="ru">
10615директива image_filter_sharpen.
10616</para>
10617<para lang="en">
10618the "image_filter_sharpen" directive.
10619</para>
10620</change>
10621
10622<change type="bugfix">
10623<para lang="ru">
10624в рабочем процессе мог произойти segmentation fault,
10625если resolver получил большой DNS-ответ.<br/>
10626Спасибо Ben Hawkes.
10627</para>
10628<para lang="en">
10629a segmentation fault might occur in a worker process
10630if resolver got a big DNS response.<br/>
10631Thanks to Ben Hawkes.
10632</para>
10633</change>
10634
10635<change type="bugfix">
10636<para lang="ru">
10637в вычислении ключа для кэширования,
10638если использовалась внутренняя реализация MD5;
10639ошибка появилась в 1.0.4.
10640</para>
10641<para lang="en">
10642in cache key calculation
10643if internal MD5 implementation was used;
10644the bug had appeared in 1.0.4.
10645</para>
10646</change>
10647
10648<change type="bugfix">
10649<para lang="ru">
10650строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса
10651клиента могли передаваться бэкенду при кэшировании; или не передаваться при
10652выключенном кэшировании, если кэширование было включено в другой части
10653конфигурации.
10654</para>
10655<para lang="en">
10656the "If-Modified-Since", "If-Range", etc. client request header lines
10657might be passed to backend while caching; or not passed without caching
10658if caching was enabled in another part of the configuration.
10659</para>
10660</change>
10661
10662<change type="bugfix">
10663<para lang="ru">
10664модуль ngx_http_mp4_module выдавал неверную строку "Content-Length"
10665в заголовке ответа, использовался аргумент start.<br/>
10666Спасибо Piotr Sikora.
10667</para>
10668<para lang="en">
10669the module ngx_http_mp4_module sent incorrect "Content-Length" response
10670header line if the "start" argument was used.<br/>
10671Thanks to Piotr Sikora.
10672</para>
10673</change>
10674
10675</changes>
10676
10677
10678<changes ver="1.1.7" date="2011-10-31">
10679
10680<change type="feature">
10681<para lang="ru">
10682поддержка нескольких DNS серверов в директиве "resolver".<br/>
10683Спасибо Кириллу Коринскому.
10684</para>
10685<para lang="en">
10686support of several DNS servers in the "resolver" directive.<br/>
10687Thanks to Kirill A. Korinskiy.
10688</para>
10689</change>
10690
10691<change type="bugfix">
10692<para lang="ru">
10693на старте или во время переконфигурации происходил segmentation fault,
10694если директива ssl использовалась на уровне http и не был указан
10695ssl_certificate.
10696</para>
10697<para lang="en">
10698a segmentation fault occurred on start or during reconfiguration
10699if the "ssl" directive was used at http level and there was
10700no "ssl_certificate" defined.
10701</para>
10702</change>
10703
10704<change type="bugfix">
10705<para lang="ru">
10706уменьшено потребление памяти при проксировании больших файлов,
10707если они буферизировались на диск.
10708</para>
10709<para lang="en">
10710reduced memory consumption while proxying big files
10711if they were buffered to disk.
10712</para>
10713</change>
10714
10715<change type="bugfix">
10716<para lang="ru">
10717в рабочем процессе мог произойти segmentation fault,
10718если использовалась директива "proxy_http_version 1.1".
10719</para>
10720<para lang="en">
10721a segmentation fault might occur in a worker process
10722if "proxy_http_version 1.1" directive was used.
10723</para>
10724</change>
10725
10726<change type="bugfix">
10727<para lang="ru">
10728в директиве "expires @time".
10729</para>
10730<para lang="en">
10731in the "expires @time" directive.
10732</para>
10733</change>
10734
10735</changes>
10736
10737
10738<changes ver="1.1.6" date="2011-10-17">
10739
10740<change>
10741<para lang="ru">
10742Изменение во внутреннем API: теперь при внутреннем редиректе
10743в именованный location контексты модулей очищаются.<br/>
10744По запросу Yichun Zhang.
10745</para>
10746<para lang="en">
10747Change in internal API: now module context data are cleared
10748while internal redirect to named location.<br/>
10749Requested by Yichun Zhang.
10750</para>
10751</change>
10752
10753<change type="change">
10754<para lang="ru">
10755теперь если сервер, описанный в блоке upstream, был признан неработающим,
10756то после истечения fail_timeout на него будет отправлен только один запрос;
10757сервер будет считаться работающим, если успешно ответит на этот запрос.
10758</para>
10759<para lang="en">
10760if a server in an upstream failed, only one request will be sent to it
10761after fail_timeout; the server will be considered alive if it will
10762successfully respond to the request.
10763</para>
10764</change>
10765
10766<change type="change">
10767<para lang="ru">
10768теперь символы 0x7F-0xFF в access_log записываются в виде \xXX.
10769</para>
10770<para lang="en">
10771now the 0x7F-0xFF characters are escaped as \xXX in an access_log.
10772</para>
10773</change>
10774
10775<change type="feature">
10776<para lang="ru">
10777директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers" теперь поддерживают
10778значения X-Accel-Limit-Rate, X-Accel-Buffering и X-Accel-Charset.
10779</para>
10780<para lang="en">
10781"proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support the following
10782additional values: X-Accel-Limit-Rate, X-Accel-Buffering, X-Accel-Charset.
10783</para>
10784</change>
10785
10786<change type="feature">
10787<para lang="ru">
10788уменьшение потребления памяти при использовании SSL.
10789</para>
10790<para lang="en">
10791decrease of memory consumption if SSL is used.
10792</para>
10793</change>
10794
10795<change type="bugfix">
10796<para lang="ru">
10797некоторые UTF-8 символы обрабатывались неправильно.<br/>
10798Спасибо Алексею Куцу.
10799</para>
10800<para lang="en">
10801some UTF-8 characters were processed incorrectly.<br/>
10802Thanks to Alexey Kuts.
10803</para>
10804</change>
10805
10806<change type="bugfix">
10807<para lang="ru">
10808директивы модуля ngx_http_rewrite_module, заданные на уровне server,
10809применялись повторно, если для запроса не находилось ни одного location'а.
10810</para>
10811<para lang="en">
10812the ngx_http_rewrite_module directives specified at "server" level were
10813executed twice if no matching locations were defined.
10814</para>
10815</change>
10816
10817<change type="bugfix">
10818<para lang="ru">
10819при использовании "aio sendfile" могла происходить утечка сокетов.
10820</para>
10821<para lang="en">
10822a socket leak might occurred if "aio sendfile" was used.
10823</para>
10824</change>
10825
10826<change type="bugfix">
10827<para lang="ru">
10828при использовании файлового AIO соединения с быстрыми клиентами
10829могли быть закрыты по истечению send_timeout.
10830</para>
10831<para lang="en">
10832connections with fast clients might be closed after send_timeout
10833if file AIO was used.
10834</para>
10835</change>
10836
10837<change type="bugfix">
10838<para lang="ru">
10839в модуле ngx_http_autoindex_module.
10840</para>
10841<para lang="en">
10842in the ngx_http_autoindex_module.
10843</para>
10844</change>
10845
10846<change type="bugfix">
10847<para lang="ru">
10848модуль ngx_http_mp4_module не поддерживал перемотку на 32-битных платформах.
10849</para>
10850<para lang="en">
10851the module ngx_http_mp4_module did not support seeking on 32-bit platforms.
10852</para>
10853</change>
10854
10855</changes>
10856
10857
10858<changes ver="1.1.5" date="2011-10-05">
10859
10860<change type="feature">
10861<para lang="ru">
10862директивы uwsgi_buffering и scgi_buffering.<br/>
10863Спасибо Peter Smit.
10864</para>
10865<para lang="en">
10866the "uwsgi_buffering" and "scgi_buffering" directives.<br/>
10867Thanks to Peter Smit.
10868</para>
10869</change>
10870
10871<change type="bugfix">
10872<para lang="ru">
10873при использовании proxy_cache_bypass могли быть закэшированы
10874некэшируемые ответы.<br/>
10875Спасибо John Ferlito.
10876</para>
10877<para lang="en">
10878non-cacheable responses might be cached if "proxy_cache_bypass" directive
10879was used.<br/>
10880Thanks to John Ferlito.
10881</para>
10882</change>
10883
10884<change type="bugfix">
10885<para lang="ru">
10886в модуле ngx_http_proxy_module при работе с бэкендами по HTTP/1.1.
10887</para>
10888<para lang="en">
10889in HTTP/1.1 support in the ngx_http_proxy_module.
10890</para>
10891</change>
10892
10893<change type="bugfix">
10894<para lang="ru">
10895закэшированные ответы с пустым телом возвращались некорректно;
10896ошибка появилась в 0.8.31.
10897</para>
10898<para lang="en">
10899cached responses with an empty body were returned incorrectly;
10900the bug had appeared in 0.8.31.
10901</para>
10902</change>
10903
10904<change type="bugfix">
10905<para lang="ru">
10906ответы с кодом 201 модуля ngx_http_dav_module были некорректны;
10907ошибка появилась в 0.8.32.
10908</para>
10909<para lang="en">
10910201 responses of the ngx_http_dav_module were incorrect;
10911the bug had appeared in 0.8.32.
10912</para>
10913</change>
10914
10915<change type="bugfix">
10916<para lang="ru">
10917в директиве return.
10918</para>
10919<para lang="en">
10920in the "return" directive.
10921</para>
10922</change>
10923
10924<change type="bugfix">
10925<para lang="ru">
10926при использовании директивы "ssl_session_cache builtin" происходил
10927segmentation fault;
10928ошибка появилась в 1.1.1.
10929</para>
10930<para lang="en">
10931the "ssl_session_cache builtin" directive caused segmentation fault;
10932the bug had appeared in 1.1.1.
10933</para>
10934</change>
10935
10936</changes>
10937
10938
10939<changes ver="1.1.4" date="2011-09-20">
10940
10941<change type="feature">
10942<para lang="ru">
10943модуль ngx_http_upstream_keepalive.
10944</para>
10945<para lang="en">
10946the ngx_http_upstream_keepalive module.
10947</para>
10948</change>
10949
10950<change type="feature">
10951<para lang="ru">
10952директива proxy_http_version.
10953</para>
10954<para lang="en">
10955the "proxy_http_version" directive.
10956</para>
10957</change>
10958
10959<change type="feature">
10960<para lang="ru">
10961директива fastcgi_keep_conn.
10962</para>
10963<para lang="en">
10964the "fastcgi_keep_conn" directive.
10965</para>
10966</change>
10967
10968<change type="feature">
10969<para lang="ru">
10970директива worker_aio_requests.
10971</para>
10972<para lang="en">
10973the "worker_aio_requests" directive.
10974</para>
10975</change>
10976
10977<change type="bugfix">
10978<para lang="ru">
10979если nginx был собран с файловым AIO,
10980он не мог запускаться на Linux без поддержки AIO.
10981</para>
10982<para lang="en">
10983if nginx was built --with-file-aio it could not be run on Linux
10984kernel which did not support AIO.
10985</para>
10986</change>
10987
10988<change type="bugfix">
10989<para lang="ru">
10990в обработке ошибок при работе с Linux AIO.
10991<br/>
10992Спасибо Hagai Avrahami.
10993</para>
10994<para lang="en">
10995in Linux AIO error processing.
10996<br/>
10997Thanks to Hagai Avrahami.
10998</para>
10999</change>
11000
11001<change type="bugfix">
11002<para lang="ru">
11003уменьшено потребление памяти для долгоживущих запросов.
11004</para>
11005<para lang="en">
11006reduced memory consumption for long-lived requests.
11007</para>
11008</change>
11009
11010<change type="bugfix">
11011<para lang="ru">
11012модуль ngx_http_mp4_module не поддерживал 64-битный MP4-атом co64.
11013</para>
11014<para lang="en">
11015the module ngx_http_mp4_module did not support 64-bit MP4 "co64" atom.
11016</para>
11017</change>
11018
11019</changes>
11020
11021
11022<changes ver="1.1.3" date="2011-09-14">
11023
11024<change type="feature">
11025<para lang="ru">
11026модуль ngx_http_mp4_module.
11027</para>
11028<para lang="en">
11029the module ngx_http_mp4_module.
11030</para>
11031</change>
11032
11033<change type="bugfix">
11034<para lang="ru">
11035в Linux AIO, используемым совместно с open_file_cache.
11036</para>
11037<para lang="en">
11038in Linux AIO combined with open_file_cache.
11039</para>
11040</change>
11041
11042<change type="bugfix">
11043<para lang="ru">
11044open_file_cache не обновлял информацию о файле,
11045если файл был изменён не атомарно.
11046</para>
11047<para lang="en">
11048open_file_cache did not update file info on retest
11049if file was not atomically changed.
11050</para>
11051</change>
11052
11053<change type="bugfix">
11054<para lang="ru">
11055nginx не собирался на MacOSX 10.7.
11056</para>
11057<para lang="en">
11058nginx could not be built on MacOSX 10.7.
11059</para>
11060</change>
11061
11062</changes>
11063
11064
11065<changes ver="1.1.2" date="2011-09-05">
11066
11067<change type="change">
11068<para lang="ru">
11069теперь, если суммарный размер всех диапазонов больше размера исходного ответа,
11070то nginx возвращает только исходный ответ, не обрабатывая диапазоны.
11071</para>
11072<para lang="en">
11073now if total size of all ranges is greater than source response size,
11074then nginx disables ranges and returns just the source response.
11075</para>
11076</change>
11077
11078<change type="feature">
11079<para lang="ru">
11080директива max_ranges.
11081</para>
11082<para lang="en">
11083the "max_ranges" directive.
11084</para>
11085</change>
11086
11087<change type="bugfix">
11088<para lang="ru">
11089директивы ssl_verify_client, ssl_verify_depth и ssl_prefer_server_cipher
11090могли работать некорректно, если использовался SNI.
11091</para>
11092<para lang="en">
11093the "ssl_verify_client", "ssl_verify_depth", and "ssl_prefer_server_ciphers"
11094directives might work incorrectly if SNI was used.
11095</para>
11096</change>
11097
11098<change type="bugfix">
11099<para lang="ru">
11100в директивах proxy/fastcgi/scgi/ uwsgi_ignore_client_abort.
11101</para>
11102<para lang="en">
11103in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort" directives.
11104</para>
11105</change>
11106
11107</changes>
11108
11109
11110<changes ver="1.1.1" date="2011-08-22">
11111
11112<change type="change">
11113<para lang="ru">
11114теперь загрузчик кэша за каждую итерацию либо обрабатывает число файлов,
11115указанное в параметре load_files, либо работает не дольше времени,
11116указанного в параметре loader_threshold.
11117</para>
11118<para lang="en">
11119now cache loader processes either as many files as specified by "loader_files"
11120parameter or works no longer than time specified by the "loader_threshold"
11121parameter during each iteration.
11122</para>
11123</change>
11124
11125<change type="change">
11126<para lang="ru">
11127SIGWINCH сигнал теперь работает только в режиме демона.
11128</para>
11129<para lang="en">
11130now SIGWINCH signal works only in daemon mode.
11131</para>
11132</change>
11133
11134<change type="feature">
11135<para lang="ru">
11136теперь разделяемые зоны и кэши используют семафоры POSIX на Solaris.<br/>
11137Спасибо Денису Иванову.
11138</para>
11139<para lang="en">
11140now shared zones and caches use POSIX semaphores on Solaris.<br/>
11141Thanks to Den Ivanov.
11142</para>
11143</change>
11144
11145<change type="feature">
11146<para lang="ru">
11147теперь на NetBSD поддерживаются accept фильтры.
11148</para>
11149<para lang="en">
11150accept filters are now supported on NetBSD.
11151</para>
11152</change>
11153
11154<change type="bugfix">
11155<para lang="ru">
11156nginx не собирался на Linux 3.0.
11157</para>
11158<para lang="en">
11159nginx could not be built on Linux 3.0.
11160</para>
11161</change>
11162
11163<change type="bugfix">
11164<para lang="ru">
11165в некоторых случаях nginx не использовал сжатие;
11166ошибка появилась в 1.1.0.
11167</para>
11168<para lang="en">
11169nginx did not use gzipping in some cases;
11170the bug had appeared in 1.1.0.
11171</para>
11172</change>
11173
11174<change type="bugfix">
11175<para lang="ru">
11176обработка тела запроса могла быть неверной, если клиент использовал pipelining.
11177</para>
11178<para lang="en">
11179request body might be processed incorrectly if client used pipelining.
11180</para>
11181</change>
11182
11183<change type="bugfix">
11184<para lang="ru">
11185в директиве request_body_in_single_buf.
11186</para>
11187<para lang="en">
11188in the "request_body_in_single_buf" directive.
11189</para>
11190</change>
11191
11192<change type="bugfix">
11193<para lang="ru">
11194в директивах proxy_set_body и proxy_pass_request_body
11195при использовании SSL-соединения с бэкендом.
11196</para>
11197<para lang="en">
11198in "proxy_set_body" and "proxy_pass_request_body" directives
11199if SSL connection to backend was used.
11200</para>
11201</change>
11202
11203<change type="bugfix">
11204<para lang="ru">
11205nginx нагружал процессор, если все серверы в upstream'е были помечены
11206флагом down.
11207</para>
11208<para lang="en">
11209nginx hogged CPU if all servers in an upstream were marked as "down".
11210</para>
11211</change>
11212
11213<change type="bugfix">
11214<para lang="ru">
11215при переконфигурации мог произойти segmentation fault,
11216если в предыдущей конфигурации был определён, но не использовался
11217ssl_session_cache.
11218</para>
11219<para lang="en">
11220a segmentation fault might occur during reconfiguration
11221if ssl_session_cache was defined but not used in previous configuration.
11222</para>
11223</change>
11224
11225<change type="bugfix">
11226<para lang="ru">
11227при использовании большого количества backup-серверов
11228в рабочем процессе мог произойти segmentation fault.
11229</para>
11230<para lang="en">
11231a segmentation fault might occur in a worker process
11232if many backup servers were used in an upstream.
11233</para>
11234</change>
11235
11236<change type="bugfix">
11237<para lang="ru">
11238при использовании директив fastcgi/scgi/uwsgi_param
11239со значениями, начинающимися со строки "HTTP_",
11240в рабочем процессе мог произойти segmentation fault;
11241ошибка появилась в 0.8.40.
11242</para>
11243<para lang="en">
11244a segmentation fault might occur in a worker process
11245if "fastcgi/scgi/uwsgi_param" directives were used
11246with values starting with "HTTP_";
11247the bug had appeared in 0.8.40.
11248</para>
11249</change>
11250
11251</changes>
11252
11253
11254<changes ver="1.1.0" date="2011-08-01">
11255
11256<change type="feature">
11257<para lang="ru">
11258уменьшение времени работы загрузчика кэша.
11259</para>
11260<para lang="en">
11261cache loader run time decrease.
11262</para>
11263</change>
11264
11265<change type="feature">
11266<para lang="ru">
11267параметры loader_files, loader_sleep и loader_threshold
11268директив proxy/fastcgi/scgi/uwsgi_cache_path.
11269</para>
11270<para lang="en">
11271"loader_files", "loader_sleep", and "loader_threshold" options
11272of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives.
11273</para>
11274</change>
11275
11276<change type="feature">
11277<para lang="ru">
11278уменьшение времени загрузки конфигураций с большим количеством HTTPS серверов.
11279</para>
11280<para lang="en">
11281loading time decrease of configuration with large number of HTTPS sites.
11282</para>
11283</change>
11284
11285<change type="feature">
11286<para lang="ru">
11287теперь nginx поддерживает шифры с обменом ECDHE-ключами.<br/>
11288Спасибо Adrian Kotelba.
11289</para>
11290<para lang="en">
11291now nginx supports ECDHE key exchange ciphers.<br/>
11292Thanks to Adrian Kotelba.
11293</para>
11294</change>
11295
11296<change type="feature">
11297<para lang="ru">
11298директива lingering_close.<br/>
11299Спасибо Максиму Дунину.
11300</para>
11301<para lang="en">
11302the "lingering_close" directive.<br/>
11303Thanks to Maxim Dounin.
11304</para>
11305</change>
11306
11307<change type="bugfix">
11308<para lang="ru">
11309закрытия соединения для pipelined-запросов.<br/>
11310Спасибо Максиму Дунину.
11311</para>
11312<para lang="en">
11313in closing connection for pipelined requests.<br/>
11314Thanks to Maxim Dounin.
11315</para>
11316</change>
11317
11318<change type="bugfix">
11319<para lang="ru">
11320nginx не запрещал сжатие при получении значения "gzip;q=0"
11321в строке "Accept-Encoding" в заголовке запроса клиента.
11322</para>
11323<para lang="en">
11324nginx did not disable gzipping if client sent "gzip;q=0" in
11325"Accept-Encoding" request header line.
11326</para>
11327</change>
11328
11329<change type="bugfix">
11330<para lang="ru">
11331таймаута при небуферизированном проксировании.<br/>
11332Спасибо Максиму Дунину.
11333</para>
11334<para lang="en">
11335in timeout in unbuffered proxied mode.<br/>
11336Thanks to Maxim Dounin.
11337</para>
11338</change>
11339
11340<change type="bugfix">
11341<para lang="ru">
11342утечки памяти при использовании переменных в директиве proxy_pass
11343при работе с бэкендом по HTTPS.<br/>
11344Спасибо Максиму Дунину.
11345</para>
11346<para lang="en">
11347memory leaks when a "proxy_pass" directive contains variables and proxies
11348to an HTTPS backend.<br/>
11349Thanks to Maxim Dounin.
11350</para>
11351</change>
11352
11353<change type="bugfix">
11354<para lang="ru">
11355в проверке параметра директивы proxy_pass, заданного переменными.<br/>
11356Спасибо Lanshun Zhou.
11357</para>
11358<para lang="en">
11359in parameter validation of a "proxy_pass" directive with variables.<br/>
11360Thanks to Lanshun Zhou.
11361</para>
11362</change>
11363
11364<change type="bugfix">
11365<para lang="ru">
11366SSL не работал на QNX.<br/>
11367Спасибо Максиму Дунину.
11368</para>
11369<para lang="en">
11370SSL did not work on QNX.<br/>
11371Thanks to Maxim Dounin.
11372</para>
11373</change>
11374
11375<change type="bugfix">
11376<para lang="ru">
11377SSL модули не собирались gcc 4.6 без параметра --with-debug.
11378</para>
11379<para lang="en">
11380SSL modules could not be built by gcc 4.6 without --with-debug option.
11381</para>
11382</change>
11383
11384</changes>
11385
11386
11387<changes ver="1.0.5" date="2011-07-19">
11388
11389<change type="change">
11390<para lang="ru">
11391теперь по умолчанию используются следующие шифры SSL: "HIGH:!aNULL:!MD5".<br/>
11392Спасибо Rob Stradling.
11393</para>
11394<para lang="en">
11395now default SSL ciphers are "HIGH:!aNULL:!MD5".<br/>
11396Thanks to Rob Stradling.
11397</para>
11398</change>
11399
11400<change type="feature">
11401<para lang="ru">
11402директивы referer_hash_max_size и referer_hash_bucket_size.<br/>
11403Спасибо Witold Filipczyk.
11404</para>
11405<para lang="en">
11406the "referer_hash_max_size" and "referer_hash_bucket_size"
11407directives.<br/>
11408Thanks to Witold Filipczyk.
11409</para>
11410</change>
11411
11412<change type="feature">
11413<para lang="ru">
11414переменная $uid_reset.
11415</para>
11416<para lang="en">
11417$uid_reset variable.
11418</para>
11419</change>
11420
11421<change type="bugfix">
11422<para lang="ru">
11423при использовании кэширования
11424в рабочем процессе мог произойти segmentation fault.<br/>
11425Спасибо Lanshun Zhou.
11426</para>
11427<para lang="en">
11428a segmentation fault might occur in a worker process,
11429if a caching was used.<br/>
11430Thanks to Lanshun Zhou.
11431</para>
11432</change>
11433
11434<change type="bugfix">
11435<para lang="ru">
11436при использовании кэширования рабочие процессы
11437могли зациклиться во время переконфигурации;
11438ошибка появилась в 0.8.48.<br/>
11439Спасибо Максиму Дунину.
11440</para>
11441<para lang="en">
11442worker processes may got caught in an endless loop during reconfiguration,
11443if a caching was used;
11444the bug had appeared in 0.8.48.<br/>
11445Thanks to Maxim Dounin.
11446</para>
11447</change>
11448
11449<change type="bugfix">
11450<para lang="ru">
11451сообщения "stalled cache updating".<br/>
11452Спасибо Максиму Дунину.
11453</para>
11454<para lang="en">
11455"stalled cache updating" alert.<br/>
11456Thanks to Maxim Dounin.
11457</para>
11458</change>
11459
11460</changes>
11461
11462
11463<changes ver="1.0.4" date="2011-06-01">
11464
11465<change type="change">
11466<para lang="ru">
11467теперь в регулярных выражениях в директиве map можно задать
11468чувствительность к регистру с помощью префиксов "~" и "~*".
11469</para>
11470<para lang="en">
11471now regular expressions case sensitivity in the "map" directive
11472is given by prefixes "~" or "~*".
11473</para>
11474</change>
11475
11476<change type="feature">
11477<para lang="ru">
11478теперь разделяемые зоны и кэши используют семафоры POSIX на Linux.<br/>
11479Спасибо Денису Латыпову.
11480</para>
11481<para lang="en">
11482now shared zones and caches use POSIX semaphores on Linux.<br/>
11483Thanks to Denis F. Latypoff.
11484</para>
11485</change>
11486
11487<change type="bugfix">
11488<para lang="ru">
11489сообщения "stalled cache updating".
11490</para>
11491<para lang="en">
11492"stalled cache updating" alert.
11493</para>
11494</change>
11495
11496<change type="bugfix">
11497<para lang="ru">
11498nginx не собирался с параметром --without-http_auth_basic_module;
11499ошибка появилась в 1.0.3.
11500</para>
11501<para lang="en">
11502nginx could not be built --without-http_auth_basic_module;
11503the bug had appeared in 1.0.3.
11504</para>
11505</change>
11506
11507</changes>
11508
11509
11510<changes ver="1.0.3" date="2011-05-25">
11511
11512<change type="feature">
11513<para lang="ru">
11514директива auth_basic_user_file поддерживает шифрование пароля
11515методами "$apr1", "{PLAIN}" и "{SSHA}".<br/>
11516Спасибо Максиму Дунину.
11517</para>
11518<para lang="en">
11519the "auth_basic_user_file" directive supports "$apr1", "{PLAIN}",
11520and "{SSHA}" password encryption methods.<br/>
11521Thanks to Maxim Dounin.
11522</para>
11523</change>
11524
11525<change type="feature">
11526<para lang="ru">
11527директива geoip_org и переменная $geoip_org.<br/>
11528Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
11529</para>
11530<para lang="en">
11531the "geoip_org" directive and $geoip_org variable.<br/>
11532Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff.
11533</para>
11534</change>
11535
11536<change type="feature">
11537<para lang="ru">
11538модули ngx_http_geo_module и ngx_http_geoip_module поддерживают
11539адреса IPv4, отображённые на IPv6 адреса.
11540</para>
11541<para lang="en">
11542ngx_http_geo_module and ngx_http_geoip_module support IPv4 addresses
11543mapped to IPv6 addresses.
11544</para>
11545</change>
11546
11547<change type="bugfix">
11548<para lang="ru">
11549при проверке адреса IPv4, отображённого на адрес IPv6,
11550в рабочем процессе происходил segmentation fault,
11551если директивы access или deny были определены только для адресов IPv6;
11552ошибка появилась в 0.8.22.
11553</para>
11554<para lang="en">
11555a segmentation fault occurred in a worker process
11556during testing IPv4 address mapped to IPv6 address,
11557if access or deny rules were defined only for IPv6;
11558the bug had appeared in 0.8.22.
11559</para>
11560</change>
11561
11562<change type="bugfix">
11563<para lang="ru">
11564закэшированный ответ мог быть испорчен, если значения директив
11565proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/ uwsgi_no_cache
11566были разными;
11567ошибка появилась в 0.8.46.
11568</para>
11569<para lang="en">
11570a cached response may be broken if "proxy/fastcgi/scgi/ uwsgi_cache_bypass"
11571and "proxy/fastcgi/scgi/uwsgi_no_cache" directive values were different;
11572the bug had appeared in 0.8.46.
11573</para>
11574</change>
11575
11576</changes>
11577
11578
11579<changes ver="1.0.2" date="2011-05-10">
11580
11581<change type="feature">
11582<para lang="ru">
11583теперь разделяемые зоны и кэши используют семафоры POSIX.
11584</para>
11585<para lang="en">
11586now shared zones and caches use POSIX semaphores.
11587</para>
11588</change>
11589
11590<change type="bugfix">
11591<para lang="ru">
11592в работе параметра rotate директивы image_filter.<br/>
11593Спасибо Adam Bocim.
11594</para>
11595<para lang="en">
11596in the "rotate" parameter of the "image_filter" directive.<br/>
11597Thanks to Adam Bocim.
11598</para>
11599</change>
11600
11601<change type="bugfix">
11602<para lang="ru">
11603nginx не собирался на Solaris;
11604ошибка появилась в 1.0.1.
11605</para>
11606<para lang="en">
11607nginx could not be built on Solaris;
11608the bug had appeared in 1.0.1.
11609</para>
11610</change>
11611
11612</changes>
11613
11614
11615<changes ver="1.0.1" date="2011-05-03">
11616
11617<change type="change">
11618<para lang="ru">
11619теперь директива split_clients использует алгоритм MurmurHash2 из-за
11620лучшего распределения.<br/>
11621Спасибо Олегу Мамонтову.
11622</para>
11623<para lang="en">
11624now the "split_clients" directive uses MurmurHash2 algorithm because
11625of better distribution.<br/>
11626Thanks to Oleg Mamontov.
11627</para>
11628</change>
11629
11630<change type="change">
11631<para lang="ru">
11632теперь длинные строки, начинающиеся с нуля, не считаются ложными
11633значениями.<br/>
11634Спасибо Максиму Дунину.
11635</para>
11636<para lang="en">
11637now long strings starting with zero are not considered as false values.<br/>
11638Thanks to Maxim Dounin.
11639</para>
11640</change>
11641
11642<change type="change">
11643<para lang="ru">
11644теперь по умолчанию nginx использует значение 511 для listen backlog на Linux.
11645</para>
11646<para lang="en">
11647now nginx uses a default listen backlog value 511 on Linux.
11648</para>
11649</change>
11650
11651<change type="feature">
11652<para lang="ru">
11653переменные $upstream_... можно использовать в SSI и перловом модулях.
11654</para>
11655<para lang="en">
11656the $upstream_... variables may be used in the SSI and perl modules.
11657</para>
11658</change>
11659
11660<change type="bugfix">
11661<para lang="ru">
11662теперь nginx лучше ограничивает размер кэша на диске.<br/>
11663Спасибо Олегу Мамонтову.
11664</para>
11665<para lang="en">
11666now nginx limits better disk cache size.<br/>
11667Thanks to Oleg Mamontov.
11668</para>
11669</change>
11670
11671<change type="bugfix">
11672<para lang="ru">
11673при парсинге неправильного IPv4 адреса мог произойти segmentation fault;
11674ошибка появилась в 0.8.22.<br/>
11675Спасибо Максиму Дунину.
11676</para>
11677<para lang="en">
11678a segmentation fault might occur while parsing incorrect IPv4 address;
11679the bug had appeared in 0.9.3.<br/>
11680Thanks to Maxim Dounin.
11681</para>
11682</change>
11683
11684<change type="bugfix">
11685<para lang="ru">
11686nginx не собирался gcc 4.6 без параметра --with-debug.
11687</para>
11688<para lang="en">
11689nginx could not be built by gcc 4.6 without --with-debug option.
11690</para>
11691</change>
11692
11693<change type="bugfix">
11694<para lang="ru">
11695nginx не собирался на Solaris 9 и более ранних;
11696ошибка появилась в 0.9.3.<br/>
11697Спасибо Dagobert Michelsen.
11698</para>
11699<para lang="en">
11700nginx could not be built on Solaris 9 and earlier;
11701the bug had appeared in 0.9.3.<br/>
11702Thanks to Dagobert Michelsen.
11703</para>
11704</change>
11705
11706<change type="bugfix">
11707<para lang="ru">
11708переменная $request_time имела неверные значения, если использовались
11709подзапросы;
11710ошибка появилась в 0.8.47.<br/>
11711Спасибо Игорю А. Валькову.
11712</para>
11713<para lang="en">
11714$request_time variable had invalid values if subrequests were used;
11715the bug had appeared in 0.8.47.<br/>
11716Thanks to Igor A. Valcov.
11717</para>
11718</change>
11719
11720</changes>
11721
11722
11723<changes ver="1.0.0" date="2011-04-12">
11724
11725<change type="bugfix">
11726<para lang="ru">
11727cache manager мог нагружать процессор после переконфигурации.<br/>
11728Спасибо Максиму Дунину.
11729</para>
11730<para lang="en">
11731a cache manager might hog CPU after reload.<br/>
11732Thanks to Maxim Dounin.
11733</para>
11734</change>
11735
11736<change type="bugfix">
11737<para lang="ru">
11738директива "image_filter crop" неправильно работала в сочетании с
11739"image_filter rotate 180".
11740</para>
11741<para lang="en">
11742an "image_filter crop" directive worked incorrectly coupled with
11743an "image_filter rotate 180" directive.
11744</para>
11745</change>
11746
11747<change type="bugfix">
11748<para lang="ru">
11749директива "satisfy any" запрещала выдачу пользовательской страницы
11750для 401 кода.
11751</para>
11752<para lang="en">
11753a "satisfy any" directive disabled custom 401 error page.
11754</para>
11755</change>
11756
11757</changes>
11758
11759
11760<changes ver="0.9.7" date="2011-04-04">
11761
11762<change type="feature">
11763<para lang="ru">
11764теперь соединения в состоянии keepalive могут быть закрыты преждевременно,
11765если у воркера нет свободных соединений.<br/>
11766Спасибо Максиму Дунину.
11767</para>
11768<para lang="en">
11769now keepalive connections may be closed premature,
11770if there are no free worker connections.<br/>
11771Thanks to Maxim Dounin.
11772</para>
11773</change>
11774
11775<change type="feature">
11776<para lang="ru">
11777параметр rotate директивы image_filter.<br/>
11778Спасибо Adam Bocim.
11779</para>
11780<para lang="en">
11781the "rotate" parameter of the "image_filter" directive.<br/>
11782Thanks to Adam Bocim.
11783</para>
11784</change>
11785
11786<change type="bugfix">
11787<para lang="ru">
11788ситуации, когда бэкенд в директивах fastcgi_pass, scgi_pass или uwsgi_pass
11789задан выражением и ссылается на описанный upstream.
11790</para>
11791<para lang="en">
11792a case when a backend in "fastcgi_pass", "scgi_pass", or "uwsgi_pass"
11793directives is given by expression and refers to a defined upstream.
11794</para>
11795</change>
11796
11797</changes>
11798
11799
11800<changes ver="0.9.6" date="2011-03-21">
11801
11802<change type="feature">
11803<para lang="ru">
11804директива map поддерживает регулярные выражения в качестве значения
11805первого параметра.
11806</para>
11807<para lang="en">
11808the "map" directive supports regular expressions as value of the first
11809parameter.
11810</para>
11811</change>
11812
11813<change type="feature">
11814<para lang="ru">
11815переменная $time_iso8601 для access_log.<br/>
11816Спасибо Michael Lustfield.
11817</para>
11818<para lang="en">
11819$time_iso8601 access_log variable.<br/>
11820Thanks to Michael Lustfield.
11821</para>
11822</change>
11823
11824</changes>
11825
11826
11827<changes ver="0.9.5" date="2011-02-21">
11828
11829<change type="change">
11830<para lang="ru">
11831теперь по умолчанию nginx использует значение -1 для listen backlog
11832на Linux.<br/>
11833Спасибо Андрею Нигматулину.
11834</para>
11835<para lang="en">
11836now nginx uses a default listen backlog value -1 on Linux.<br/>
11837Thanks to Andrei Nigmatulin.
11838</para>
11839</change>
11840
11841<change type="feature">
11842<para lang="ru">
11843параметр utf8 в директивах geoip_country и geoip_city.<br/>
11844Спасибо Денису Латыпову.
11845</para>
11846<para lang="en">
11847the "utf8" parameter of "geoip_country" and "geoip_city" directives.<br/>
11848Thanks to Denis F. Latypoff.
11849</para>
11850</change>
11851
11852<change type="bugfix">
11853<para lang="ru">
11854исправление в умолчательной директиве proxy_redirect, если в директиве
11855proxy_pass не был описан URI.<br/>
11856Спасибо Максиму Дунину.
11857</para>
11858<para lang="en">
11859in a default "proxy_redirect" directive if "proxy_pass" directive has no
11860URI part.<br/>
11861Thanks to Maxim Dounin.
11862</para>
11863</change>
11864
11865<change type="bugfix">
11866<para lang="ru">
11867директива error_page не работала с нестандартными кодами ошибок;
11868ошибка появилась в 0.8.53.<br/>
11869Спасибо Максиму Дунину.
11870</para>
11871<para lang="en">
11872an "error_page" directive did not work with nonstandard error codes;
11873the bug had appeared in 0.8.53.<br/>
11874Thanks to Maxim Dounin.
11875</para>
11876</change>
11877
11878</changes>
11879
11880
11881<changes ver="0.9.4" date="2011-01-21">
11882
11883<change type="feature">
11884<para lang="ru">
11885директива server_name поддерживает переменную $hostname.
11886</para>
11887<para lang="en">
11888the "server_name" directive supports the $hostname variable.
11889</para>
11890</change>
11891
11892<change type="feature">
11893<para lang="ru">
11894494 код для ошибки "Request Header Too Large".
11895</para>
11896<para lang="en">
11897494 code for "Request Header Too Large" error.
11898</para>
11899</change>
11900
11901</changes>
11902
11903
11904<changes ver="0.9.3" date="2010-12-13">
11905
11906<change type="bugfix">
11907<para lang="ru">
11908если для пары IPv6-адрес:порт описан только один сервер, то выделения
11909в регулярных выражениях в директиве server_name не работали.
11910</para>
11911<para lang="en">
11912if there was a single server for given IPv6 address:port pair,
11913then captures in regular expressions in a "server_name" directive did not work.
11914</para>
11915</change>
11916
11917<change type="bugfix">
11918<para lang="ru">
11919nginx не собирался под Solaris;
11920ошибка появилась в 0.9.0.
11921</para>
11922<para lang="en">
11923nginx could not be built on Solaris;
11924the bug had appeared in 0.9.0.
11925</para>
11926</change>
11927
11928</changes>
11929
11930
11931<changes ver="0.9.2" date="2010-12-06">
11932
11933<change type="feature">
11934<para lang="ru">
11935поддержка строки "If-Unmodified-Since" в заголовке запроса клиента.
11936</para>
11937<para lang="en">
11938the "If-Unmodified-Since" client request header line support.
11939</para>
11940</change>
11941
11942<change type="workaround">
11943<para lang="ru">
11944использование accept(), если accept4() не реализован;
11945ошибка появилась в 0.9.0.
11946</para>
11947<para lang="en">
11948fallback to accept() syscall if accept4() was not implemented;
11949the issue had appeared in 0.9.0.
11950</para>
11951</change>
11952
11953<change type="bugfix">
11954<para lang="ru">
11955nginx не собирался под Cygwin;
11956ошибка появилась в 0.9.0.
11957</para>
11958<para lang="en">
11959nginx could not be built on Cygwin;
11960the bug had appeared in 0.9.0.
11961</para>
11962</change>
11963
11964<change type="bugfix">
11965<para lang="ru">
11966уязвимости в OpenSSL CVE-2010-4180.<br/>
11967Спасибо Максиму Дунину.
11968</para>
11969<para lang="en">
11970for OpenSSL vulnerability CVE-2010-4180.<br/>
11971Thanks to Maxim Dounin.
11972</para>
11973</change>
11974
11975</changes>
11976
11977
11978<changes ver="0.9.1" date="2010-11-30">
11979
11980<change type="bugfix">
11981<para lang="ru">
11982директивы вида "return CODE message" не работали;
11983ошибка появилась в 0.9.0.
11984</para>
11985<para lang="en">
11986"return CODE message" directives did not work;
11987the bug had appeared in 0.9.0.
11988</para>
11989</change>
11990
11991</changes>
11992
11993
11994<changes ver="0.9.0" date="2010-11-29">
11995
11996<change type="feature">
11997<para lang="ru">
11998директива keepalive_disable.
11999</para>
12000<para lang="en">
12001the "keepalive_disable" directive.
12002</para>
12003</change>
12004
12005<change type="feature">
12006<para lang="ru">
12007директива map поддерживает переменные в качестве значения определяемой
12008переменной.
12009</para>
12010<para lang="en">
12011the "map" directive supports variables as value of a defined variable.
12012</para>
12013</change>
12014
12015<change type="feature">
12016<para lang="ru">
12017директива map поддерживает пустые строки в качестве значения первого параметра.
12018</para>
12019<para lang="en">
12020the "map" directive supports empty strings as value of the first parameter.
12021</para>
12022</change>
12023
12024<change type="feature">
12025<para lang="ru">
12026директива map поддерживает выражения в первом параметре.
12027</para>
12028<para lang="en">
12029the "map" directive supports expressions as the first parameter.
12030</para>
12031</change>
12032
12033<change type="feature">
12034<para lang="ru">
12035страница руководства nginx(8).<br/>
12036Спасибо Сергею Осокину.
12037</para>
12038<para lang="en">
12039nginx(8) manual page.<br/>
12040Thanks to Sergey Osokin.
12041</para>
12042</change>
12043
12044<change type="feature">
12045<para lang="ru">
12046поддержка accept4() в Linux.<br/>
12047Спасибо Simon Liu.
12048</para>
12049<para lang="en">
12050Linux accept4() support.<br/>
12051Thanks to Simon Liu.
12052</para>
12053</change>
12054
12055<change type="workaround">
12056<para lang="ru">
12057устранение предупреждения линкера о "sys_errlist" и "sys_nerr" под Linux;
12058предупреждение появилось в 0.8.35.
12059</para>
12060<para lang="en">
12061elimination of Linux linker warning about "sys_errlist" and "sys_nerr";
12062the warning had appeared in 0.8.35.
12063</para>
12064</change>
12065
12066<change type="bugfix">
12067<para lang="ru">
12068при использовании директивы auth_basic
12069в рабочем процессе мог произойти segmentation fault.<br/>
12070Спасибо Михаилу Лалетину.
12071</para>
12072<para lang="en">
12073a segmentation fault might occur in a worker process,
12074if the "auth_basic" directive was used.<br/>
12075Thanks to Michail Laletin.
12076</para>
12077</change>
12078
12079<change type="bugfix">
12080<para lang="ru">
12081совместимость с модулем ngx_http_eval_module;
12082ошибка появилась в 0.8.42.
12083</para>
12084<para lang="en">
12085compatibility with ngx_http_eval_module;
12086the bug had appeared in 0.8.42.
12087</para>
12088</change>
12089
12090</changes>
12091
12092
12093<changes ver="0.8.53" date="2010-10-18">
12094
12095<change type="feature">
12096<para lang="ru">
12097теперь директива error_page позволяет менять код статуса у редиректа.
12098</para>
12099<para lang="en">
12100now the "error_page" directive allows to change a status code in a redirect.
12101</para>
12102</change>
12103
12104<change type="feature">
12105<para lang="ru">
12106директива gzip_disable поддерживает специальную маску degradation.
12107</para>
12108<para lang="en">
12109the "gzip_disable" directive supports special "degradation" mask.
12110</para>
12111</change>
12112
12113<change type="bugfix">
12114<para lang="ru">
12115при использовании файлового AIO могла происходить утечка сокетов.<br/>
12116Спасибо Максиму Дунину.
12117</para>
12118<para lang="en">
12119a socket leak might occurred if file AIO was used.<br/>
12120Thanks to Maxim Dounin.
12121</para>
12122</change>
12123
12124<change type="bugfix">
12125<para lang="ru">
12126если в первом сервере не была описана директива listen и нигде явно
12127не описан сервер по умолчанию, то сервером по умолчанию становился
12128следующий сервер с директивой listen;
12129ошибка появилась в 0.8.21.
12130</para>
12131<para lang="en">
12132if the first server had no "listen" directive and there was no explicit
12133default server, then a next server with a "listen" directive became
12134the default server;
12135the bug had appeared in 0.8.21.
12136</para>
12137</change>
12138
12139</changes>
12140
12141
12142<changes ver="0.8.52" date="2010-09-28">
12143
12144<change type="bugfix">
12145<para lang="ru">
12146nginx использовал режим SSL для listen сокета, если для него был
12147установлен любой listen-параметр;
12148ошибка появилась в 0.8.51.
12149</para>
12150<para lang="en">
12151nginx used SSL mode for a listen socket if any listen option was set;
12152the bug had appeared in 0.8.51.
12153</para>
12154</change>
12155
12156</changes>
12157
12158
12159<changes ver="0.8.51" date="2010-09-27">
12160
12161<change type="change">
12162<para lang="ru">
12163директива secure_link_expires упразднена.
12164</para>
12165<para lang="en">
12166the "secure_link_expires" directive has been canceled.
12167</para>
12168</change>
12169
12170<change type="change">
12171<para lang="ru">
12172уровень логгирования ошибок resolver'а понижен с уровня alert на error.
12173</para>
12174<para lang="en">
12175a logging level of resolver errors has been lowered from "alert" to "error".
12176</para>
12177</change>
12178
12179<change type="feature">
12180<para lang="ru">
12181теперь параметр "ssl" listen-сокета можно устанавливать несколько раз.
12182</para>
12183<para lang="en">
12184now a listen socket "ssl" parameter may be set several times.
12185</para>
12186</change>
12187
12188</changes>
12189
12190
12191<changes ver="0.8.50" date="2010-09-02">
12192
12193<change type="feature">
12194<para lang="ru">
12195директивы secure_link, secure_link_md5 и secure_link_expires
12196модуля ngx_http_secure_link_module.
12197</para>
12198<para lang="en">
12199the "secure_link", "secure_link_md5", and "secure_link_expires" directives of
12200the ngx_http_secure_link_module.
12201</para>
12202</change>
12203
12204<change type="feature">
12205<para lang="ru">
12206ключ -q.<br/>
12207Спасибо Геннадию Махомеду.
12208</para>
12209<para lang="en">
12210the -q switch.<br/>
12211Thanks to Gena Makhomed.
12212</para>
12213</change>
12214
12215<change type="bugfix">
12216<para lang="ru">
12217при использовании кэширования рабочие процессы и могли зациклиться
12218во время переконфигурации;
12219ошибка появилась в 0.8.48.
12220</para>
12221<para lang="en">
12222worker processes may got caught in an endless loop during reconfiguration,
12223if a caching was used;
12224the bug had appeared in 0.8.48.
12225</para>
12226</change>
12227
12228<change type="bugfix">
12229<para lang="ru">
12230в директиве gzip_disable.<br/>
12231Спасибо Derrick Petzold.
12232</para>
12233<para lang="en">
12234in the "gzip_disable" directive.<br/>
12235Thanks to Derrick Petzold.
12236</para>
12237</change>
12238
12239<change type="bugfix">
12240<para lang="ru">
12241nginx/Windows не мог посылать сигналы stop, quit, reopen, reload процессу,
12242запущенному в другой сессии.
12243</para>
12244<para lang="en">
12245nginx/Windows could not send stop, quit, reopen, and reload signals
12246to a process run in other session.
12247</para>
12248</change>
12249
12250</changes>
12251
12252
12253<changes ver="0.8.49" date="2010-08-09">
12254
12255<change type="feature">
12256<para lang="ru">
12257директива image_filter_jpeg_quality поддерживает переменные.
12258</para>
12259<para lang="en">
12260the "image_filter_jpeg_quality" directive supports variables.
12261</para>
12262</change>
12263
12264<change type="bugfix">
12265<para lang="ru">
12266при использовании переменной $geoip_region_name
12267в рабочем процессе мог произойти segmentation fault;
12268ошибка появилась в 0.8.48.
12269</para>
12270<para lang="en">
12271a segmentation fault might occur in a worker process,
12272if the $geoip_region_name variables was used;
12273the bug had appeared in 0.8.48.
12274</para>
12275</change>
12276
12277<change type="bugfix">
12278<para lang="ru">
12279ошибки, перехваченные error_page, кэшировались только до следующего запроса;
12280ошибка появилась в 0.8.48.
12281</para>
12282<para lang="en">
12283errors intercepted by error_page were cached only for next request;
12284the bug had appeared in 0.8.48.
12285</para>
12286</change>
12287
12288</changes>
12289
12290
12291<changes ver="0.8.48" date="2010-08-03">
12292
12293<change type="change">
12294<para lang="ru">
12295теперь по умолчанию директива server_name имеет значение пустое имя "".<br/>
12296Спасибо Геннадию Махомеду.
12297</para>
12298<para lang="en">
12299now the "server_name" directive default value is an empty name "".<br/>
12300Thanks to Gena Makhomed.
12301</para>
12302</change>
12303
12304<change type="change">
12305<para lang="ru">
12306теперь по умолчанию директива server_name_in_redirect имеет значение off.
12307</para>
12308<para lang="en">
12309now the "server_name_in_redirect" directive default value is "off".
12310</para>
12311</change>
12312
12313<change type="feature">
12314<para lang="ru">
12315переменные $geoip_dma_code, $geoip_area_code и $geoip_region_name.<br/>
12316Спасибо Christine McGonagle.
12317</para>
12318<para lang="en">
12319the $geoip_dma_code, $geoip_area_code, and $geoip_region_name variables.<br/>
12320Thanks to Christine McGonagle.
12321</para>
12322</change>
12323
12324<change type="bugfix">
12325<para lang="ru">
12326директивы proxy_pass, fastcgi_pass, uwsgi_pass и scgi_pass не наследовались
12327в блоки limit_except.
12328</para>
12329<para lang="en">
12330the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and "scgi_pass" directives
12331were not inherited inside "limit_except" blocks.
12332</para>
12333</change>
12334
12335<change type="bugfix">
12336<para lang="ru">
12337директивы proxy_cache_min_uses, fastcgi_cache_min_uses
12338uwsgi_cache_min_uses и scgi_cache_min_uses не работали;
12339ошибка появилась в 0.8.46.
12340</para>
12341<para lang="en">
12342the "proxy_cache_min_uses", "fastcgi_cache_min_uses"
12343"uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not work;
12344the bug had appeared in 0.8.46.
12345</para>
12346</change>
12347
12348<change type="bugfix">
12349<para lang="ru">
12350директива fastcgi_split_path_info неверно использовала выделения,
12351если в выделения попадала только часть URI.<br/>
12352Спасибо Юрию Тарадаю и Frank Enderle.
12353</para>
12354<para lang="en">
12355the "fastcgi_split_path_info" directive used incorrectly captures,
12356if only parts of an URI were captured.<br/>
12357Thanks to Yuriy Taraday and Frank Enderle.
12358</para>
12359</change>
12360
12361<change type="bugfix">
12362<para lang="ru">
12363директива rewrite не экранировала символ ";" при копировании из URI
12364в аргументы.<br/>
12365Спасибо Daisuke Murase.
12366</para>
12367<para lang="en">
12368the "rewrite" directive did not escape a ";" character during copying
12369from URI to query string.<br/>
12370Thanks to Daisuke Murase.
12371</para>
12372</change>
12373
12374<change type="bugfix">
12375<para lang="ru">
12376модуль ngx_http_image_filter_module закрывал соединение,
12377если изображение было больше размера image_filter_buffer.
12378</para>
12379<para lang="en">
12380the ngx_http_image_filter_module closed a connection,
12381if an image was larger than "image_filter_buffer" size.
12382</para>
12383</change>
12384
12385</changes>
12386
12387
12388<changes ver="0.8.47" date="2010-07-28">
12389
12390<change type="bugfix">
12391<para lang="ru">
12392переменная $request_time имела неверные значения для подзапросов.
12393</para>
12394<para lang="en">
12395$request_time variable had invalid values for subrequests.
12396</para>
12397</change>
12398
12399<change type="bugfix">
12400<para lang="ru">
12401ошибки, перехваченные error_page, не кэшировались.
12402</para>
12403<para lang="en">
12404errors intercepted by error_page could not be cached.
12405</para>
12406</change>
12407
12408<change type="bugfix">
12409<para lang="ru">
12410если использовался параметр max_size, то cache manager мог зациклиться;
12411ошибка появилась в 0.8.46.
12412</para>
12413<para lang="en">
12414a cache manager process may got caught in an endless loop,
12415if max_size parameter was used;
12416the bug had appeared in 0.8.46.
12417</para>
12418</change>
12419
12420</changes>
12421
12422
12423<changes ver="0.8.46" date="2010-07-19">
12424
12425<change type="change">
12426<para lang="ru">
12427директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
12428и scgi_no_cache теперь влияют только на сохранение закэшированного ответа.
12429</para>
12430<para lang="en">
12431now the "proxy_no_cache", "fastcgi_no_cache", "uwsgi_no_cache", and
12432"scgi_no_cache" directives affect on a cached response saving only.
12433</para>
12434</change>
12435
12436<change type="feature">
12437<para lang="ru">
12438директивы proxy_cache_bypass, fastcgi_cache_bypass, uwsgi_cache_bypass
12439и scgi_cache_bypass.
12440</para>
12441<para lang="en">
12442the "proxy_cache_bypass", "fastcgi_cache_bypass", "uwsgi_cache_bypass",
12443and "scgi_cache_bypass" directives.
12444</para>
12445</change>
12446
12447<change type="bugfix">
12448<para lang="ru">
12449nginx не освобождал память в keys_zone кэшей в случае ошибки работы с
12450бэкендом: память освобождалась только по истечении времени неактивности
12451или при недостатке памяти.
12452</para>
12453<para lang="en">
12454nginx did not free memory in cache keys zones if there was an error
12455during working with backend: the memory was freed only after inactivity
12456time or on memory low condition.
12457</para>
12458</change>
12459
12460</changes>
12461
12462
12463<changes ver="0.8.45" date="2010-07-13">
12464
12465<change type="feature">
12466<para lang="ru">
12467улучшения в модуле ngx_http_xslt_filter.<br/>
12468Спасибо Laurence Rowe.
12469</para>
12470<para lang="en">
12471ngx_http_xslt_filter improvements.<br/>
12472Thanks to Laurence Rowe.
12473</para>
12474</change>
12475
12476<change type="bugfix">
12477<para lang="ru">
12478ответ SSI модуля мог передаваться не полностью после команды include
12479с параметром wait="yes";
12480ошибка появилась в 0.7.25.<br/>
12481Спасибо Максиму Дунину.
12482</para>
12483<para lang="en">
12484SSI response might be truncated after include with wait="yes";
12485the bug had appeared in 0.7.25.<br/>
12486Thanks to Maxim Dounin.
12487</para>
12488</change>
12489
12490<change type="bugfix">
12491<para lang="ru">
12492директива listen не поддерживала параметр setfib=0.
12493</para>
12494<para lang="en">
12495the "listen" directive did not support the "setfib=0" parameter.
12496</para>
12497</change>
12498
12499</changes>
12500
12501
12502<changes ver="0.8.44" date="2010-07-05">
12503
12504<change type="change">
12505<para lang="ru">
12506теперь nginx по умолчанию не кэширует ответы бэкендов,
12507в заголовке которых есть строка "Set-Cookie".
12508</para>
12509<para lang="en">
12510now nginx does not cache by default backend responses,
12511if they have a "Set-Cookie" header line.
12512</para>
12513</change>
12514
12515<change type="feature">
12516<para lang="ru">
12517директива listen поддерживает параметр setfib.<br/>
12518Спасибо Андрею Филонову.
12519</para>
12520<para lang="en">
12521the "listen" directive supports the "setfib" parameter.<br/>
12522Thanks to Andrew Filonov.
12523</para>
12524</change>
12525
12526<change type="bugfix">
12527<para lang="ru">
12528директива sub_filter могла изменять регистр букв при частичном совпадении.
12529</para>
12530<para lang="en">
12531the "sub_filter" directive might change character case on partial match.
12532</para>
12533</change>
12534
12535<change type="bugfix">
12536<para lang="ru">
12537совместимость с HP/UX.
12538</para>
12539<para lang="en">
12540compatibility with HP/UX.
12541</para>
12542</change>
12543
12544<change type="bugfix">
12545<para lang="ru">
12546совместимость с компилятором AIX xlC_r.
12547</para>
12548<para lang="en">
12549compatibility with AIX xlC_r compiler.
12550</para>
12551</change>
12552
12553<change type="bugfix">
12554<para lang="ru">
12555nginx считал большие пакеты SSLv2 как обычные текстовые запросы.<br/>
12556Спасибо Miroslaw Jaworski.
12557</para>
12558<para lang="en">
12559nginx treated large SSLv2 packets as plain requests.<br/>
12560Thanks to Miroslaw Jaworski.
12561</para>
12562</change>
12563
12564</changes>
12565
12566
12567<changes ver="0.8.43" date="2010-06-30">
12568
12569<change type="feature">
12570<para lang="ru">
12571ускорение загрузки больших баз geo-диапазонов.
12572</para>
12573<para lang="en">
12574large geo ranges base loading speed-up.
12575</para>
12576</change>
12577
12578<change type="bugfix">
12579<para lang="ru">
12580перенаправление ошибки в "location /zero {return 204;}" без изменения
12581кода ответа оставляло тело ошибки;
12582ошибка появилась в 0.8.42.
12583</para>
12584<para lang="en">
12585an error_page redirection to "location /zero {return 204;}" without
12586changing status code kept the error body;
12587the bug had appeared in 0.8.42.
12588</para>
12589</change>
12590
12591<change type="bugfix">
12592<para lang="ru">
12593nginx мог закрывать IPv6 listen сокет во время переконфигурации.<br/>
12594Спасибо Максиму Дунину.
12595</para>
12596<para lang="en">
12597nginx might close IPv6 listen socket during reconfiguration.<br/>
12598Thanks to Maxim Dounin.
12599</para>
12600</change>
12601
12602<change type="bugfix">
12603<para lang="ru">
12604переменную $uid_set можно использовать на любой стадии обработки запроса.
12605</para>
12606<para lang="en">
12607the $uid_set variable may be used at any request processing stage.
12608</para>
12609</change>
12610
12611</changes>
12612
12613
12614<changes ver="0.8.42" date="2010-06-21">
12615
12616<change type="change">
12617<para lang="ru">
12618теперь nginx проверяет location'ы, заданные регулярными выражениями,
12619если запрос полностью совпал с location'ом, заданным строкой префикса.
12620Предыдущее поведение появилось в 0.7.1.
12621</para>
12622<para lang="en">
12623now nginx tests locations given by regular expressions,
12624if request was matched exactly by a location given by a prefix string.
12625The previous behavior has been introduced in 0.7.1.
12626</para>
12627</change>
12628
12629<change type="feature">
12630<para lang="ru">
12631модуль ngx_http_scgi_module.<br/>
12632Спасибо Manlio Perillo.
12633</para>
12634<para lang="en">
12635the ngx_http_scgi_module.<br/>
12636Thanks to Manlio Perillo.
12637</para>
12638</change>
12639
12640<change type="feature">
12641<para lang="ru">
12642в директиве return можно добавлять текст ответа.
12643</para>
12644<para lang="en">
12645a text answer may be added to a "return" directive.
12646</para>
12647</change>
12648
12649</changes>
12650
12651
12652<changes ver="0.8.41" date="2010-06-15">
12653
12654<change type="security">
12655<para lang="ru">
12656рабочий процесс nginx/Windows мог завершаться аварийно при запросе файла
12657с неверной кодировкой UTF-8.
12658</para>
12659<para lang="en">
12660nginx/Windows worker might be terminated abnormally if a requested file name
12661has invalid UTF-8 encoding.
12662</para>
12663</change>
12664
12665<change type="change">
12666<para lang="ru">
12667теперь nginx разрешает использовать пробелы в строке запроса.
12668</para>
12669<para lang="en">
12670now nginx allows to use spaces in a request line.
12671</para>
12672</change>
12673
12674<change type="bugfix">
12675<para lang="ru">
12676директива proxy_redirect неправильно изменяла строку "Refresh" в заголовке
12677ответа бэкенда.<br/>
12678Спасибо Андрею Андрееву и Максиму Согину.
12679</para>
12680<para lang="en">
12681the "proxy_redirect" directive changed incorrectly a backend "Refresh"
12682response header line.<br/>
12683Thanks to Andrey Andreew and Max Sogin.
12684</para>
12685</change>
12686
12687<change type="bugfix">
12688<para lang="ru">
12689nginx не поддерживал путь без имени хоста в
12690строке "Destination" в заголовке запроса.
12691</para>
12692<para lang="en">
12693nginx did not support path without host name
12694in "Destination" request header line.
12695</para>
12696</change>
12697
12698</changes>
12699
12700
12701<changes ver="0.8.40" date="2010-06-07">
12702
12703<change type="security">
12704<para lang="ru">
12705теперь nginx/Windows игнорирует имя потока файла по умолчанию.<br/>
12706Спасибо Jose Antonio Vazquez Gonzalez.
12707</para>
12708<para lang="en">
12709now nginx/Windows ignores default file stream name.<br/>
12710Thanks to Jose Antonio Vazquez Gonzalez.
12711</para>
12712</change>
12713
12714<change type="feature">
12715<para lang="ru">
12716модуль ngx_http_uwsgi_module.<br/>
12717Спасибо Roberto De Ioris.
12718</para>
12719<para lang="en">
12720the ngx_http_uwsgi_module.<br/>
12721Thanks to Roberto De Ioris.
12722</para>
12723</change>
12724
12725<change type="feature">
12726<para lang="ru">
12727директива fastcgi_param со значением, начинающимся со строки "HTTP_",
12728изменяет строку заголовка в запросе клиента.
12729</para>
12730<para lang="en">
12731a "fastcgi_param" directive with value starting with "HTTP_" overrides
12732a client request header line.
12733</para>
12734</change>
12735
12736<change type="bugfix">
12737<para lang="ru">
12738строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса
12739клиента передавались FastCGI-серверу при кэшировании.
12740</para>
12741<para lang="en">
12742the "If-Modified-Since", "If-Range", etc. client request header lines
12743were passed to FastCGI-server while caching.
12744</para>
12745</change>
12746
12747<change type="bugfix">
12748<para lang="ru">
12749listen unix domain сокет нельзя было изменить во время переконфигурации.<br/>
12750Спасибо Максиму Дунину.
12751</para>
12752<para lang="en">
12753listen unix domain socket could not be changed during reconfiguration.<br/>
12754Thanks to Maxim Dounin.
12755</para>
12756</change>
12757
12758</changes>
12759
12760
12761<changes ver="0.8.39" date="2010-05-31">
12762
12763<change type="bugfix">
12764<para lang="ru">
12765наследуемая директива alias неправильно работала во вложенном location'е.
12766</para>
12767<para lang="en">
12768an inherited "alias" directive worked incorrectly in inclusive location.
12769</para>
12770</change>
12771
12772<change type="bugfix">
12773<para lang="ru">
12774в комбинации директив alias с переменными и try_files;
12775</para>
12776<para lang="en">
12777in "alias" with variables and "try_files" directives combination.
12778</para>
12779</change>
12780
12781<change type="bugfix">
12782<para lang="ru">
12783listen unix domain и IPv6 сокеты не наследовались во время обновления
12784без перерыва.<br/>
12785Спасибо Максиму Дунину.
12786</para>
12787<para lang="en">
12788listen unix domain and IPv6 sockets did not inherit while online upgrade.<br/>
12789Thanks to Maxim Dounin.
12790</para>
12791</change>
12792
12793</changes>
12794
12795
12796<changes ver="0.8.38" date="2010-05-24">
12797
12798<change type="feature">
12799<para lang="ru">
12800директивы proxy_no_cache и fastcgi_no_cache.
12801</para>
12802<para lang="en">
12803the "proxy_no_cache" and "fastcgi_no_cache" directives.
12804</para>
12805</change>
12806
12807<change type="feature">
12808<para lang="ru">
12809теперь при использовании переменной $scheme в директиве rewrite
12810автоматически делается редирект.<br/>
12811Спасибо Piotr Sikora.
12812</para>
12813<para lang="en">
12814now the "rewrite" directive does a redirect automatically
12815if the $scheme variable is used.<br/>
12816Thanks to Piotr Sikora.
12817</para>
12818</change>
12819
12820<change type="bugfix">
12821<para lang="ru">
12822теперь задержки в директиве limit_req соответствует описанному алгоритму.<br/>
12823Спасибо Максиму Дунину.
12824</para>
12825<para lang="en">
12826now "limit_req" delay directive conforms to the described algorithm.<br/>
12827Thanks to Maxim Dounin.
12828</para>
12829</change>
12830
12831<change type="bugfix">
12832<para lang="ru">
12833переменную $uid_got нельзя было использовать в SSI и перловом модулях.
12834</para>
12835<para lang="en">
12836the $uid_got variable might not be used in the SSI and perl modules.
12837</para>
12838</change>
12839
12840</changes>
12841
12842
12843<changes ver="0.8.37" date="2010-05-17">
12844
12845<change type="feature">
12846<para lang="ru">
12847модуль ngx_http_split_clients_module.
12848</para>
12849<para lang="en">
12850the ngx_http_split_clients_module.
12851</para>
12852</change>
12853
12854<change type="feature">
12855<para lang="ru">
12856директива map поддерживает ключи больше 255 символов.
12857</para>
12858<para lang="en">
12859the "map" directive supports keys more than 255 characters.
12860</para>
12861</change>
12862
12863<change type="bugfix">
12864<para lang="ru">
12865nginx игнорировал значения "private" и "no-store" в строке "Cache-Control"
12866в заголовке ответа бэкенда.
12867</para>
12868<para lang="en">
12869nginx ignored the "private" and "no-store" values
12870in the "Cache-Control" backend response header line.
12871</para>
12872</change>
12873
12874<change type="bugfix">
12875<para lang="ru">
12876параметр stub в SSI-директиве include не использовался,
12877если пустой ответ имел код 200.
12878</para>
12879<para lang="en">
12880a "stub" parameter of an "include" SSI directive was not used,
12881if empty response has 200 status code.
12882</para>
12883</change>
12884
12885<change type="bugfix">
12886<para lang="ru">
12887если проксированный или FastCGI запрос внутренне перенаправлялся
12888в другой проксированный или FastCGI location,
12889то в рабочем процессе мог произойти segmentation fault;
12890ошибка появилась в 0.8.33.<br/>
12891Спасибо Yichun Zhang.
12892</para>
12893<para lang="en">
12894if a proxied or FastCGI request was internally redirected
12895to another proxied or FastCGI location,
12896then a segmentation fault might occur in a worker process;
12897the bug had appeared in 0.8.33.<br/>
12898Thanks to Yichun Zhang.
12899</para>
12900</change>
12901
12902<change type="bugfix">
12903<para lang="ru">
12904соединения IMAP к серверу Zimbra могло зависнуть до таймаута.<br/>
12905Спасибо Alan Batie.
12906</para>
12907<para lang="en">
12908IMAP connections may hang until they timed out
12909while talking to Zimbra server.<br/>
12910Thanks to Alan Batie.
12911</para>
12912</change>
12913
12914</changes>
12915
12916
12917<changes ver="0.8.36" date="2010-04-22">
12918
12919<change type="bugfix">
12920<para lang="ru">
12921модуль ngx_http_dav_module неправильно обрабатывал методы DELETE, COPY и MOVE
12922для симлинков.
12923</para>
12924<para lang="en">
12925the ngx_http_dav_module handled incorrectly the DELETE, COPY, and MOVE methods
12926for symlinks.
12927</para>
12928</change>
12929
12930<change type="bugfix">
12931<para lang="ru">
12932модуль SSI в подзапросах использовал закэшированные в основном запросе
12933значения переменных $query_string, $arg_... и им подобных.
12934</para>
12935<para lang="en">
12936values of the $query_string, $arg_..., etc. variables cached in main
12937request were used by the SSI module in subrequests.
12938</para>
12939</change>
12940
12941<change type="bugfix">
12942<para lang="ru">
12943значение переменной повторно экранировалось после каждого вывода
12944SSI-команды echo;
12945ошибка появилась в 0.6.14.
12946</para>
12947<para lang="en">
12948a variable value was repeatedly encoded after each
12949an "echo" SSI-command output;
12950the bug had appeared in 0.6.14.
12951</para>
12952</change>
12953
12954<change type="bugfix">
12955<para lang="ru">
12956рабочий процесс зависал при запросе файла FIFO.<br/>
12957Спасибо Vicente Aguilar и Максиму Дунину.
12958</para>
12959<para lang="en">
12960a worker process hung if a FIFO file was requested.<br/>
12961Thanks to Vicente Aguilar and Maxim Dounin.
12962</para>
12963</change>
12964
12965<change type="bugfix">
12966<para lang="ru">
12967совместимость с OpenSSL-1.0.0 на 64-битном Linux.<br/>
12968Спасибо Максиму Дунину.
12969</para>
12970<para lang="en">
12971OpenSSL-1.0.0 compatibility on 64-bit Linux.<br/>
12972Thanks to Maxim Dounin.
12973</para>
12974</change>
12975
12976<change type="bugfix">
12977<para lang="ru">
12978nginx не собирался с параметром --without-http-cache;
12979ошибка появилась в 0.8.35.
12980</para>
12981<para lang="en">
12982nginx could not be built --without-http-cache;
12983the bug had appeared in 0.8.35.
12984</para>
12985</change>
12986
12987</changes>
12988
12989
12990<changes ver="0.8.35" date="2010-04-01">
12991
12992<change type="change">
12993<para lang="ru">
12994теперь charset-фильтр работает до SSI-фильтра.
12995</para>
12996<para lang="en">
12997now the charset filter runs before the SSI filter.
12998</para>
12999</change>
13000
13001<change type="feature">
13002<para lang="ru">
13003директива chunked_transfer_encoding.
13004</para>
13005<para lang="en">
13006the "chunked_transfer_encoding" directive.
13007</para>
13008</change>
13009
13010<change type="bugfix">
13011<para lang="ru">
13012символ "&amp;" при копировании в аргументы в правилах rewrite не экранировался.
13013</para>
13014<para lang="en">
13015an "&amp;" character was not escaped when it was copied in arguments part
13016in a rewrite rule.
13017</para>
13018</change>
13019
13020<change type="bugfix">
13021<para lang="ru">
13022nginx мог завершаться аварийно во время обработки сигнала или
13023при использовании директивы timer_resolution на платформах,
13024не поддерживающих методы kqueue или eventport.<br/>
13025Спасибо George Xie и Максиму Дунину.
13026</para>
13027<para lang="en">
13028nginx might be terminated abnormally
13029while a signal processing or if the directive "timer_resolution" was used
13030on platforms which do not support kqueue or eventport notification methods.<br/>
13031Thanks to George Xie and Maxim Dounin.
13032</para>
13033</change>
13034
13035<change type="bugfix">
13036<para lang="ru">
13037если временные файлы и постоянное место хранения располагались на разных
13038файловых системах, то у постоянных файлов время изменения было неверным.<br/>
13039Спасибо Максиму Дунину.
13040</para>
13041<para lang="en">
13042if temporary files and permanent storage area resided at different
13043file systems, then permanent file modification times were incorrect.<br/>
13044Thanks to Maxim Dounin.
13045</para>
13046</change>
13047
13048<change type="bugfix">
13049<para lang="ru">
13050модуль ngx_http_memcached_module мог выдавать ошибку "memcached sent invalid
13051trailer".<br/>
13052Спасибо Максиму Дунину.
13053</para>
13054<para lang="en">
13055ngx_http_memcached_module might issue the error message "memcached sent invalid
13056trailer".<br/>
13057Thanks to Maxim Dounin.
13058</para>
13059</change>
13060
13061<change type="bugfix">
13062<para lang="ru">
13063nginx не мог собрать библиотеку zlib-1.2.4 из исходных текстов.<br/>
13064Спасибо Максиму Дунину.
13065</para>
13066<para lang="en">
13067nginx could not built zlib-1.2.4 library using the library sources.<br/>
13068Thanks to Maxim Dounin.
13069</para>
13070</change>
13071
13072<change type="bugfix">
13073<para lang="ru">
13074в рабочем процессе происходил segmentation fault,
13075если перед ответом FastCGI-сервера было много вывода в stderr;
13076ошибка появилась в 0.8.34.<br/>
13077Спасибо Максиму Дунину.
13078</para>
13079<para lang="en">
13080a segmentation fault occurred in a worker process,
13081if there was large stderr output before FastCGI response;
13082the bug had appeared in 0.8.34.<br/>
13083Thanks to Maxim Dounin.
13084</para>
13085</change>
13086
13087</changes>
13088
13089
13090<changes ver="0.8.34" date="2010-03-03">
13091
13092<change type="bugfix">
13093<para lang="ru">
13094nginx не поддерживал все шифры, используемые в клиентских сертификатах.<br/>
13095Спасибо Иннокентию Еникееву.
13096</para>
13097<para lang="en">
13098nginx did not support all ciphers and digests used in client certificates.<br/>
13099Thanks to Innocenty Enikeew.
13100</para>
13101</change>
13102
13103<change type="bugfix">
13104<para lang="ru">
13105nginx неправильно кэшировал FastCGI-ответы, если перед ответом было
13106много вывода в stderr.
13107</para>
13108<para lang="en">
13109nginx cached incorrectly FastCGI responses if there was large stderr output
13110before response.
13111</para>
13112</change>
13113
13114<change type="bugfix">
13115<para lang="ru">
13116nginx не поддерживал HTTPS-рефереры.
13117</para>
13118<para lang="en">
13119nginx did not support HTTPS referrers.
13120</para>
13121</change>
13122
13123<change type="bugfix">
13124<para lang="ru">
13125nginx/Windows мог не находить файлы, если путь в конфигурации был задан
13126в другом регистре;
13127ошибка появилась в 0.8.33.
13128</para>
13129<para lang="en">
13130nginx/Windows might not find file if path in configuration was given
13131in other character case;
13132the bug had appeared in 0.8.33.
13133</para>
13134</change>
13135
13136<change type="bugfix">
13137<para lang="ru">
13138переменная $date_local выдавала неверное время,
13139если использовался формат "%s".<br/>
13140Спасибо Максиму Дунину.
13141</para>
13142<para lang="en">
13143the $date_local variable has an incorrect value,
13144if the "%s" format was used.<br/>
13145Thanks to Maxim Dounin.
13146</para>
13147</change>
13148
13149<change type="bugfix">
13150<para lang="ru">
13151если ssl_session_cache не был установлен или установлен в none,
13152то при проверке клиентского сертификаты могла происходить
13153ошибка "session id context uninitialized";
13154ошибка появилась в 0.7.1.
13155</para>
13156<para lang="en">
13157if ssl_session_cache was not set or was set to "none",
13158then during client certificate verify
13159the error "session id context uninitialized" might occur;
13160the bug had appeared in 0.7.1.
13161</para>
13162</change>
13163
13164<change type="bugfix">
13165<para lang="ru">
13166geo-диапазон возвращал значение по умолчанию, если диапазон включал
13167в себя одну и более сетей размером /16 и не начинался на границе сети
13168размером /16.
13169</para>
13170<para lang="en">
13171a geo range returned default value if the range included two or more
13172/16 networks and did not begin at /16 network boundary.
13173</para>
13174</change>
13175
13176<change type="bugfix">
13177<para lang="ru">
13178блок, используемый в параметре stub в SSI-директиве include,
13179выводился с MIME-типом "text/plain".
13180</para>
13181<para lang="en">
13182a block used in a "stub" parameter of an "include" SSI directive
13183was output with "text/plain" MIME type.
13184</para>
13185</change>
13186
13187<change type="bugfix">
13188<para lang="ru">
13189$r->sleep() не работал;
13190ошибка появилась в 0.8.11.
13191</para>
13192<para lang="en">
13193$r->sleep() did not work;
13194the bug had appeared in 0.8.11.
13195</para>
13196</change>
13197
13198</changes>
13199
13200
13201<changes ver="0.8.33" date="2010-02-01">
13202
13203<change type="security">
13204<para lang="ru">
13205теперь nginx/Windows игнорирует пробелы в конце URI.<br/>
13206Спасибо Dan Crowley, Core Security Technologies.
13207</para>
13208<para lang="en">
13209now nginx/Windows ignores trailing spaces in URI.<br/>
13210Thanks to Dan Crowley, Core Security Technologies.
13211</para>
13212</change>
13213
13214<change type="security">
13215<para lang="ru">
13216теперь nginx/Windows игнорирует короткие имена файлов.<br/>
13217Спасибо Dan Crowley, Core Security Technologies.
13218</para>
13219<para lang="en">
13220now nginx/Windows ignores short files names.<br/>
13221Thanks to Dan Crowley, Core Security Technologies.
13222</para>
13223</change>
13224
13225<change type="change">
13226<para lang="ru">
13227теперь keepalive соединения после запросов POST не запрещаются для
13228MSIE 7.0+.<br/>
13229Спасибо Adam Lounds.
13230</para>
13231<para lang="en">
13232now keepalive connections after POST requests are not disabled for
13233MSIE 7.0+.<br/>
13234Thanks to Adam Lounds.
13235</para>
13236</change>
13237
13238<change type="workaround">
13239<para lang="ru">
13240теперь keepalive соединения запрещены для Safari.<br/>
13241Спасибо Joshua Sierles.
13242</para>
13243<para lang="en">
13244now keepalive connections are disabled for Safari.<br/>
13245Thanks to Joshua Sierles.
13246</para>
13247</change>
13248
13249<change type="bugfix">
13250<para lang="ru">
13251если проксированный или FastCGI запрос внутренне перенаправлялся
13252в другой проксированный или FastCGI location, то переменная
13253$upstream_response_time могла иметь ненормально большое значение;
13254ошибка появилась в 0.8.7.
13255</para>
13256<para lang="en">
13257if a proxied or FastCGI request was internally redirected
13258to another proxied or FastCGI location,
13259then $upstream_response_time variable may have abnormally large value;
13260the bug had appeared in 0.8.7.
13261</para>
13262</change>
13263
13264<change type="bugfix">
13265<para lang="ru">
13266в рабочем процессе мог произойти segmentation fault
13267при отбрасывания тела запроса;
13268ошибка появилась в 0.8.11.
13269</para>
13270<para lang="en">
13271a segmentation fault might occur in a worker process,
13272while discarding a request body;
13273the bug had appeared in 0.8.11.
13274</para>
13275</change>
13276
13277</changes>
13278
13279
13280<changes ver="0.8.32" date="2010-01-11">
13281
13282<change type="bugfix">
13283<para lang="ru">
13284ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module.<br/>
13285Спасибо Максиму Дунину.
13286</para>
13287<para lang="en">
13288UTF-8 encoding usage in the ngx_http_autoindex_module.<br/>
13289Thanks to Maxim Dounin.
13290</para>
13291</change>
13292
13293<change type="bugfix">
13294<para lang="ru">
13295именованные выделения в регулярных выражениях работали только для
13296двух переменных.<br/>
13297Спасибо Максиму Дунину.
13298</para>
13299<para lang="en">
13300regular expression named captures worked for two names only.<br/>
13301Thanks to Maxim Dounin.
13302</para>
13303</change>
13304
13305<change type="bugfix">
13306<para lang="ru">
13307теперь в строке заголовка запроса "Host" используется имя "localhost",
13308если в директиве auth_http указан unix domain сокет.<br/>
13309Спасибо Максиму Дунину.
13310</para>
13311<para lang="en">
13312now the "localhost" name is used in the "Host" request header line,
13313if an unix domain socket is defined in the "auth_http" directive.<br/>
13314Thanks to Maxim Dounin.
13315</para>
13316</change>
13317
13318<change type="bugfix">
13319<para lang="ru">
13320nginx не поддерживал передачу chunk'ами для 201-ых ответов.<br/>
13321Спасибо Julian Reich.
13322</para>
13323<para lang="en">
13324nginx did not support chunked transfer encoding for 201 responses.<br/>
13325Thanks to Julian Reich.
13326</para>
13327</change>
13328
13329<change type="bugfix">
13330<para lang="ru">
13331если директива "expires modified" выставляла дату в прошлом, то в строке
13332заголовка ответа "Cache-Control" выдавалось отрицательное число.<br/>
13333Спасибо Алексею Капранову.
13334</para>
13335<para lang="en">
13336if the "expires modified" set date in the past, then a negative number
13337was set in the "Cache-Control" response header line.<br/>
13338Thanks to Alex Kapranoff.
13339</para>
13340</change>
13341
13342</changes>
13343
13344
13345<changes ver="0.8.31" date="2009-12-23">
13346
13347<change type="feature">
13348<para lang="ru">
13349теперь директива error_page может перенаправлять ответы со статусом 301 и 302.
13350</para>
13351<para lang="en">
13352now the "error_page" directive may redirect the 301 and 302 responses.
13353</para>
13354</change>
13355
13356<change type="feature">
13357<para lang="ru">
13358переменные $geoip_city_continent_code, $geoip_latitude и $geoip_longitude.<br/>
13359Спасибо Arvind Sundararajan.
13360</para>
13361<para lang="en">
13362the $geoip_city_continent_code, $geoip_latitude, and $geoip_longitude
13363variables.<br/>
13364Thanks to Arvind Sundararajan.
13365</para>
13366</change>
13367
13368<change type="feature">
13369<para lang="ru">
13370модуль ngx_http_image_filter_module теперь всегда удаляет
13371EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
13372</para>
13373<para lang="en">
13374now the ngx_http_image_filter_module deletes always EXIF and other
13375application specific data if the data consume more than 5% of a JPEG file.
13376</para>
13377</change>
13378
13379<change type="bugfix">
13380<para lang="ru">
13381nginx закрывал соединение при запросе закэшированного
13382ответа с пустым телом.<br/>
13383Спасибо Piotr Sikora.
13384</para>
13385<para lang="en">
13386nginx closed a connection if a cached response had an empty body.<br/>
13387Thanks to Piotr Sikora.
13388</para>
13389</change>
13390
13391<change type="bugfix">
13392<para lang="ru">
13393nginx мог не собираться gcc 4.x при использовании оптимизации -O2 и выше.<br/>
13394Спасибо Максиму Дунину и Денису Латыпову.
13395</para>
13396<para lang="en">
13397nginx might not be built by gcc 4.x if the -O2 or higher optimization option
13398was used.<br/>
13399Thanks to Maxim Dounin and Denis F. Latypoff.
13400</para>
13401</change>
13402
13403<change type="bugfix">
13404<para lang="ru">
13405регулярные выражения в location всегда тестировались с учётом регистра;
13406ошибка появилась в 0.8.25.
13407</para>
13408<para lang="en">
13409regular expressions in location were always tested in case-sensitive mode;
13410the bug had appeared in 0.8.25.
13411</para>
13412</change>
13413
13414<change type="bugfix">
13415<para lang="ru">
13416nginx кэшировал 304 ответ, если в заголовке проксируемого запроса
13417была строка "If-None-Match".<br/>
13418Спасибо Tim Dettrick и David Kostal.
13419</para>
13420<para lang="en">
13421nginx cached a 304 response if there was the "If-None-Match" header line
13422in a proxied request.<br/>
13423Thanks to Tim Dettrick and David Kostal.
13424</para>
13425</change>
13426
13427<change type="bugfix">
13428<para lang="ru">
13429nginx/Windows пытался дважды удалить временный файл
13430при перезаписи уже существующего файла.
13431</para>
13432<para lang="en">
13433nginx/Windows tried to delete a temporary file twice
13434if the file should replace an already existent file.
13435</para>
13436</change>
13437
13438</changes>
13439
13440
13441<changes ver="0.8.30" date="2009-12-15">
13442
13443<change type="change">
13444<para lang="ru">
13445теперь по умолчанию размер буфера директивы large_client_header_buffers
13446равен 8K.<br/>
13447Спасибо Andrew Cholakian.
13448</para>
13449<para lang="en">
13450now the default buffer size of the "large_client_header_buffers"
13451directive is 8K.<br/>
13452Thanks to Andrew Cholakian.
13453</para>
13454</change>
13455
13456<change type="feature">
13457<para lang="ru">
13458файл conf/fastcgi.conf для простых конфигураций FastCGI.
13459</para>
13460<para lang="en">
13461the conf/fastcgi.conf for simple FastCGI configurations.
13462</para>
13463</change>
13464
13465<change type="bugfix">
13466<para lang="ru">
13467nginx/Windows пытался дважды переименовать временный файл
13468при перезаписи уже существующего файла.
13469</para>
13470<para lang="en">
13471nginx/Windows tried to rename a temporary file twice if the file
13472should replace an already existent file.
13473</para>
13474</change>
13475
13476<change type="bugfix">
13477<para lang="ru">
13478ошибки double free or corruption, возникающей, если имя хоста не было найдено;
13479ошибка появилась в 0.8.22.<br/>
13480Спасибо Константину Свисту.
13481</para>
13482<para lang="en">
13483of "double free or corruption" error issued if host could not be resolved;
13484the bug had appeared in 0.8.22.<br/>
13485Thanks to Konstantin Svist.
13486</para>
13487</change>
13488
13489<change type="bugfix">
13490<para lang="ru">
13491в использовании libatomic на некоторых платформах.<br/>
13492Спасибо W-Mark Kubacki.
13493</para>
13494<para lang="en">
13495in libatomic usage on some platforms.<br/>
13496Thanks to W-Mark Kubacki.
13497</para>
13498</change>
13499
13500</changes>
13501
13502
13503<changes ver="0.8.29" date="2009-11-30">
13504
13505<change type="change">
13506<para lang="ru">
13507теперь для проксируемых ответов HTTP/0.9 в лог пишется код ответа "009".
13508</para>
13509<para lang="en">
13510now the "009" status code is written to an access log for proxied HTTP/0.9
13511responses.
13512</para>
13513</change>
13514
13515<change type="feature">
13516<para lang="ru">
13517директивы addition_types, charset_types, gzip_types, ssi_types,
13518sub_filter_types и xslt_types поддерживают параметр "*".
13519</para>
13520<para lang="en">
13521the "addition_types", "charset_types", "gzip_types", "ssi_types",
13522"sub_filter_types", and "xslt_types" directives support an "*" parameter.
13523</para>
13524</change>
13525
13526<change type="feature">
13527<para lang="ru">
13528использование встроенных атомарных операций GCC 4.1+.<br/>
13529Спасибо W-Mark Kubacki.
13530</para>
13531<para lang="en">
13532GCC 4.1+ built-in atomic operations usage.<br/>
13533Thanks to W-Mark Kubacki.
13534</para>
13535</change>
13536
13537<change type="feature">
13538<para lang="ru">
13539параметр --with-libatomic[=DIR] в configure.<br/>
13540Спасибо W-Mark Kubacki.
13541</para>
13542<para lang="en">
13543the --with-libatomic[=DIR] option in the configure.<br/>
13544Thanks to W-Mark Kubacki.
13545</para>
13546</change>
13547
13548<change type="bugfix">
13549<para lang="ru">
13550listen unix domain сокет имели ограниченные права доступа.
13551</para>
13552<para lang="en">
13553listen unix domain socket had limited access rights.
13554</para>
13555</change>
13556
13557<change type="bugfix">
13558<para lang="ru">
13559закэшированные ответы ответов HTTP/0.9 неправильно обрабатывались.
13560</para>
13561<para lang="en">
13562cached HTTP/0.9 responses were handled incorrectly.
13563</para>
13564</change>
13565
13566<change type="bugfix">
13567<para lang="ru">
13568именованные выделения в регулярных выражениях, заданные как "?P&lt;...&gt;",
13569не работали в директиве server_name.<br/>
13570Спасибо Максиму Дунину.
13571</para>
13572<para lang="en">
13573regular expression named captures given by "?P&lt;...&gt;" did not work
13574in a "server_name" directive.<br/>
13575Thanks to Maxim Dounin.
13576</para>
13577</change>
13578
13579</changes>
13580
13581
13582<changes ver="0.8.28" date="2009-11-23">
13583
13584<change type="bugfix">
13585<para lang="ru">
13586nginx не собирался с параметром --without-pcre;
13587ошибка появилась в 0.8.25.
13588</para>
13589<para lang="en">
13590nginx could not be built with the --without-pcre parameter;
13591the bug had appeared in 0.8.25.
13592</para>
13593</change>
13594
13595</changes>
13596
13597
13598<changes ver="0.8.27" date="2009-11-17">
13599
13600<change type="bugfix">
13601<para lang="ru">
13602регулярные выражения не работали в nginx/Windows;
13603ошибка появилась в 0.8.25.
13604</para>
13605<para lang="en">
13606regular expressions did not work in nginx/Windows;
13607the bug had appeared in 0.8.25.
13608</para>
13609</change>
13610
13611</changes>
13612
13613
13614<changes ver="0.8.26" date="2009-11-16">
13615
13616<change type="bugfix">
13617<para lang="ru">
13618ошибки при использовании выделений в директиве rewrite;
13619ошибка появилась в 0.8.25.
13620</para>
13621<para lang="en">
13622in captures usage in "rewrite" directive;
13623the bug had appeared in 0.8.25.
13624</para>
13625</change>
13626
13627<change type="bugfix">
13628<para lang="ru">
13629nginx не собирался без параметра --with-debug;
13630ошибка появилась в 0.8.25.
13631</para>
13632<para lang="en">
13633nginx could not be built without the --with-debug option;
13634the bug had appeared in 0.8.25.
13635</para>
13636</change>
13637
13638</changes>
13639
13640
13641<changes ver="0.8.25" date="2009-11-16">
13642
13643<change type="change">
13644<para lang="ru">
13645теперь в лог ошибок не пишется сообщение, если переменная не найдена
13646с помощью метода $r->variable().
13647</para>
13648<para lang="en">
13649now no message is written in an error log if a variable is not found by
13650$r->variable() method.
13651</para>
13652</change>
13653
13654<change type="feature">
13655<para lang="ru">
13656модуль ngx_http_degradation_module.
13657</para>
13658<para lang="en">
13659the ngx_http_degradation_module.
13660</para>
13661</change>
13662
13663<change type="feature">
13664<para lang="ru">
13665именованные выделения в регулярных выражениях.
13666</para>
13667<para lang="en">
13668regular expression named captures.
13669</para>
13670</change>
13671
13672<change type="feature">
13673<para lang="ru">
13674теперь при использовании переменных в директиве proxy_pass не требуется
13675задавать URI.
13676</para>
13677<para lang="en">
13678now URI part is not required a "proxy_pass" directive if variables are used.
13679</para>
13680</change>
13681
13682<change type="feature">
13683<para lang="ru">
13684теперь директива msie_padding работает и для Chrome.
13685</para>
13686<para lang="en">
13687now the "msie_padding" directive works for Chrome too.
13688</para>
13689</change>
13690
13691<change type="bugfix">
13692<para lang="ru">
13693в рабочем процессе происходил segmentation fault при недостатке памяти;
13694ошибка появилась в 0.8.18.
13695</para>
13696<para lang="en">
13697a segmentation fault occurred in a worker process on low memory condition;
13698the bug had appeared in 0.8.18.
13699</para>
13700</change>
13701
13702<change type="bugfix">
13703<para lang="ru">
13704nginx передавал сжатые ответы клиентам, не поддерживающим сжатие,
13705при настройках gzip_static on и gzip_vary off;
13706ошибка появилась в 0.8.16.
13707</para>
13708<para lang="en">
13709nginx sent gzipped responses to clients those do not support gzip,
13710if "gzip_static on" and "gzip_vary off";
13711the bug had appeared in 0.8.16.
13712</para>
13713</change>
13714
13715</changes>
13716
13717
13718<changes ver="0.8.24" date="2009-11-11">
13719
13720<change type="bugfix">
13721<para lang="ru">
13722nginx всегда добавлял строку "Content-Encoding: gzip" в заголовок
13723304-ых ответов модуля ngx_http_gzip_static_module.
13724</para>
13725<para lang="en">
13726nginx always added "Content-Encoding: gzip" response header line
13727in 304 responses sent by ngx_http_gzip_static_module.
13728</para>
13729</change>
13730
13731<change type="bugfix">
13732<para lang="ru">
13733nginx не собирался без параметра --with-debug;
13734ошибка появилась в 0.8.23.
13735</para>
13736<para lang="en">
13737nginx could not be built without the --with-debug option;
13738the bug had appeared in 0.8.23.
13739</para>
13740</change>
13741
13742<change type="bugfix">
13743<para lang="ru">
13744параметр "unix:" в директиве set_real_ip_from неправильно наследовался
13745с предыдущего уровня.
13746</para>
13747<para lang="en">
13748the "unix:" parameter of the "set_real_ip_from" directive inherited
13749incorrectly from previous level.
13750</para>
13751</change>
13752
13753<change type="bugfix">
13754<para lang="ru">
13755в resolver'е при определении пустого имени.
13756</para>
13757<para lang="en">
13758in resolving empty name.
13759</para>
13760</change>
13761
13762</changes>
13763
13764
13765<changes ver="0.8.23" date="2009-11-11">
13766
13767<change type="security">
13768<para lang="ru">
13769теперь SSL/TLS renegotiation запрещён.<br/>
13770Спасибо Максиму Дунину.
13771</para>
13772<para lang="en">
13773now SSL/TLS renegotiation is disabled.<br/>
13774Thanks to Maxim Dounin.
13775</para>
13776</change>
13777
13778<change type="bugfix">
13779<para lang="ru">
13780listen unix domain сокет не наследовался во время обновления без перерыва.
13781</para>
13782<para lang="en">
13783listen unix domain socket did not inherit while online upgrade.
13784</para>
13785</change>
13786
13787<change type="bugfix">
13788<para lang="ru">
13789параметр "unix:" в директиве set_real_ip_from не работал без ещё
13790одной директивы с любым IP-адресом.
13791</para>
13792<para lang="en">
13793the "unix:" parameter of the "set_real_ip_from" directive did not without
13794yet another directive with any IP address.
13795</para>
13796</change>
13797
13798<change type="bugfix">
13799<para lang="ru">
13800segmentation fault и зацикливания в resolver'е.
13801</para>
13802<para lang="en">
13803segmentation fault and infinite looping in resolver.
13804</para>
13805</change>
13806
13807<change type="bugfix">
13808<para lang="ru">
13809в resolver'е.<br/>
13810Спасибо Артёму Бохану.
13811</para>
13812<para lang="en">
13813in resolver.<br/>
13814Thanks to Artem Bokhan.
13815</para>
13816</change>
13817
13818</changes>
13819
13820
13821<changes ver="0.8.22" date="2009-11-03">
13822
13823<change type="feature">
13824<para lang="ru">
13825директивы proxy_bind, fastcgi_bind и memcached_bind.
13826</para>
13827<para lang="en">
13828the "proxy_bind", "fastcgi_bind", and "memcached_bind" directives.
13829</para>
13830</change>
13831
13832<change type="feature">
13833<para lang="ru">
13834директивы access и deny поддерживают IPv6.
13835</para>
13836<para lang="en">
13837the "access" and the "deny" directives support IPv6.
13838</para>
13839</change>
13840
13841<change type="feature">
13842<para lang="ru">
13843директива set_real_ip_from поддерживает IPv6 адреса в заголовках запроса.
13844</para>
13845<para lang="en">
13846the "set_real_ip_from" directive supports IPv6 addresses in request headers.
13847</para>
13848</change>
13849
13850<change type="feature">
13851<para lang="ru">
13852параметр "unix:" в директиве set_real_ip_from.
13853</para>
13854<para lang="en">
13855the "unix:" parameter of the "set_real_ip_from" directive.
13856</para>
13857</change>
13858
13859<change type="bugfix">
13860<para lang="ru">
13861nginx не удалял unix domain сокет после тестирования конфигурации.
13862</para>
13863<para lang="en">
13864nginx did not delete unix domain socket after configuration testing.
13865</para>
13866</change>
13867
13868<change type="bugfix">
13869<para lang="ru">
13870nginx удалял unix domain сокет во время обновления без перерыва.
13871</para>
13872<para lang="en">
13873nginx deleted unix domain socket while online upgrade.
13874</para>
13875</change>
13876
13877<change type="bugfix">
13878<para lang="ru">
13879оператор "!-x" не работал.<br/>
13880Спасибо Максиму Дунину.
13881</para>
13882<para lang="en">
13883the "!-x" operator did not work.<br/>
13884Thanks to Maxim Dounin.
13885</para>
13886</change>
13887
13888<change type="bugfix">
13889<para lang="ru">
13890в рабочем процессе мог произойти segmentation fault
13891при использовании limit_rate в HTTPS сервере.<br/>
13892Спасибо Максиму Дунину.
13893</para>
13894<para lang="en">
13895a segmentation fault might occur in a worker process,
13896if limit_rate was used in HTTPS server.<br/>
13897Thanks to Maxim Dounin.
13898</para>
13899</change>
13900
13901<change type="bugfix">
13902<para lang="ru">
13903при записи в лог переменной $limit_rate
13904в рабочем процессе происходил segmentation fault.<br/>
13905Спасибо Максиму Дунину.
13906</para>
13907<para lang="en">
13908a segmentation fault might occur in a worker process
13909while $limit_rate logging.<br/>
13910Thanks to Maxim Dounin.
13911</para>
13912</change>
13913
13914<change type="bugfix">
13915<para lang="ru">
13916в рабочем процессе мог произойти segmentation fault,
13917если внутри блока server не было директивы listen;
13918ошибка появилась в 0.8.21.
13919</para>
13920<para lang="en">
13921a segmentation fault might occur in a worker process,
13922if there was no "listen" directive in "server" block;
13923the bug had appeared in 0.8.21.
13924</para>
13925</change>
13926
13927</changes>
13928
13929
13930<changes ver="0.8.21" date="2009-10-26">
13931
13932<change type="feature">
13933<para lang="ru">
13934теперь ключ -V показывает статус поддержки TLS SNI.
13935</para>
13936<para lang="en">
13937now the "-V" switch shows TLS SNI support.
13938</para>
13939</change>
13940
13941<change type="feature">
13942<para lang="ru">
13943директива listen модуля HTTP поддерживает unix domain сокеты.<br/>
13944Спасибо Hongli Lai.
13945</para>
13946<para lang="en">
13947the "listen" directive of the HTTP module supports unix domain sockets.<br/>
13948Thanks to Hongli Lai.
13949</para>
13950</change>
13951
13952<change type="feature">
13953<para lang="ru">
13954параметр "default_server" в директиве listen.
13955</para>
13956<para lang="en">
13957the "default_server" parameter of the "listen" directive.
13958</para>
13959</change>
13960
13961<change type="feature">
13962<para lang="ru">
13963теперь параметр "default" не обязателен для установки параметров listen-сокета.
13964</para>
13965<para lang="en">
13966now a "default" parameter is not required to set listen socket options.
13967</para>
13968</change>
13969
13970<change type="bugfix">
13971<para lang="ru">
13972nginx не поддерживал даты в 2038 году на 32-битных платформах;
13973</para>
13974<para lang="en">
13975nginx did not support dates in 2038 year on 32-bit platforms;
13976</para>
13977</change>
13978
13979<change type="bugfix">
13980<para lang="ru">
13981утечки сокетов;
13982ошибка появилась в 0.8.11.
13983</para>
13984<para lang="en">
13985socket leak;
13986the bug had appeared in 0.8.11.
13987</para>
13988</change>
13989
13990</changes>
13991
13992
13993<changes ver="0.8.20" date="2009-10-14">
13994
13995<change type="change">
13996<para lang="ru">
13997теперь по умолчанию используются следующие шифры SSL: "HIGH:!ADH:!MD5".
13998</para>
13999<para lang="en">
14000now default SSL ciphers are "HIGH:!ADH:!MD5".
14001</para>
14002</change>
14003
14004<change type="bugfix">
14005<para lang="ru">
14006модуль ngx_http_autoindex_module не показывал последний слэш для линков
14007на каталоги;
14008ошибка появилась в 0.7.15.
14009</para>
14010<para lang="en">
14011the ngx_http_autoindex_module did not show the trailing slash in links to
14012a directory;
14013the bug had appeared in 0.7.15.
14014</para>
14015</change>
14016
14017<change type="bugfix">
14018<para lang="ru">
14019nginx не закрывал лог, заданный параметром конфигурации --error-log-path;
14020ошибка появилась в 0.7.53.
14021</para>
14022<para lang="en">
14023nginx did not close a log file set by the --error-log-path configuration option;
14024the bug had appeared in 0.7.53.
14025</para>
14026</change>
14027
14028<change type="bugfix">
14029<para lang="ru">
14030nginx не считал запятую разделителем в строке "Cache-Control" в
14031заголовке ответа бэкенда.
14032</para>
14033<para lang="en">
14034nginx did not treat a comma as separator in the "Cache-Control" backend response
14035header line.
14036</para>
14037</change>
14038
14039<change type="bugfix">
14040<para lang="ru">
14041nginx/Windows мог не создать временный файл, файл в кэше или файл
14042с помощью директив proxy/fastcgi_store, если рабочий процесс не имел
14043достаточно прав для работы с каталогами верхнего уровня.
14044</para>
14045<para lang="en">
14046nginx/Windows might not create temporary file, a cache file, or
14047"proxy/fastcgi_store"d file if a worker had no enough access rights
14048for top level directories.
14049</para>
14050</change>
14051
14052<change type="bugfix">
14053<para lang="ru">
14054строки "Set-Cookie" и "P3P" в заголовке ответа FastCGI-сервера не скрывались
14055при кэшировании, если не использовались директивы fastcgi_hide_header
14056с любыми параметрами.
14057</para>
14058<para lang="en">
14059the "Set-Cookie" and "P3P" FastCGI response header lines were not hidden
14060while caching if no "fastcgi_hide_header" directives were used with
14061any parameters.
14062</para>
14063</change>
14064
14065<change type="bugfix">
14066<para lang="ru">
14067nginx неверно считал размер кэша на диске.
14068</para>
14069<para lang="en">
14070nginx counted incorrectly disk cache size.
14071</para>
14072</change>
14073
14074</changes>
14075
14076
14077<changes ver="0.8.19" date="2009-10-06">
14078
14079<change type="change">
14080<para lang="ru">
14081теперь протокол SSLv2 по умолчанию запрещён.
14082</para>
14083<para lang="en">
14084now SSLv2 protocol is disabled by default.
14085</para>
14086</change>
14087
14088<change type="change">
14089<para lang="ru">
14090теперь по умолчанию используются следующие шифры SSL:
14091"ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
14092</para>
14093<para lang="en">
14094now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
14095</para>
14096</change>
14097
14098<change type="bugfix">
14099<para lang="ru">
14100директива limit_req не работала;
14101ошибка появилась в 0.8.18.
14102</para>
14103<para lang="en">
14104a "limit_req" directive did not work;
14105the bug had appeared in 0.8.18.
14106</para>
14107</change>
14108
14109</changes>
14110
14111
14112<changes ver="0.8.18" date="2009-10-06">
14113
14114<change type="feature">
14115<para lang="ru">
14116директива read_ahead.
14117</para>
14118<para lang="en">
14119the "read_ahead" directive.
14120</para>
14121</change>
14122
14123<change type="feature">
14124<para lang="ru">
14125теперь можно использовать несколько директив perl_modules.
14126</para>
14127<para lang="en">
14128now several "perl_modules" directives may be used.
14129</para>
14130</change>
14131
14132<change type="feature">
14133<para lang="ru">
14134директивы limit_req_log_level и limit_conn_log_level.
14135</para>
14136<para lang="en">
14137the "limit_req_log_level" and "limit_conn_log_level" directives.
14138</para>
14139</change>
14140
14141<change type="bugfix">
14142<para lang="ru">
14143теперь директива limit_req соответствует алгоритму leaky bucket.<br/>
14144Спасибо Максиму Дунину.
14145</para>
14146<para lang="en">
14147now "limit_req" directive conforms to the leaky bucket algorithm.<br/>
14148Thanks to Maxim Dounin.
14149</para>
14150</change>
14151
14152<change type="bugfix">
14153<para lang="ru">
14154nginx не работал на Linux/sparc.<br/>
14155Спасибо Marcus Ramberg.
14156</para>
14157<para lang="en">
14158nginx did not work on Linux/sparc.<br/>
14159Thanks to Marcus Ramberg.
14160</para>
14161</change>
14162
14163<change type="bugfix">
14164<para lang="ru">
14165nginx слал символ '\0' в строке "Location" в заголовке в ответе на запрос
14166MKCOL.<br/>
14167Спасибо Xie Zhenye.
14168</para>
14169<para lang="en">
14170nginx sent '\0' in a "Location" response header line on MKCOL request.<br/>
14171Thanks to Xie Zhenye.
14172</para>
14173</change>
14174
14175<change type="bugfix">
14176<para lang="ru">
14177вместо кода ответа 499 в лог записывался код 0;
14178ошибка появилась в 0.8.11.
14179</para>
14180<para lang="en">
14181zero status code was logged instead of 499 status code;
14182the bug had appeared in 0.8.11.
14183</para>
14184</change>
14185
14186<change type="bugfix">
14187<para lang="ru">
14188утечки сокетов;
14189ошибка появилась в 0.8.11.
14190</para>
14191<para lang="en">
14192socket leak;
14193the bug had appeared in 0.8.11.
14194</para>
14195</change>
14196
14197</changes>
14198
14199
14200<changes ver="0.8.17" date="2009-09-28">
14201
14202<change type="security">
14203<para lang="ru">
14204теперь символы "/../" запрещены в строке "Destination" в заголовке запроса.
14205</para>
14206<para lang="en">
14207now "/../" are disabled in "Destination" request header line.
14208</para>
14209</change>
14210
14211<change type="change">
14212<para lang="ru">
14213теперь значение переменной $host всегда в нижнем регистре.
14214</para>
14215<para lang="en">
14216now $host variable value is always low case.
14217</para>
14218</change>
14219
14220<change type="feature">
14221<para lang="ru">
14222переменная $ssl_session_id.
14223</para>
14224<para lang="en">
14225the $ssl_session_id variable.
14226</para>
14227</change>
14228
14229<change type="bugfix">
14230<para lang="ru">
14231утечки сокетов;
14232ошибка появилась в 0.8.11.
14233</para>
14234<para lang="en">
14235socket leak;
14236the bug had appeared in 0.8.11.
14237</para>
14238</change>
14239
14240</changes>
14241
14242
14243<changes ver="0.8.16" date="2009-09-22">
14244
14245<change type="feature">
14246<para lang="ru">
14247директива image_filter_transparency.
14248</para>
14249<para lang="en">
14250the "image_filter_transparency" directive.
14251</para>
14252</change>
14253
14254<change type="bugfix">
14255<para lang="ru">
14256директива "addition_types" была неверно названа "addtion_types".
14257</para>
14258<para lang="en">
14259"addition_types" directive was incorrectly named "addtion_types".
14260</para>
14261</change>
14262
14263<change type="bugfix">
14264<para lang="ru">
14265порчи кэша resolver'а.<br/>
14266Спасибо Matthew Dempsky.
14267</para>
14268<para lang="en">
14269resolver cache poisoning.<br/>
14270Thanks to Matthew Dempsky.
14271</para>
14272</change>
14273
14274<change type="bugfix">
14275<para lang="ru">
14276утечки памяти в resolver'е.<br/>
14277Спасибо Matthew Dempsky.
14278</para>
14279<para lang="en">
14280memory leak in resolver.<br/>
14281Thanks to Matthew Dempsky.
14282</para>
14283</change>
14284
14285<change type="bugfix">
14286<para lang="ru">
14287неверная строка запроса в переменной $request записывалась в access_log
14288только при использовании error_log на уровне info или debug.
14289</para>
14290<para lang="en">
14291invalid request line in $request variable was written in access_log
14292only if error_log was set to "info" or "debug" level.
14293</para>
14294</change>
14295
14296<change type="bugfix">
14297<para lang="ru">
14298в поддержке альфа-канала PNG в модуле ngx_http_image_filter_module.
14299</para>
14300<para lang="en">
14301in PNG alpha-channel support in the ngx_http_image_filter_module.
14302</para>
14303</change>
14304
14305<change type="bugfix">
14306<para lang="ru">
14307nginx всегда добавлял строку "Vary: Accept-Encoding" в заголовок ответа,
14308если обе директивы gzip_static и gzip_vary были включены.
14309</para>
14310<para lang="en">
14311nginx always added "Vary: Accept-Encoding" response header line,
14312if both "gzip_static" and "gzip_vary" were on.
14313</para>
14314</change>
14315
14316<change type="bugfix">
14317<para lang="ru">
14318в поддержке кодировки UTF-8 директивой try_files в nginx/Windows.
14319</para>
14320<para lang="en">
14321in UTF-8 encoding support by "try_files" directive in nginx/Windows.
14322</para>
14323</change>
14324
14325<change type="bugfix">
14326<para lang="ru">
14327ошибки при использовании post_action;
14328ошибка появилась в 0.8.11.<br/>
14329Спасибо Игорю Артемьеву.
14330</para>
14331<para lang="en">
14332in "post_action" directive usage;
14333the bug had appeared in 0.8.11.<br/>
14334Thanks to Igor Artemiev.
14335</para>
14336</change>
14337
14338</changes>
14339
14340
14341<changes ver="0.8.15" date="2009-09-14">
14342
14343<change type="security">
14344<para lang="ru">
14345при обработке специально созданного запроса
14346в рабочем процессе мог произойти segmentation fault.<br/>
14347Спасибо Chris Ries.
14348</para>
14349<para lang="en">
14350a segmentation fault might occur in worker process
14351while specially crafted request handling.<br/>
14352Thanks to Chris Ries.
14353</para>
14354</change>
14355
14356<change type="bugfix">
14357<para lang="ru">
14358если были описаны имена .domain.tld, .sub.domain.tld и .domain-some.tld,
14359то имя .sub.domain.tld попадало под маску .domain.tld.
14360</para>
14361<para lang="en">
14362if names .domain.tld, .sub.domain.tld, and .domain-some.tld were defined,
14363then the name .sub.domain.tld was matched by .domain.tld.
14364</para>
14365</change>
14366
14367<change type="bugfix">
14368<para lang="ru">
14369в поддержке прозрачности в модуле ngx_http_image_filter_module.
14370</para>
14371<para lang="en">
14372in transparency support in the ngx_http_image_filter_module.
14373</para>
14374</change>
14375
14376<change type="bugfix">
14377<para lang="ru">
14378в файловом AIO.
14379</para>
14380<para lang="en">
14381in file AIO.
14382</para>
14383</change>
14384
14385<change type="bugfix">
14386<para lang="ru">
14387ошибки при использовании X-Accel-Redirect;
14388ошибка появилась в 0.8.11.
14389</para>
14390<para lang="en">
14391in X-Accel-Redirect usage;
14392the bug had appeared in 0.8.11.
14393</para>
14394</change>
14395
14396<change type="bugfix">
14397<para lang="ru">
14398ошибки при использовании встроенного перла;
14399ошибка появилась в 0.8.11.
14400</para>
14401<para lang="en">
14402in embedded perl module;
14403the bug had appeared in 0.8.11.
14404</para>
14405</change>
14406
14407</changes>
14408
14409
14410<changes ver="0.8.14" date="2009-09-07">
14411
14412<change type="bugfix">
14413<para lang="ru">
14414устаревший закэшированный запрос мог залипнуть в состоянии "UPDATING".
14415</para>
14416<para lang="en">
14417an expired cached response might stick in the "UPDATING" state.
14418</para>
14419</change>
14420
14421<change type="bugfix">
14422<para lang="ru">
14423при использовании error_log на уровне info или debug
14424в рабочем процессе мог произойти segmentation fault.<br/>
14425Спасибо Сергею Боченкову.
14426</para>
14427<para lang="en">
14428a segmentation fault might occur in worker process,
14429if error_log was set to info or debug level.<br/>
14430Thanks to Sergey Bochenkov.
14431</para>
14432</change>
14433
14434<change type="bugfix">
14435<para lang="ru">
14436ошибки при использовании встроенного перла;
14437ошибка появилась в 0.8.11.
14438</para>
14439<para lang="en">
14440in embedded perl module;
14441the bug had appeared in 0.8.11.
14442</para>
14443</change>
14444
14445<change type="bugfix">
14446<para lang="ru">
14447директива error_page не перенаправляла ошибку 413;
14448ошибка появилась в 0.6.10.
14449</para>
14450<para lang="en">
14451an "error_page" directive did not redirect a 413 error;
14452the bug had appeared in 0.6.10.
14453</para>
14454</change>
14455
14456</changes>
14457
14458
14459<changes ver="0.8.13" date="2009-08-31">
14460
14461<change type="bugfix">
14462<para lang="ru">
14463в директиве "aio sendfile";
14464ошибка появилась в 0.8.12.
14465</para>
14466<para lang="en">
14467in the "aio sendfile" directive;
14468the bug had appeared in 0.8.12.
14469</para>
14470</change>
14471
14472<change type="bugfix">
14473<para lang="ru">
14474nginx не собирался без параметра --with-file-aio на FreeBSD;
14475ошибка появилась в 0.8.12.
14476</para>
14477<para lang="en">
14478nginx could not be built without the --with-file-aio option on FreeBSD;
14479the bug had appeared in 0.8.12.
14480</para>
14481</change>
14482
14483</changes>
14484
14485
14486<changes ver="0.8.12" date="2009-08-31">
14487
14488<change type="feature">
14489<para lang="ru">
14490параметр sendfile в директиве aio во FreeBSD.
14491</para>
14492<para lang="en">
14493the "sendfile" parameter in the "aio" directive on FreeBSD.
14494</para>
14495</change>
14496
14497<change type="bugfix">
14498<para lang="ru">
14499ошибки при использовании try_files;
14500ошибка появилась в 0.8.11.
14501</para>
14502<para lang="en">
14503in try_files;
14504the bug had appeared in 0.8.11.
14505</para>
14506</change>
14507
14508<change type="bugfix">
14509<para lang="ru">
14510ошибки при использовании memcached;
14511ошибка появилась в 0.8.11.
14512</para>
14513<para lang="en">
14514in memcached;
14515the bug had appeared in 0.8.11.
14516</para>
14517</change>
14518
14519</changes>
14520
14521<changes ver="0.8.11" date="2009-08-28">
14522
14523<change type="change">
14524<para lang="ru">
14525теперь директива "gzip_disable msie6" не запрещает сжатие для
14526<nobr>MSIE 6.0 SV1.</nobr>
14527</para>
14528<para lang="en">
14529now directive "gzip_disable msie6" does not disable gzipping for
14530<nobr>MSIE 6.0 SV1.</nobr>
14531</para>
14532</change>
14533
14534<change type="feature">
14535<para lang="ru">
14536поддержка файлового AIO во FreeBSD и Linux.
14537</para>
14538<para lang="en">
14539file AIO support on FreeBSD and Linux.
14540</para>
14541</change>
14542
14543<change type="feature">
14544<para lang="ru">
14545директива directio_alignment.
14546</para>
14547<para lang="en">
14548the "directio_alignment" directive.
14549</para>
14550</change>
14551
14552</changes>
14553
14554
14555<changes ver="0.8.10" date="2009-08-24">
14556
14557<change type="bugfix">
14558<para lang="ru">
14559утечек памяти при использовании базы GeoIP City.
14560</para>
14561<para lang="en">
14562memory leaks if GeoIP City database was used.
14563</para>
14564</change>
14565
14566<change type="bugfix">
14567<para lang="ru">
14568ошибки при копировании временных файлов в постоянное место хранения;
14569ошибка появилась в 0.8.9.
14570</para>
14571<para lang="en">
14572in copying temporary files to permanent storage area;
14573the bug had appeared in 0.8.9.
14574</para>
14575</change>
14576
14577</changes>
14578
14579
14580<changes ver="0.8.9" date="2009-08-17">
14581
14582<change type="feature">
14583<para lang="ru">
14584теперь стартовый загрузчик кэша работает в отдельном процесс;
14585это должно улучшить обработку больших кэшей.
14586</para>
14587<para lang="en">
14588now the start cache loader runs in a separate process;
14589this should improve large caches handling.
14590</para>
14591</change>
14592
14593<change type="feature">
14594<para lang="ru">
14595теперь временные файлы и постоянное место хранения могут располагаться
14596на разных файловых системах.
14597</para>
14598<para lang="en">
14599now temporary files and permanent storage area may reside at
14600different file systems.
14601</para>
14602</change>
14603
14604</changes>
14605
14606
14607<changes ver="0.8.8" date="2009-08-10">
14608
14609<change type="bugfix">
14610<para lang="ru">
14611в обработке заголовков ответа, разделённых в FastCGI-записях.
14612</para>
14613<para lang="en">
14614in handling FastCGI headers split in records.
14615</para>
14616</change>
14617
14618<change type="bugfix">
14619<para lang="ru">
14620если запрос обрабатывался в двух проксированных или FastCGI location'ах
14621и в первом из них использовалось кэширование,
14622то в рабочем процессе происходил segmentation fault;
14623ошибка появилась в 0.8.7.
14624</para>
14625<para lang="en">
14626a segmentation fault occurred in worker process,
14627if a request was handled in two proxied or FastCGIed locations
14628and a caching was enabled in the first location;
14629the bug had appeared in 0.8.7.
14630</para>
14631</change>
14632
14633</changes>
14634
14635
14636<changes ver="0.8.7" date="2009-07-27">
14637
14638<change type="change">
14639<para lang="ru">
14640минимальная поддерживаемая версия OpenSSL&mdash;0.9.7.
14641</para>
14642<para lang="en">
14643minimum supported OpenSSL version is 0.9.7.
14644</para>
14645</change>
14646
14647<change type="change">
14648<para lang="ru">
14649параметр ask директивы ssl_verify_client изменён на параметр optional
14650и теперь он проверяет клиентский сертификат, если он был предложен.<br/>
14651Спасибо Brice Figureau.
14652</para>
14653<para lang="en">
14654the "ask" parameter of the "ssl_verify_client" directive was changed
14655to the "optional" parameter and now it checks a client certificate if it was
14656offered.<br/>
14657Thanks to Brice Figureau.
14658</para>
14659</change>
14660
14661<change type="feature">
14662<para lang="ru">
14663переменная $ssl_client_verify.<br/>
14664Спасибо Brice Figureau.
14665</para>
14666<para lang="en">
14667the $ssl_client_verify variable.<br/>
14668Thanks to Brice Figureau.
14669</para>
14670</change>
14671
14672<change type="feature">
14673<para lang="ru">
14674директива ssl_crl.<br/>
14675Спасибо Brice Figureau.
14676</para>
14677<para lang="en">
14678the "ssl_crl" directive.<br/>
14679Thanks to Brice Figureau.
14680</para>
14681</change>
14682
14683<change type="feature">
14684<para lang="ru">
14685параметр proxy директивы geo.
14686</para>
14687<para lang="en">
14688the "proxy" parameter of the "geo" directive.
14689</para>
14690</change>
14691
14692<change type="feature">
14693<para lang="ru">
14694директива image_filter поддерживает переменные для задания размеров.
14695</para>
14696<para lang="en">
14697the "image_filter" directive supports variables for setting size.
14698</para>
14699</change>
14700
14701<change type="bugfix">
14702<para lang="ru">
14703использование переменной $ssl_client_cert портило память;
14704ошибка появилась в 0.7.7.<br/>
14705Спасибо Сергею Журавлёву.
14706</para>
14707<para lang="en">
14708the $ssl_client_cert variable usage corrupted memory;
14709the bug had appeared in 0.7.7.<br/>
14710Thanks to Sergey Zhuravlev.
14711</para>
14712</change>
14713
14714<change type="bugfix">
14715<para lang="ru">
14716директивы proxy_pass_header и fastcgi_pass_header" не передавали клиенту
14717строки "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering" и
14718"X-Accel-Charset" из заголовка ответа бэкенда.<br/>
14719Спасибо Максиму Дунину.
14720</para>
14721<para lang="en">
14722"proxy_pass_header" and "fastcgi_pass_header" directives did not pass to
14723a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering",
14724and "X-Accel-Charset" lines from backend response header.<br/>
14725Thanks to Maxim Dounin.
14726</para>
14727</change>
14728
14729<change type="bugfix">
14730<para lang="ru">
14731в обработке строк "Last-Modified" и "Accept-Ranges" в заголовке ответа бэкенда;
14732ошибка появилась в 0.7.44.<br/>
14733Спасибо Максиму Дунину.
14734</para>
14735<para lang="en">
14736in handling "Last-Modified" and "Accept-Ranges" backend response header lines;
14737the bug had appeared in 0.7.44.<br/>
14738Thanks to Maxim Dounin.
14739</para>
14740</change>
14741
14742<change type="bugfix">
14743<para lang="ru">
14744ошибки "[alert] zero size buf" при получении пустых ответы в подзапросах;
14745ошибка появилась в 0.8.5.
14746</para>
14747<para lang="en">
14748the "[alert] zero size buf" error if subrequest returns an empty response;
14749the bug had appeared in 0.8.5.
14750</para>
14751</change>
14752
14753</changes>
14754
14755
14756<changes ver="0.8.6" date="2009-07-20">
14757
14758<change type="feature">
14759<para lang="ru">
14760модуль ngx_http_geoip_module.
14761</para>
14762<para lang="en">
14763the ngx_http_geoip_module.
14764</para>
14765</change>
14766
14767<change type="bugfix">
14768<para lang="ru">
14769XSLT-фильтр мог выдавать ошибку "not well formed XML document" для
14770правильного документа.<br/>
14771Спасибо Kuramoto Eiji.
14772</para>
14773<para lang="en">
14774XSLT filter may fail with message "not well formed XML document"
14775for valid XML document.<br/>
14776Thanks to Kuramoto Eiji.
14777</para>
14778</change>
14779
14780<change type="bugfix">
14781<para lang="ru">
14782в MacOSX, Cygwin и nginx/Windows при проверке location'ов, заданных
14783регулярным выражением, теперь всегда делается сравнение без учёта
14784регистра символов.
14785</para>
14786<para lang="en">
14787now in MacOSX, Cygwin, and nginx/Windows locations given by a regular
14788expression are always tested in case insensitive mode.
14789</para>
14790</change>
14791
14792<change type="bugfix">
14793<para lang="ru">
14794теперь nginx/Windows игнорирует точки в конце URI.<br/>
14795Спасибо Hugo Leisink.
14796</para>
14797<para lang="en">
14798now nginx/Windows ignores trailing dots in URI.<br/>
14799Thanks to Hugo Leisink.
14800</para>
14801</change>
14802
14803<change type="bugfix">
14804<para lang="ru">
14805имя файла указанного в --conf-path игнорировалось при установке;
14806ошибка появилась в 0.6.6.<br/>
14807Спасибо Максиму Дунину.
14808</para>
14809<para lang="en">
14810name of file specified in --conf-path was not honored during installation;
14811the bug had appeared in 0.6.6.<br/>
14812Thanks to Maxim Dounin.
14813</para>
14814</change>
14815
14816</changes>
14817
14818
14819<changes ver="0.8.5" date="2009-07-13">
14820
14821<change type="bugfix">
14822<para lang="ru">
14823теперь nginx разрешает подчёркивания в методе запроса.
14824</para>
14825<para lang="en">
14826now nginx allows underscores in a request method.
14827</para>
14828</change>
14829
14830<change type="bugfix">
14831<para lang="ru">
14832при использовании HTTP Basic-аутентификации на Windows
14833для неверных имени/пароля возвращалась 500-ая ошибка.
14834</para>
14835<para lang="en">
14836a 500 error code was returned for invalid login/password while HTTP
14837Basic authentication on Windows.
14838</para>
14839</change>
14840
14841<change type="bugfix">
14842<para lang="ru">
14843ответы модуля ngx_http_perl_module не работали в подзапросах.
14844</para>
14845<para lang="en">
14846ngx_http_perl_module responses did not work in subrequests.
14847</para>
14848</change>
14849
14850<change type="bugfix">
14851<para lang="ru">
14852в модуле ngx_http_limit_req_module.<br/>
14853Спасибо Максиму Дунину.
14854</para>
14855<para lang="en">
14856in ngx_http_limit_req_module.<br/>
14857Thanks to Maxim Dounin.
14858</para>
14859</change>
14860
14861</changes>
14862
14863
14864<changes ver="0.8.4" date="2009-06-22">
14865
14866<change type="bugfix">
14867<para lang="ru">
14868nginx не собирался с параметром --without-http-cache;
14869ошибка появилась в 0.8.3.
14870</para>
14871<para lang="en">
14872nginx could not be built --without-http-cache;
14873the bug had appeared in 0.8.3.
14874</para>
14875</change>
14876
14877</changes>
14878
14879
14880<changes ver="0.8.3" date="2009-06-19">
14881
14882<change type="feature">
14883<para lang="ru">
14884переменная $upstream_cache_status.
14885</para>
14886<para lang="en">
14887the $upstream_cache_status variable.
14888</para>
14889</change>
14890
14891<change type="bugfix">
14892<para lang="ru">
14893nginx не собирался на MacOSX 10.6.
14894</para>
14895<para lang="en">
14896nginx could not be built on MacOSX 10.6.
14897</para>
14898</change>
14899
14900<change type="bugfix">
14901<para lang="ru">
14902nginx не собирался с параметром --without-http-cache;
14903ошибка появилась в 0.8.2.
14904</para>
14905<para lang="en">
14906nginx could not be built --without-http-cache;
14907the bug had appeared in 0.8.2.
14908</para>
14909</change>
14910
14911<change type="bugfix">
14912<para lang="ru">
14913если использовался перехват 401 ошибки от бэкенда и бэкенд
14914не возвращал строку "WWW-Authenticate" в заголовке ответа,
14915то в рабочем процессе происходил segmentation fault.<br/>
14916Спасибо Евгению Мычло.
14917</para>
14918<para lang="en">
14919a segmentation fault occurred in worker process,
14920if a backend 401 error was intercepted and the backend did not set
14921the "WWW-Authenticate" response header line.<br/>
14922Thanks to Eugene Mychlo.
14923</para>
14924</change>
14925
14926</changes>
14927
14928
14929<changes ver="0.8.2" date="2009-06-15">
14930
14931<change type="bugfix">
14932<para lang="ru">
14933во взаимодействии open_file_cache и proxy/fastcgi кэша на старте.
14934</para>
14935<para lang="en">
14936in open_file_cache and proxy/fastcgi cache interaction on start up.
14937</para>
14938</change>
14939
14940<change type="bugfix">
14941<para lang="ru">
14942open_file_cache мог кэшировать открытые файлы очень долго;
14943ошибка появилась в 0.7.4.
14944</para>
14945<para lang="en">
14946open_file_cache might cache open file descriptors too long;
14947the bug had appeared in 0.7.4.
14948</para>
14949</change>
14950
14951</changes>
14952
14953
14954<changes ver="0.8.1" date="2009-06-08">
14955
14956<change type="feature">
14957<para lang="ru">
14958параметр updating в директивах proxy_cache_use_stale и fastcgi_cache_use_stale.
14959</para>
14960<para lang="en">
14961the "updating" parameter in "proxy_cache_use_stale" and
14962"fastcgi_cache_use_stale" directives.
14963</para>
14964</change>
14965
14966<change type="bugfix">
14967<para lang="ru">
14968строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса
14969клиента передавались бэкенду при кэшировании, если не использовалась
14970директива proxy_set_header с любыми параметрами.
14971</para>
14972<para lang="en">
14973the "If-Modified-Since", "If-Range", etc. client request header lines
14974were passed to backend while caching if no "proxy_set_header" directive
14975was used with any parameters.
14976</para>
14977</change>
14978
14979<change type="bugfix">
14980<para lang="ru">
14981строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда не скрывались
14982при кэшировании, если не использовались директивы
14983proxy_hide_header/fastcgi_hide_header с любыми параметрами.
14984</para>
14985<para lang="en">
14986the "Set-Cookie" and "P3P" response header lines were not hidden while caching
14987if no "proxy_hide_header/fastcgi_hide_header" directives were used with
14988any parameters.
14989</para>
14990</change>
14991
14992<change type="bugfix">
14993<para lang="ru">
14994модуль ngx_http_image_filter_module не понимал формат GIF87a.<br/>
14995Спасибо Денису Ильиных.
14996</para>
14997<para lang="en">
14998the ngx_http_image_filter_module did not support GIF87a format.<br/>
14999Thanks to Denis Ilyinyh.
15000</para>
15001</change>
15002
15003<change type="bugfix">
15004<para lang="ru">
15005nginx не собирался на Solaris 10 и более ранних;
15006ошибка появилась в 0.7.56.
15007</para>
15008<para lang="en">
15009nginx could not be built modules on Solaris 10 and early;
15010the bug had appeared in 0.7.56.
15011</para>
15012</change>
15013
15014</changes>
15015
15016
15017<changes ver="0.8.0" date="2009-06-02">
15018
15019<change type="feature">
15020<para lang="ru">
15021директива keepalive_requests.
15022</para>
15023<para lang="en">
15024the "keepalive_requests" directive.
15025</para>
15026</change>
15027
15028<change type="feature">
15029<para lang="ru">
15030директива limit_rate_after.<br/>
15031Спасибо Ivan Debnar.
15032</para>
15033<para lang="en">
15034the "limit_rate_after" directive.<br/>
15035Thanks to Ivan Debnar.
15036</para>
15037</change>
15038
15039<change type="bugfix">
15040<para lang="ru">
15041XSLT-фильтр не работал в подзапросах.
15042</para>
15043<para lang="en">
15044XLST filter did not work in subrequests.
15045</para>
15046</change>
15047
15048<change type="bugfix">
15049<para lang="ru">
15050обработке относительных путей в nginx/Windows.
15051</para>
15052<para lang="en">
15053in relative paths handling in nginx/Windows.
15054</para>
15055</change>
15056
15057<change type="bugfix">
15058<para lang="ru">
15059в proxy_store, fastcgi_store, proxy_cache и fastcgi_cache в nginx/Windows.
15060</para>
15061<para lang="en">
15062in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache in nginx/Windows.
15063</para>
15064</change>
15065
15066<change type="bugfix">
15067<para lang="ru">
15068в обработке ошибок выделения памяти.<br/>
15069Спасибо Максиму Дунину и Кириллу Коринскому.
15070</para>
15071<para lang="en">
15072in memory allocation error handling.<br/>
15073Thanks to Maxim Dounin and Kirill A. Korinskiy.
15074</para>
15075</change>
15076
15077</changes>
15078
15079
15080<changes ver="0.7.59" date="2009-05-25">
15081
15082<change type="feature">
15083<para lang="ru">
15084директивы proxy_cache_methods и fastcgi_cache_methods.
15085</para>
15086<para lang="en">
15087the "proxy_cache_methods" and "fastcgi_cache_methods" directives.
15088</para>
15089</change>
15090
15091<change type="bugfix">
15092<para lang="ru">
15093утечки сокетов;
15094ошибка появилась в 0.7.25.<br/>
15095Спасибо Максиму Дунину.
15096</para>
15097<para lang="en">
15098socket leak;
15099the bug had appeared in 0.7.25.<br/>
15100Thanks to Maxim Dounin.
15101</para>
15102</change>
15103
15104<change type="bugfix">
15105<para lang="ru">
15106при использовании переменной $request_body
15107в рабочем процессе происходил segmentation fault,
15108если в запросе не было тела;
15109ошибка появилась в 0.7.58.
15110</para>
15111<para lang="en">
15112a segmentation fault occurred in worker process,
15113<nobr>if a request</nobr> had no body and the $request_body
15114variable was used;<br/>
15115the bug had appeared in 0.7.58.
15116</para>
15117</change>
15118
15119<change type="bugfix">
15120<para lang="ru">
15121SSL-модули могли не собираться на Solaris и Linux;
15122ошибка появилась в 0.7.56.
15123</para>
15124<para lang="en">
15125the SSL modules might not built on Solaris and Linux;<br/>
15126the bug had appeared in 0.7.56.
15127</para>
15128</change>
15129
15130<change type="bugfix">
15131<para lang="ru">
15132ответы модуля ngx_http_xslt_filter_module не обрабатывались
15133SSI-, charset- и gzip-фильтрами.
15134</para>
15135<para lang="en">
15136ngx_http_xslt_filter_module responses were not handled by SSI, charset,
15137and gzip filters.
15138</para>
15139</change>
15140
15141<change type="bugfix">
15142<para lang="ru">
15143директива charset не ставила кодировку для ответов модуля
15144ngx_http_gzip_static_module.
15145</para>
15146<para lang="en">
15147a "charset" directive did not set a charset to ngx_http_gzip_static_module
15148responses.
15149</para>
15150</change>
15151
15152</changes>
15153
15154
15155<changes ver="0.7.58" date="2009-05-18">
15156
15157<change type="feature">
15158<para lang="ru">
15159директива listen почтового прокси-сервера поддерживает IPv6.
15160</para>
15161<para lang="en">
15162a "listen" directive of the mail proxy module supports IPv6.
15163</para>
15164</change>
15165
15166<change type="feature">
15167<para lang="ru">
15168директива image_filter_jpeg_quality.
15169</para>
15170<para lang="en">
15171the "image_filter_jpeg_quality" directive.
15172</para>
15173</change>
15174
15175<change type="feature">
15176<para lang="ru">
15177директива client_body_in_single_buffer.
15178</para>
15179<para lang="en">
15180the "client_body_in_single_buffer" directive.
15181</para>
15182</change>
15183
15184<change type="feature">
15185<para lang="ru">
15186переменная $request_body.
15187</para>
15188<para lang="en">
15189the $request_body variable.
15190</para>
15191</change>
15192
15193<change type="bugfix">
15194<para lang="ru">
15195в модуле ngx_http_autoindex_module в ссылках на имена файлов,
15196содержащих символ ":".
15197</para>
15198<para lang="en">
15199in ngx_http_autoindex_module in file name links
15200having a ":" symbol in the name.
15201</para>
15202</change>
15203
15204<change type="bugfix">
15205<para lang="ru">
15206процедура "make upgrade" не работала;
15207ошибка появилась в 0.7.53.<br/>
15208Спасибо Денису Латыпову.
15209</para>
15210<para lang="en">
15211"make upgrade" procedure did not work;
15212the bug had appeared in 0.7.53.<br/>
15213Thanks to Denis F. Latypoff.
15214</para>
15215</change>
15216
15217</changes>
15218
15219
15220<changes ver="0.7.57" date="2009-05-12">
15221
15222<change type="bugfix">
15223<para lang="ru">
15224при перенаправлении ошибок модуля ngx_http_image_filter_module
15225в именованный location в рабочем процессе происходил floating-point fault;
15226ошибка появилась в 0.7.56.
15227</para>
15228<para lang="en">
15229a floating-point fault occurred in worker process,
15230if the ngx_http_image_filter_module errors were redirected to named location;
15231the bug had appeared in 0.7.56.
15232</para>
15233</change>
15234
15235</changes>
15236
15237
15238<changes ver="0.7.56" date="2009-05-11">
15239
15240<change type="feature">
15241<para lang="ru">
15242nginx/Windows поддерживает IPv6 в директиве listen модуля HTTP.
15243</para>
15244<para lang="en">
15245nginx/Windows supports IPv6 in a "listen" directive of the HTTP module.
15246</para>
15247</change>
15248
15249<change type="bugfix">
15250<para lang="ru">
15251в модуле ngx_http_image_filter_module.
15252</para>
15253<para lang="en">
15254in ngx_http_image_filter_module.
15255</para>
15256</change>
15257
15258</changes>
15259
15260
15261<changes ver="0.7.55" date="2009-05-06">
15262
15263<change type="bugfix">
15264<para lang="ru">
15265параметры http_XXX в директивах proxy_cache_use_stale
15266и fastcgi_cache_use_stale не работали.
15267</para>
15268<para lang="en">
15269the http_XXX parameters in "proxy_cache_use_stale" and
15270"fastcgi_cache_use_stale" directives did not work.
15271</para>
15272</change>
15273
15274<change type="bugfix">
15275<para lang="ru">
15276fastcgi кэш не кэшировал ответы, состоящие только из заголовка.
15277</para>
15278<para lang="en">
15279fastcgi cache did not cache header only responses.
15280</para>
15281</change>
15282
15283<change type="bugfix">
15284<para lang="ru">
15285ошибки "select() failed (9: Bad file descriptor)" в nginx/Unix
15286и "select() failed (10038: ...)" в nginx/Windows.
15287</para>
15288<para lang="en">
15289of "select() failed (9: Bad file descriptor)" error in nginx/Unix
15290and "select() failed (10038: ...)" error in nginx/Windows.
15291</para>
15292</change>
15293
15294<change type="bugfix">
15295<para lang="ru">
15296при использовании директивы debug_connection
15297в рабочем процессе мог произойти segmentation fault;
15298ошибка появилась в 0.7.54.
15299</para>
15300<para lang="en">
15301a segmentation fault might occur in worker process,
15302if an "debug_connection" directive was used;
15303the bug had appeared in 0.7.54.
15304</para>
15305</change>
15306
15307<change type="bugfix">
15308<para lang="ru">
15309в сборке модуля ngx_http_image_filter_module.
15310</para>
15311<para lang="en">
15312fix ngx_http_image_filter_module building errors.
15313</para>
15314</change>
15315
15316<change type="bugfix">
15317<para lang="ru">
15318файлы больше 2G не передавались с использованием $r->sendfile.<br/>
15319Спасибо Максиму Дунину.
15320</para>
15321<para lang="en">
15322the files bigger than 2G could not be transferred using $r->sendfile.<br/>
15323Thanks to Maxim Dounin.
15324</para>
15325</change>
15326
15327</changes>
15328
15329
15330<changes ver="0.7.54" date="2009-05-01">
15331
15332<change type="feature">
15333<para lang="ru">
15334модуль ngx_http_image_filter_module.
15335</para>
15336<para lang="en">
15337the ngx_http_image_filter_module.
15338</para>
15339</change>
15340
15341<change type="feature">
15342<para lang="ru">
15343директивы proxy_ignore_headers и fastcgi_ignore_headers.
15344</para>
15345<para lang="en">
15346the "proxy_ignore_headers" and "fastcgi_ignore_headers" directives.
15347</para>
15348</change>
15349
15350<change type="bugfix">
15351<para lang="ru">
15352при использовании переменных "open_file_cache_errors on"
15353в рабочем процессе мог произойти segmentation fault;
15354ошибка появилась в 0.7.53.
15355</para>
15356<para lang="en">
15357a segmentation fault might occur in worker process,
15358if an "open_file_cache_errors off" directive was used;
15359the bug had appeared in 0.7.53.
15360</para>
15361</change>
15362
15363<change type="bugfix">
15364<para lang="ru">
15365директива "port_in_redirect off" не работала;
15366ошибка появилась в 0.7.39.
15367</para>
15368<para lang="en">
15369the "port_in_redirect off" directive did not work;
15370the bug had appeared in 0.7.39.
15371</para>
15372</change>
15373
15374<change type="bugfix">
15375<para lang="ru">
15376улучшение обработки ошибок метода select.
15377</para>
15378<para lang="en">
15379improve handling of "select" method errors.
15380</para>
15381</change>
15382
15383<change type="bugfix">
15384<para lang="ru">
15385ошибки "select() failed (10022: ...)" в nginx/Windows.
15386</para>
15387<para lang="en">
15388of "select() failed (10022: ...)" error in nginx/Windows.
15389</para>
15390</change>
15391
15392<change type="bugfix">
15393<para lang="ru">
15394в текстовых сообщениях об ошибках в nginx/Windows;
15395ошибка появилась в 0.7.53.
15396</para>
15397<para lang="en">
15398in error text descriptions in nginx/Windows;
15399the bug had appeared in 0.7.53.
15400</para>
15401</change>
15402
15403</changes>
15404
15405
15406<changes ver="0.7.53" date="2009-04-27">
15407
15408<change type="change">
15409<para lang="ru">
15410теперь лог, указанный в --error-log-path, создаётся с самого начала работы.
15411</para>
15412<para lang="en">
15413now a log set by --error-log-path is created from the very start-up.
15414</para>
15415</change>
15416
15417<change type="feature">
15418<para lang="ru">
15419теперь ошибки и предупреждения при старте записываются в error_log
15420и выводятся на stderr.
15421</para>
15422<para lang="en">
15423now the start up errors and warnings are outputted to an error_log and stderr.
15424</para>
15425</change>
15426
15427<change type="feature">
15428<para lang="ru">
15429при сборке с пустым параметром --prefix= nginx использует как префикс каталог,
15430в котором он был запущен.
15431</para>
15432<para lang="en">
15433the empty --prefix= configure parameter forces nginx to use a directory
15434where it was run as prefix.
15435</para>
15436</change>
15437
15438<change type="feature">
15439<para lang="ru">
15440ключ -p.
15441</para>
15442<para lang="en">
15443the -p switch.
15444</para>
15445</change>
15446
15447<change type="feature">
15448<para lang="ru">
15449ключ -s на Unix-платформах.
15450</para>
15451<para lang="en">
15452the -s switch on Unix platforms.
15453</para>
15454</change>
15455
15456<change type="feature">
15457<para lang="ru">
15458ключи -? и -h.<br/>
15459Спасибо Jerome Loyet.
15460</para>
15461<para lang="en">
15462the -? and -h switches.<br/>
15463Thanks to Jerome Loyet.
15464</para>
15465</change>
15466
15467<change type="feature">
15468<para lang="ru">
15469теперь ключи можно задавать в сжатой форме.
15470</para>
15471<para lang="en">
15472now switches may be set in condensed form.
15473</para>
15474</change>
15475
15476<change type="bugfix">
15477<para lang="ru">
15478nginx/Windows не работал, если файл конфигурации был задан ключом -c.
15479</para>
15480<para lang="en">
15481nginx/Windows did not work if configuration file was given by the -c switch.
15482</para>
15483</change>
15484
15485<change type="bugfix">
15486<para lang="ru">
15487при использовании директив proxy_store, fastcgi_store,
15488proxy_cache или fastcgi_cache временные файлы могли не удаляться.<br/>
15489Спасибо Максиму Дунину.
15490</para>
15491<para lang="en">
15492temporary files might be not removed if the "proxy_store", "fastcgi_store",
15493"proxy_cache", or "fastcgi_cache" were used.<br/>
15494Thanks to Maxim Dounin.
15495</para>
15496</change>
15497
15498<change type="bugfix">
15499<para lang="ru">
15500в заголовке Auth-Method запроса серверу аутентификации почтового
15501прокси-сервера передавалось неверное значение;
15502ошибка появилась в 0.7.34.<br/>
15503Спасибо Simon Lecaille.
15504</para>
15505<para lang="en">
15506an incorrect value was passed to mail proxy authentication server
15507in "Auth-Method" header line;
15508the bug had appeared<br/>
15509in 0.7.34.<br/>
15510Thanks to Simon Lecaille.
15511</para>
15512</change>
15513
15514<change type="bugfix">
15515<para lang="ru">
15516при логгировании на Linux не писались текстовые описания системных ошибок;
15517ошибка появилась в 0.7.45.
15518</para>
15519<para lang="en">
15520system error text descriptions were not logged on Linux;<br/>
15521the bug had appeared in 0.7.45.
15522</para>
15523</change>
15524
15525<change type="bugfix">
15526<para lang="ru">
15527директива fastcgi_cache_min_uses не работала.<br/>
15528Спасибо Андрею Воробьёву.
15529</para>
15530<para lang="en">
15531the "fastcgi_cache_min_uses" directive did not work.<br/>
15532Thanks to Andrew Vorobyoff.
15533</para>
15534</change>
15535
15536</changes>
15537
15538
15539<changes ver="0.7.52" date="2009-04-20">
15540
15541<change type="feature">
15542<para lang="ru">
15543первая бинарная версия под Windows.
15544</para>
15545<para lang="en">
15546the first native Windows binary release.
15547</para>
15548</change>
15549
15550<change type="bugfix">
15551<para lang="ru">
15552корректная обработка метода HEAD при кэшировании.
15553</para>
15554<para lang="en">
15555in processing HEAD method while caching.
15556</para>
15557</change>
15558
15559<change type="bugfix">
15560<para lang="ru">
15561корректная обработка строк "If-Modified-Since", "If-Range" и им подобных
15562в заголовке запроса клиента при кэшировании.
15563</para>
15564<para lang="en">
15565in processing the "If-Modified-Since", "If-Range", etc. client request
15566header lines while caching.
15567</para>
15568</change>
15569
15570<change type="bugfix">
15571<para lang="ru">
15572теперь строки "Set-Cookie" и "P3P" скрываются в заголовке ответа
15573для закэшированных ответов.
15574</para>
15575<para lang="en">
15576now the "Set-Cookie" and "P3P" header lines are hidden in cacheable responses.
15577</para>
15578</change>
15579
15580<change type="bugfix">
15581<para lang="ru">
15582если nginx был собран с модулем ngx_http_perl_module и perl
15583поддерживал потоки, то при выходе основного процесса
15584могла выдаваться ошибка "panic: MUTEX_LOCK".
15585</para>
15586<para lang="en">
15587if nginx was built with the ngx_http_perl_module and with a perl which
15588supports threads, then during a master process exit
15589the message "panic: MUTEX_LOCK" might be issued.
15590</para>
15591</change>
15592
15593<change type="bugfix">
15594<para lang="ru">
15595nginx не собирался с параметром --without-http-cache;
15596ошибка появилась в 0.7.48.
15597</para>
15598<para lang="en">
15599nginx could not be built --without-http-cache;
15600the bug had appeared in 0.7.48.
15601</para>
15602</change>
15603
15604<change type="bugfix">
15605<para lang="ru">
15606nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
15607ошибка появилась в 0.7.42.
15608</para>
15609<para lang="en">
15610nginx could not be built on platforms different from i386, amd64, sparc,
15611and ppc;
15612the bug had appeared in 0.7.42.
15613</para>
15614</change>
15615
15616</changes>
15617
15618
15619<changes ver="0.7.51" date="2009-04-12">
15620
15621<change type="feature">
15622<para lang="ru">
15623директива try_files поддерживает код ответа в последнем параметре.
15624</para>
15625<para lang="en">
15626the "try_files" directive supports a response code in the fallback parameter.
15627</para>
15628</change>
15629
15630<change type="feature">
15631<para lang="ru">
15632теперь в директиве return можно использовать любой код ответа.
15633</para>
15634<para lang="en">
15635now any response code can be used in the "return" directive.
15636</para>
15637</change>
15638
15639<change type="bugfix">
15640<para lang="ru">
15641директива error_page делала внешний редирект без строки запроса;
15642ошибка появилась в 0.7.44.
15643</para>
15644<para lang="en">
15645the "error_page" directive made an external redirect without query string;
15646the bug had appeared in 0.7.44.
15647</para>
15648</change>
15649
15650<change type="bugfix">
15651<para lang="ru">
15652если сервера слушали на нескольких явно описанных адресах,
15653то виртуальные сервера могли не работать;
15654ошибка появилась в 0.7.39.
15655</para>
15656<para lang="en">
15657if servers listened on several defined explicitly addresses,
15658then virtual servers might not work;
15659the bug had appeared in 0.7.39.
15660</para>
15661</change>
15662
15663</changes>
15664
15665
15666<changes ver="0.7.50" date="2009-04-06">
15667
15668<change type="bugfix">
15669<para lang="ru">
15670переменные $arg_... не работали;
15671ошибка появилась в 0.7.49.
15672</para>
15673<para lang="en">
15674the $arg_... variables did not work;
15675the bug had appeared in 0.7.49.
15676</para>
15677</change>
15678
15679</changes>
15680
15681
15682<changes ver="0.7.49" date="2009-04-06">
15683
15684<change type="bugfix">
15685<para lang="ru">
15686при использовании переменных $arg_...
15687в рабочем процессе мог произойти segmentation fault;
15688ошибка появилась в 0.7.48.
15689</para>
15690<para lang="en">
15691a segmentation fault might occur in worker process,
15692if the $arg_... variables were used;
15693the bug had appeared in 0.7.48.
15694</para>
15695</change>
15696
15697</changes>
15698
15699
15700<changes ver="0.7.48" date="2009-04-06">
15701
15702<change type="feature">
15703<para lang="ru">
15704директива proxy_cache_key.
15705</para>
15706<para lang="en">
15707the "proxy_cache_key" directive.
15708</para>
15709</change>
15710
15711<change type="bugfix">
15712<para lang="ru">
15713теперь nginx учитывает при кэшировании строки "X-Accel-Expires",
15714"Expires" и "Cache-Control" в заголовке ответа бэкенда.
15715</para>
15716<para lang="en">
15717now nginx takes into account the "X-Accel-Expires", "Expires", and
15718"Cache-Control" header lines in a backend response.
15719</para>
15720</change>
15721
15722<change type="bugfix">
15723<para lang="ru">
15724теперь nginx кэширует только ответы на запросы GET.
15725</para>
15726<para lang="en">
15727now nginx caches responses for the GET requests only.
15728</para>
15729</change>
15730
15731<change type="bugfix">
15732<para lang="ru">
15733директива fastcgi_cache_key не наследовалась.
15734</para>
15735<para lang="en">
15736the "fastcgi_cache_key" directive was not inherited.
15737</para>
15738</change>
15739
15740<change type="bugfix">
15741<para lang="ru">
15742переменные $arg_... не работали с SSI-подзапросами.<br/>
15743Спасибо Максиму Дунину.
15744</para>
15745<para lang="en">
15746the $arg_... variables did not work with SSI subrequests.<br/>
15747Thanks to Maxim Dounin.
15748</para>
15749</change>
15750
15751<change type="bugfix">
15752<para lang="ru">
15753nginx не собирался с библиотекой uclibc.<br/>
15754Спасибо Timothy Redaelli.
15755</para>
15756<para lang="en">
15757nginx could not be built with uclibc library.<br/>
15758Thanks to Timothy Redaelli.
15759</para>
15760</change>
15761
15762<change type="bugfix">
15763<para lang="ru">
15764nginx не собирался на OpenBSD;
15765ошибка появилась <nobr>в 0.7.46.</nobr>
15766</para>
15767<para lang="en">
15768nginx could not be built on OpenBSD;
15769the bug had <nobr>appeared in 0.7.46.</nobr>
15770</para>
15771</change>
15772
15773</changes>
15774
15775
15776<changes ver="0.7.47" date="2009-04-01">
15777
15778<change type="bugfix">
15779<para lang="ru">
15780nginx не собирался на FreeBSD 6 и более ранних версиях;
15781ошибка появилась в 0.7.46.
15782</para>
15783<para lang="en">
15784nginx could not be built on FreeBSD 6 and early versions;
15785the bug had appeared in 0.7.46.
15786</para>
15787</change>
15788
15789<change type="bugfix">
15790<para lang="ru">
15791nginx не собирался на MacOSX;
15792ошибка появилась в 0.7.46.
15793</para>
15794<para lang="en">
15795nginx could not be built on MacOSX;
15796the bug had <nobr>appeared in 0.7.46.</nobr>
15797</para>
15798</change>
15799
15800<change type="bugfix">
15801<para lang="ru">
15802если использовался параметр max_size, то cache manager мог удалить весь кэш;
15803ошибка появилась в 0.7.46.
15804</para>
15805<para lang="en">
15806if the "max_size" parameter was set, then the cache manager might purge
15807a whole cache;
15808the bug had appeared in 0.7.46.
15809</para>
15810</change>
15811
15812<change type="change">
15813<para lang="ru">
15814в рабочем процессе мог произойти segmentation fault,
15815если директивы proxy_cache/fastcgi_cache
15816и proxy_cache_valid/ fastcgi_cache_valid не были заданы на одном уровне;
15817ошибка появилась в 0.7.46.
15818</para>
15819<para lang="en">
15820a segmentation fault might occur in worker process,
15821if the "proxy_cache"/"fastcgi_cache" and
15822the "proxy_cache_valid"/ "fastcgi_cache_valid" were set on different levels;
15823the bug had appeared in 0.7.46.
15824</para>
15825</change>
15826
15827<change type="bugfix">
15828<para lang="ru">
15829в рабочем процессе мог произойти segmentation fault
15830при перенаправлении запроса проксированному или FastCGI-серверу
15831с помощью error_page или try_files;
15832ошибка появилась в 0.7.44.
15833</para>
15834<para lang="en">
15835a segmentation fault might occur in worker process,
15836if a request was redirected to a proxied or FastCGI server via
15837error_page or try_files;
15838the bug had appeared in 0.7.44.
15839</para>
15840</change>
15841
15842</changes>
15843
15844
15845<changes ver="0.7.46" date="2009-03-30">
15846
15847<change type="bugfix">
15848<para lang="ru">
15849архив предыдущего релиза был неверным.
15850</para>
15851<para lang="en">
15852the previous release tarball was incorrect.
15853</para>
15854</change>
15855
15856</changes>
15857
15858
15859<changes ver="0.7.45" date="2009-03-30">
15860
15861<change type="change">
15862<para lang="ru">
15863теперь директивы proxy_cache и proxy_cache_valid можно задавать
15864на разных уровнях.
15865</para>
15866<para lang="en">
15867now the "proxy_cache" and the "proxy_cache_valid" directives can be set on
15868different levels.
15869</para>
15870</change>
15871
15872<change type="change">
15873<para lang="ru">
15874параметр clean_time в директиве proxy_cache_path удалён.
15875</para>
15876<para lang="en">
15877the "clean_time" parameter of the "proxy_cache_path" directive is canceled.
15878</para>
15879</change>
15880
15881<change type="feature">
15882<para lang="ru">
15883параметр max_size в директиве proxy_cache_path.
15884</para>
15885<para lang="en">
15886the "max_size" parameter of the "proxy_cache_path" directive.
15887</para>
15888</change>
15889
15890<change type="feature">
15891<para lang="ru">
15892предварительная поддержка кэширования в модуле ngx_http_fastcgi_module.
15893</para>
15894<para lang="en">
15895the ngx_http_fastcgi_module preliminary cache support.
15896</para>
15897</change>
15898
15899<change type="feature">
15900<para lang="ru">
15901теперь при ошибках выделения в разделяемой памяти в логе указываются
15902названия директивы и зоны.
15903</para>
15904<para lang="en">
15905now on shared memory allocation errors directive and zone names are logged.
15906</para>
15907</change>
15908
15909<change type="bugfix">
15910<para lang="ru">
15911директива "add_header last-modified ''" не удаляла в заголовке ответа
15912строку "Last-Modified";
15913ошибка появилась в 0.7.44.
15914</para>
15915<para lang="en">
15916the directive "add_header last-modified ''" did not delete a "Last-Modified"
15917response header line;
15918the bug had appeared in 0.7.44.
15919</para>
15920</change>
15921
15922<change type="bugfix">
15923<para lang="ru">
15924в директиве auth_basic_user_file не работал относительный путь,
15925заданный строкой без переменных;
15926ошибка появилась в 0.7.44.<br/>
15927Спасибо Jerome Loyet.
15928</para>
15929<para lang="en">
15930a relative path in the "auth_basic_user_file" directive given without variables
15931did not work;
15932the bug had appeared in 0.7.44.<br/>
15933Thanks to Jerome Loyet.
15934</para>
15935</change>
15936
15937<change type="bugfix">
15938<para lang="ru">
15939в директиве alias, заданной переменными
15940без ссылок на выделения в регулярных выражениях;
15941ошибка появилась в 0.7.42.
15942</para>
15943<para lang="en">
15944in an "alias" directive given using variables
15945without references to captures of regular expressions;
15946the bug had appeared in 0.7.42.
15947</para>
15948</change>
15949
15950</changes>
15951
15952
15953<changes ver="0.7.44" date="2009-03-23">
15954
15955<change type="feature">
15956<para lang="ru">
15957предварительная поддержка кэширования в модуле ngx_http_proxy_module.
15958</para>
15959<para lang="en">
15960the ngx_http_proxy_module preliminary cache support.
15961</para>
15962</change>
15963
15964<change type="feature">
15965<para lang="ru">
15966параметр --with-pcre в configure.
15967</para>
15968<para lang="en">
15969the --with-pcre option in the configure.
15970</para>
15971</change>
15972
15973<change type="feature">
15974<para lang="ru">
15975теперь директива try_files может быть использована на уровне server.
15976</para>
15977<para lang="en">
15978the "try_files" directive is now allowed on the server block level.
15979</para>
15980</change>
15981
15982<change type="bugfix">
15983<para lang="ru">
15984директива try_files неправильно обрабатывала строку запроса в последнем
15985параметре.
15986</para>
15987<para lang="en">
15988the "try_files" directive handled incorrectly a query string
15989in a fallback parameter.
15990</para>
15991</change>
15992
15993<change type="bugfix">
15994<para lang="ru">
15995директива try_files могла неверно тестировать каталоги.
15996</para>
15997<para lang="en">
15998the "try_files" directive might test incorrectly directories.
15999</para>
16000</change>
16001
16002<change type="bugfix">
16003<para lang="ru">
16004если для пары адрес:порт описан только один сервер, то выделения
16005в регулярных выражениях в директиве server_name не работали.
16006</para>
16007<para lang="en">
16008if there was a single server for given address:port pair,
16009then captures in regular expressions in a "server_name" directive did not work.
16010</para>
16011</change>
16012
16013</changes>
16014
16015
16016<changes ver="0.7.43" date="2009-03-18">
16017
16018<change type="bugfix">
16019<para lang="ru">
16020запрос обрабатывался неверно, если директива root использовала переменные;
16021ошибка появилась в 0.7.42.
16022</para>
16023<para lang="en">
16024a request was handled incorrectly, if a "root" directive used variables;
16025the bug had appeared in 0.7.42.
16026</para>
16027</change>
16028
16029<change type="bugfix">
16030<para lang="ru">
16031если сервер слушал на адресах типа "*", то значение переменной $server_addr
16032было "0.0.0.0";
16033ошибка появилась в 0.7.36.
16034</para>
16035<para lang="en">
16036if a server listened on wildcard address, then the $server_addr variable
16037value was "0.0.0.0";
16038the bug had appeared in 0.7.36.
16039</para>
16040</change>
16041
16042</changes>
16043
16044
16045<changes ver="0.7.42" date="2009-03-16">
16046
16047<change type="change">
16048<para lang="ru">
16049ошибка "Invalid argument", возвращаемая setsockopt(TCP_NODELAY) на Solaris,
16050теперь игнорируется.
16051</para>
16052<para lang="en">
16053now the "Invalid argument" error returned by setsockopt(TCP_NODELAY) on Solaris,
16054is ignored.
16055</para>
16056</change>
16057
16058<change type="change">
16059<para lang="ru">
16060при отсутствии файла, указанного в директиве auth_basic_user_file,
16061теперь возвращается ошибка 403 вместо 500.
16062</para>
16063<para lang="en">
16064now if a file specified in a "auth_basic_user_file" directive is absent,
16065then the 403 error is returned instead of the 500 one.
16066</para>
16067</change>
16068
16069<change type="feature">
16070<para lang="ru">
16071директива auth_basic_user_file поддерживает переменные.
16072<br/>
16073Спасибо Кириллу Коринскому.
16074</para>
16075<para lang="en">
16076the "auth_basic_user_file" directive supports variables.<br/>
16077Thanks to Kirill A. Korinskiy.
16078</para>
16079</change>
16080
16081<change type="feature">
16082<para lang="ru">
16083директива listen поддерживает параметр ipv6only.<br/>
16084Спасибо Zhang Hua.
16085</para>
16086<para lang="en">
16087the "listen" directive supports the "ipv6only" parameter.
16088<br/>
16089Thanks to Zhang Hua.
16090</para>
16091</change>
16092
16093<change type="bugfix">
16094<para lang="ru">
16095в директиве alias со ссылками на выделения в регулярных выражениях;
16096ошибка появилась в 0.7.40.
16097</para>
16098<para lang="en">
16099in an "alias" directive with references to captures of regular expressions;
16100the bug had appeared in 0.7.40.
16101</para>
16102</change>
16103
16104<change type="bugfix">
16105<para lang="ru">
16106совместимость с Tru64 UNIX.<br/>
16107Спасибо Dustin Marquess.
16108</para>
16109<para lang="en">
16110compatibility with Tru64 UNIX.<br/>
16111Thanks to Dustin Marquess.
16112</para>
16113</change>
16114
16115<change type="bugfix">
16116<para lang="ru">
16117nginx не собирался без библиотеки PCRE;
16118ошибка появилась в 0.7.41.
16119</para>
16120<para lang="en">
16121nginx could not be built without PCRE library;
16122the bug had appeared in 0.7.41.
16123</para>
16124</change>
16125
16126</changes>
16127
16128
16129<changes ver="0.7.41" date="2009-03-11">
16130
16131<change type="bugfix">
16132<para lang="ru">
16133в рабочем процессе мог произойти segmentation fault,
16134если в server_name или location были выделения в регулярных выражениях;
16135ошибка появилась в 0.7.40.<br/>
16136Спасибо Владимиру Сопоту.
16137</para>
16138<para lang="en">
16139a segmentation fault might occur in worker process,
16140if a "server_name" or a "location" directives had captures
16141in regular expressions;
16142the issue had appeared in 0.7.40.<br/>
16143Thanks to Vladimir Sopot.
16144</para>
16145</change>
16146
16147</changes>
16148
16149
16150<changes ver="0.7.40" date="2009-03-09">
16151
16152<change type="feature">
16153<para lang="ru">
16154директива location поддерживает выделения в регулярных выражениях.
16155</para>
16156<para lang="en">
16157the "location" directive supports captures in regular expressions.
16158</para>
16159</change>
16160
16161<change type="feature">
16162<para lang="ru">
16163директиву alias с ссылками на выделения в регулярных выражениях
16164можно использовать внутри location'а, заданного регулярным выражением
16165с выделениями.
16166</para>
16167<para lang="en">
16168an "alias" directive with capture references may be used inside
16169a location given by a regular expression with captures.
16170</para>
16171</change>
16172
16173<change type="feature">
16174<para lang="ru">
16175директива server_name поддерживает выделения в регулярных выражениях.
16176</para>
16177<para lang="en">
16178the "server_name" directive supports captures in regular expressions.
16179</para>
16180</change>
16181
16182<change type="workaround">
16183<para lang="ru">
16184модуль ngx_http_autoindex_module не показывал последний слэш для каталогов
16185на файловой системе XFS;
16186ошибка появилась в 0.7.15.<br/>
16187Спасибо Дмитрию Кузьменко.
16188</para>
16189<para lang="en">
16190the ngx_http_autoindex_module did not show the trailing slash in directories
16191on XFS filesystem;
16192the issue had appeared in 0.7.15.<br/>
16193Thanks to Dmitry Kuzmenko.
16194</para>
16195</change>
16196
16197</changes>
16198
16199
16200<changes ver="0.7.39" date="2009-03-02">
16201
16202<change type="bugfix">
16203<para lang="ru">
16204при включённом сжатии большие ответы с использованием SSI могли зависать;
16205ошибка появилась в 0.7.28.<br/>
16206Спасибо Артёму Бохану.
16207</para>
16208<para lang="en">
16209large response with SSI might hang, if gzipping was enabled;
16210the bug had appeared in 0.7.28.<br/>
16211Thanks to Artem Bokhan.
16212</para>
16213</change>
16214
16215<change type="bugfix">
16216<para lang="ru">
16217при использовании коротких статических вариантов в директиве try_files
16218в рабочем процессе мог произойти segmentation fault.
16219</para>
16220<para lang="en">
16221a segmentation fault might occur in worker process,
16222if short static variants are used in a "try_files" directive.
16223</para>
16224</change>
16225
16226</changes>
16227
16228
16229<changes ver="0.7.38" date="2009-02-23">
16230
16231<change type="feature">
16232<para lang="ru">
16233логгирование ошибок аутентификации.
16234</para>
16235<para lang="en">
16236authentication failures logging.
16237</para>
16238</change>
16239
16240<change type="bugfix">
16241<para lang="ru">
16242имя/пароль, заданные в auth_basic_user_file, игнорировались после нечётного
16243числа пустых строк.<br/>
16244Спасибо Александру Загребину.
16245</para>
16246<para lang="en">
16247name/password in auth_basic_user_file were ignored after odd number
16248of empty lines.<br/>
16249Thanks to Alexander Zagrebin.
16250</para>
16251</change>
16252
16253<change type="bugfix">
16254<para lang="ru">
16255при использовании длинного пути в unix domain сокете
16256в главном процессе происходил segmentation fault;
16257ошибка появилась в 0.7.36.
16258</para>
16259<para lang="en">
16260a segmentation fault occurred in a master process,
16261if long path was used in unix domain socket;
16262the bug had appeared in 0.7.36.
16263</para>
16264</change>
16265
16266</changes>
16267
16268
16269<changes ver="0.7.37" date="2009-02-21">
16270
16271<change type="bugfix">
16272<para lang="ru">
16273директивы, использующие upstream'ы, не работали;
16274ошибка появилась в 0.7.36.
16275</para>
16276<para lang="en">
16277directives using upstreams did not work;
16278the bug had appeared in 0.7.36.
16279</para>
16280</change>
16281
16282</changes>
16283
16284
16285<changes ver="0.7.36" date="2009-02-21">
16286
16287<change type="feature">
16288<para lang="ru">
16289предварительная поддержка IPv6;
16290директива listen модуля HTTP поддерживает IPv6.
16291</para>
16292<para lang="en">
16293a preliminary IPv6 support;
16294the "listen" directive of the HTTP module supports IPv6.
16295</para>
16296</change>
16297
16298<change type="bugfix">
16299<para lang="ru">
16300переменная $ancient_browser не работала для браузеров, заданных
16301директивами modern_browser.
16302</para>
16303<para lang="en">
16304the $ancient_browser variable did not work for browsers
16305preset by a "modern_browser" directives.
16306</para>
16307</change>
16308
16309</changes>
16310
16311
16312<changes ver="0.7.35" date="2009-02-16">
16313
16314<change type="bugfix">
16315<para lang="ru">
16316директива ssl_engine не использовала SSL-акселератор
16317для асимметричных шифров.<br/>
16318Спасибо Marcin Gozdalik.
16319</para>
16320<para lang="en">
16321a "ssl_engine" directive did not use a SSL-accelerator
16322for asymmetric ciphers.<br/>
16323Thanks to Marcin Gozdalik.
16324</para>
16325</change>
16326
16327<change type="bugfix">
16328<para lang="ru">
16329директива try_files выставляла MIME-type, исходя из расширения
16330первоначального запроса.
16331</para>
16332<para lang="en">
16333a "try_files" directive set MIME type depending on an
16334original request extension.
16335</para>
16336</change>
16337
16338<change type="bugfix">
16339<para lang="ru">
16340в директивах server_name, valid_referers и map
16341неправильно обрабатывались имена вида "*domain.tld",
16342если использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
16343ошибка появилась в 0.7.9.
16344</para>
16345<para lang="en">
16346"*domain.tld" names were handled incorrectly in
16347"server_name", "valid_referers", and "map" directives,
16348if ".domain.tld" and ".subdomain.domain.tld" wildcards were used;
16349<nobr>the bug had</nobr> appeared in 0.7.9.
16350</para>
16351</change>
16352
16353</changes>
16354
16355
16356<changes ver="0.7.34" date="2009-02-10">
16357
16358<change type="feature">
16359<para lang="ru">
16360параметр off в директиве if_modified_since.
16361</para>
16362<para lang="en">
16363the "off" parameter of the "if_modified_since" directive.
16364</para>
16365</change>
16366
16367<change type="feature">
16368<para lang="ru">
16369теперь после команды XCLIENT nginx посылает команду HELO/EHLO.<br/>
16370Спасибо Максиму Дунину.
16371</para>
16372<para lang="en">
16373now nginx sends an HELO/EHLO command after a XCLIENT command.<br/>
16374Thanks to Maxim Dounin.
16375</para>
16376</change>
16377
16378<change type="feature">
16379<para lang="ru">
16380поддержка Microsoft-специфичного режима
16381<nobr>"AUTH LOGIN with User Name"</nobr>
16382в почтовом прокси-сервере.<br/>
16383Спасибо Максиму Дунину.
16384</para>
16385<para lang="en">
16386Microsoft specific "AUTH LOGIN with User Name" mode support
16387in mail proxy server.<br/>
16388Thanks to Maxim Dounin.
16389</para>
16390</change>
16391
16392<change type="bugfix">
16393<para lang="ru">
16394в директиве rewrite, возвращающей редирект, старые аргументы присоединялись
16395к новым через символ "?" вместо "&amp;";<br/>
16396ошибка появилась в 0.1.18.<br/>
16397Спасибо Максиму Дунину.
16398</para>
16399<para lang="en">
16400in a redirect rewrite directive original arguments were concatenated with
16401new arguments by a "?" rather than an "&amp;";<br/>
16402the bug had appeared in 0.1.18.<br/>
16403Thanks to Maxim Dounin.
16404</para>
16405</change>
16406
16407<change type="bugfix">
16408<para lang="ru">
16409nginx не собирался на AIX.
16410</para>
16411<para lang="en">
16412nginx could not be built on AIX.
16413</para>
16414</change>
16415
16416</changes>
16417
16418
16419<changes ver="0.7.33" date="2009-02-02">
16420
16421<change type="bugfix">
16422<para lang="ru">
16423если на запрос с телом возвращался редирект, то ответ мог быть двойным
16424при использовании методов epoll или rtsig.<br/>
16425Спасибо Eden Li.
16426</para>
16427<para lang="en">
16428a double response might be returned if the epoll or rtsig methods are used
16429and a redirect was returned to a request with body.<br/>
16430Thanks to Eden Li.
16431</para>
16432</change>
16433
16434<change type="bugfix">
16435<para lang="ru">
16436для некоторых типов редиректов в переменной $sent_http_location
16437было пустое значение.
16438</para>
16439<para lang="en">
16440the $sent_http_location variable was empty for some redirects types.
16441</para>
16442</change>
16443
16444<change type="bugfix">
16445<para lang="ru">
16446при использовании директивы resolver в SMTP прокси-сервере
16447в рабочем процессе мог произойти segmentation fault.
16448</para>
16449<para lang="en">
16450a segmentation fault might occur in worker process
16451if "resolver" directive was used in SMTP proxy.
16452</para>
16453</change>
16454
16455</changes>
16456
16457
16458<changes ver="0.7.32" date="2009-01-26">
16459
16460<change type="feature">
16461<para lang="ru">
16462теперь в директиве try_files можно явно указать проверку каталога.
16463</para>
16464<para lang="en">
16465now a directory existence testing can be set explicitly
16466in the "try_files" directive.
16467</para>
16468</change>
16469
16470<change type="bugfix">
16471<para lang="ru">
16472fastcgi_store не всегда сохранял файлы.
16473</para>
16474<para lang="en">
16475fastcgi_store stored files not always.
16476</para>
16477</change>
16478
16479<change type="bugfix">
16480<para lang="ru">
16481в гео-диапазонах.
16482</para>
16483<para lang="en">
16484in geo ranges.
16485</para>
16486</change>
16487
16488<change type="bugfix">
16489<para lang="ru">
16490ошибки выделения больших блоков в разделяемой памяти,
16491если nginx был собран без отладки.<br/>
16492Спасибо Андрею Квасову.
16493</para>
16494<para lang="en">
16495in shared memory allocations if nginx was built without debugging.<br/>
16496Thanks to Andrey Kvasov.
16497</para>
16498</change>
16499
16500</changes>
16501
16502
16503<changes ver="0.7.31" date="2009-01-19">
16504
16505<change type="change">
16506<para lang="ru">
16507теперь директива try_files проверяет только файлы, игнорируя каталоги.
16508</para>
16509<para lang="en">
16510now the "try_files" directive tests files only and ignores directories.
16511</para>
16512</change>
16513
16514<change type="feature">
16515<para lang="ru">
16516директива fastcgi_split_path_info.
16517</para>
16518<para lang="en">
16519the "fastcgi_split_path_info" directive.
16520</para>
16521</change>
16522
16523<change>
16524<para lang="ru">
16525Исправления в поддержке строки "Expect" в заголовке запроса.
16526</para>
16527<para lang="en">
16528Bugfixes in an "Expect" request header line support.
16529</para>
16530</change>
16531
16532<change>
16533<para lang="ru">
16534Исправления в гео-диапазонах.
16535</para>
16536<para lang="en">
16537Bugfixes in geo ranges.
16538</para>
16539</change>
16540
16541<change type="bugfix">
16542<para lang="ru">
16543при отсутствии ответа ngx_http_memcached_module возвращал
16544в теле ответа строку "END" вместо 404-ой страницы по умолчанию;
16545ошибка появилась в 0.7.18.<br/>
16546Спасибо Максиму Дунину.
16547</para>
16548<para lang="en">
16549in a miss case ngx_http_memcached_module returned the "END" line
16550as response body instead of default 404 page body;
16551the bug had appeared in 0.7.18.<br/>
16552Thanks to Maxim Dounin.
16553</para>
16554</change>
16555
16556<change type="bugfix">
16557<para lang="ru">
16558при проксировании SMTP nginx выдавал сообщение
16559<nobr>"250 2.0.0 OK"</nobr> вместо "235 2.0.0 OK";
16560ошибка появилась в 0.7.22.<br/>
16561Спасибо Максиму Дунину.
16562</para>
16563<para lang="en">
16564while SMTP proxying nginx issued message
16565"250 2.0.0 OK" instead of "235 2.0.0 OK";
16566the bug had appeared in 0.7.22.<br/>
16567Thanks to Maxim Dounin.
16568</para>
16569</change>
16570
16571</changes>
16572
16573
16574
16575<changes ver="0.7.30" date="2008-12-24">
16576
16577<change type="bugfix">
16578<para lang="ru">
16579в рабочем процессе происходил segmentation fault,
16580если в директивах fastcgi_pass или proxy_pass
16581использовались переменные и имя хоста должно было резолвиться;
16582ошибка появилась в 0.7.29.
16583</para>
16584<para lang="en">
16585a segmentation fault occurred in worker process,
16586if variables were used in the "fastcgi_pass" or "proxy_pass" directives
16587and host name must be resolved;
16588the bug had appeared in 0.7.29.
16589</para>
16590</change>
16591
16592</changes>
16593
16594
16595<changes ver="0.7.29" date="2008-12-24">
16596
16597<change type="bugfix">
16598<para lang="ru">
16599директивы fastcgi_pass и proxy_pass не поддерживали переменные
16600при использовании unix domain сокетов.
16601</para>
16602<para lang="en">
16603the "fastcgi_pass" and "proxy_pass" directives did not support
16604variables if unix domain sockets were used.
16605</para>
16606</change>
16607
16608<change>
16609<para lang="ru">
16610Исправления в обработке подзапросов;
16611ошибки появились в 0.7.25.
16612</para>
16613<para lang="en">
16614Bugfixes in subrequest processing;
16615the bugs had appeared in 0.7.25.
16616</para>
16617</change>
16618
16619<change type="bugfix">
16620<para lang="ru">
16621ответ "100 Continue" выдавался для запросов версии HTTP/1.0;<br/>
16622Спасибо Максиму Дунину.
16623</para>
16624<para lang="en">
16625a "100 Continue" response was issued for HTTP/1.0 requests;<br/>
16626Thanks to Maxim Dounin.
16627</para>
16628</change>
16629
16630<change type="bugfix">
16631<para lang="ru">
16632в выделении памяти в модуле ngx_http_gzip_filter_module под Cygwin.
16633</para>
16634<para lang="en">
16635in memory allocation in the ngx_http_gzip_filter_module on Cygwin.
16636</para>
16637</change>
16638
16639</changes>
16640
16641
16642<changes ver="0.7.28" date="2008-12-22">
16643
16644<change type="change">
16645<para lang="ru">
16646в выделении памяти в модуле ngx_http_gzip_filter_module.
16647</para>
16648<para lang="en">
16649in memory allocation in the ngx_http_gzip_filter_module.
16650</para>
16651</change>
16652
16653<change type="change">
16654<para lang="ru">
16655значения по умолчанию для директивы gzip_buffers изменены с 4 4k/8k
16656на 32 4k или 16 8k.
16657</para>
16658<para lang="en">
16659the default "gzip_buffers" directive values have been changed
16660to 32 4k or 16 8k from 4 4k/8k.
16661</para>
16662</change>
16663
16664</changes>
16665
16666
16667<changes ver="0.7.27" date="2008-12-15">
16668
16669<change type="feature">
16670<para lang="ru">
16671директива try_files.
16672</para>
16673<para lang="en">
16674the "try_files" directive.
16675</para>
16676</change>
16677
16678<change type="feature">
16679<para lang="ru">
16680директива fastcgi_pass поддерживает переменные.
16681</para>
16682<para lang="en">
16683variables support in the "fastcgi_pass" directive.
16684</para>
16685</change>
16686
16687<change type="feature">
16688<para lang="ru">
16689теперь директива geo может брать адрес из переменной.<br/>
16690Спасибо Андрею Нигматулину.
16691</para>
16692<para lang="en">
16693now the $geo variable may get an address from a variable.<br/>
16694Thanks to Andrei Nigmatulin.
16695</para>
16696</change>
16697
16698<change type="feature">
16699<para lang="ru">
16700теперь модификатор location'а можно указывать без пробела перед названием.
16701</para>
16702<para lang="en">
16703now a location's modifier may be used without space before name.
16704</para>
16705</change>
16706
16707<change type="feature">
16708<para lang="ru">
16709переменная $upstream_response_length.
16710</para>
16711<para lang="en">
16712the $upstream_response_length variable.
16713</para>
16714</change>
16715
16716<change type="bugfix">
16717<para lang="ru">
16718теперь директива add_header не добавляет пустое значение.
16719</para>
16720<para lang="en">
16721now a "add_header" directive does not add an empty value.
16722</para>
16723</change>
16724
16725<change type="bugfix">
16726<para lang="ru">
16727при запросе файла нулевой длины nginx закрывал соединение, ничего не передав;
16728ошибка появилась в 0.7.25.
16729</para>
16730<para lang="en">
16731if zero length static file was requested, then nginx just closed connection;
16732the bug had appeared in 0.7.25.
16733</para>
16734</change>
16735
16736<change type="bugfix">
16737<para lang="ru">
16738метод MOVE не мог перемещать файл в несуществующий каталог.
16739</para>
16740<para lang="en">
16741a MOVE method could not move file in non-existent directory.
16742</para>
16743</change>
16744
16745<change type="bugfix">
16746<para lang="ru">
16747если в сервере не был описан ни один именованный location,
16748но такой location использовался в директиве error_page,
16749то в рабочем процессе происходил segmentation fault.<br/>
16750Спасибо Сергею Боченкову.
16751</para>
16752<para lang="en">
16753a segmentation fault occurred in worker process,
16754if no one named location was defined in server,
16755but some one was used in an error_page directive.<br/>
16756Thanks to Sergey Bochenkov.
16757</para>
16758</change>
16759
16760</changes>
16761
16762
16763<changes ver="0.7.26" date="2008-12-08">
16764
16765<change type="bugfix">
16766<para lang="ru">
16767в обработке подзапросов;
16768ошибка появилась в 0.7.25.
16769</para>
16770<para lang="en">
16771in subrequest processing;
16772the bug had appeared in 0.7.25.
16773</para>
16774</change>
16775
16776</changes>
16777
16778
16779<changes ver="0.7.25" date="2008-12-08">
16780
16781<change type="change">
16782<para lang="ru">
16783в обработке подзапросов.
16784</para>
16785<para lang="en">
16786in subrequest processing.
16787</para>
16788</change>
16789
16790<change type="change">
16791<para lang="ru">
16792теперь разрешаются POST'ы без строки "Content-Length" в заголовке запроса.
16793</para>
16794<para lang="en">
16795now POSTs without "Content-Length" header line are allowed.
16796</para>
16797</change>
16798
16799<change type="bugfix">
16800<para lang="ru">
16801теперь директивы limit_req и limit_conn указывают причину запрета запроса.
16802</para>
16803<para lang="en">
16804now the "limit_req" and "limit_conn" directives log a prohibition reason.
16805</para>
16806</change>
16807
16808<change type="bugfix">
16809<para lang="ru">
16810в параметре delete директивы geo.
16811</para>
16812<para lang="en">
16813in the "delete" parameter of the "geo" directive.
16814</para>
16815</change>
16816
16817</changes>
16818
16819
16820<changes ver="0.7.24" date="2008-12-01">
16821
16822<change type="feature">
16823<para lang="ru">
16824директива if_modified_since.
16825</para>
16826<para lang="en">
16827the "if_modified_since" directive.
16828</para>
16829</change>
16830
16831<change type="bugfix">
16832<para lang="ru">
16833nginx не обрабатывал ответ FastCGI-сервера,
16834если перед ответом сервер передавал много сообщений в stderr.
16835</para>
16836<para lang="en">
16837nginx did not process a FastCGI server response,
16838if the server send too many messages to stderr before response.
16839</para>
16840</change>
16841
16842<change type="bugfix">
16843<para lang="ru">
16844переменные "$cookie_..." не работали в SSI and в перловом модуле.
16845</para>
16846<para lang="en">
16847the "$cookie_..." variables did not work in the SSI and the perl module.
16848</para>
16849</change>
16850
16851</changes>
16852
16853
16854<changes ver="0.7.23" date="2008-11-27">
16855
16856<change type="feature">
16857<para lang="ru">
16858параметры delete и ranges в директиве geo.
16859</para>
16860<para lang="en">
16861the "delete" and "ranges" parameters in the "geo" directive.
16862</para>
16863</change>
16864
16865<change type="feature">
16866<para lang="ru">
16867ускорение загрузки geo-базы с большим числом значений.
16868</para>
16869<para lang="en">
16870speeding up loading of geo base with large number of values.
16871</para>
16872</change>
16873
16874<change type="feature">
16875<para lang="ru">
16876уменьшение памяти, необходимой для загрузки geo-базы.
16877</para>
16878<para lang="en">
16879decrease of memory required for geo base load.
16880</para>
16881</change>
16882
16883</changes>
16884
16885
16886<changes ver="0.7.22" date="2008-11-20">
16887
16888<change type="feature">
16889<para lang="ru">
16890параметр none в директиве smtp_auth.<br/>
16891Спасибо Максиму Дунину.
16892</para>
16893<para lang="en">
16894the "none" parameter in the "smtp_auth" directive.<br/>
16895Thanks to Maxim Dounin.
16896</para>
16897</change>
16898
16899<change type="feature">
16900<para lang="ru">
16901переменные "$cookie_...".
16902</para>
16903<para lang="en">
16904the "$cookie_..." variables.
16905</para>
16906</change>
16907
16908<change type="bugfix">
16909<para lang="ru">
16910директива directio не работала с файловой системой XFS.
16911</para>
16912<para lang="en">
16913the "directio" directive did not work in XFS filesystem.
16914</para>
16915</change>
16916
16917<change type="bugfix">
16918<para lang="ru">
16919resolver не понимал большие DNS-ответы.<br/>
16920Спасибо Zyb.
16921</para>
16922<para lang="en">
16923the resolver did not understand big DNS responses.<br/>
16924Thanks to Zyb.
16925</para>
16926</change>
16927
16928</changes>
16929
16930
16931<changes ver="0.7.21" date="2008-11-11">
16932
16933<change>
16934<para lang="ru">
16935Изменения в модуле ngx_http_limit_req_module.
16936</para>
16937<para lang="en">
16938Changes in the ngx_http_limit_req_module.
16939</para>
16940</change>
16941
16942<change type="feature">
16943<para lang="ru">
16944поддержка EXSLT в модуле ngx_http_xslt_module.<br/>
16945Спасибо Денису Латыпову.
16946</para>
16947<para lang="en">
16948the EXSLT support in the ngx_http_xslt_module.<br/>
16949Thanks to Denis F. Latypoff.
16950</para>
16951</change>
16952
16953<change type="workaround">
16954<para lang="ru">
16955совместимость с glibc 2.3.<br/>
16956Спасибо Eric Benson и Максиму Дунину.
16957</para>
16958<para lang="en">
16959compatibility with glibc 2.3.<br/>
16960Thanks to Eric Benson and Maxim Dounin.
16961</para>
16962</change>
16963
16964<change type="bugfix">
16965<para lang="ru">
16966nginx не запускался на MacOSX 10.4 и более ранних;
16967ошибка появилась в 0.7.6.
16968</para>
16969<para lang="en">
16970nginx could not run on MacOSX 10.4 and earlier;
16971the bug had appeared in 0.7.6.
16972</para>
16973</change>
16974
16975</changes>
16976
16977
16978<changes ver="0.7.20" date="2008-11-10">
16979
16980<change>
16981<para lang="ru">
16982Изменения в модуле ngx_http_gzip_filter_module.
16983</para>
16984<para lang="en">
16985Changes in the ngx_http_gzip_filter_module.
16986</para>
16987</change>
16988
16989<change type="feature">
16990<para lang="ru">
16991модуль ngx_http_limit_req_module.
16992</para>
16993<para lang="en">
16994the ngx_http_limit_req_module.
16995</para>
16996</change>
16997
16998<change type="bugfix">
16999<para lang="ru">
17000на платформах sparc и ppc рабочие процессы могли выходить по сигналу SIGBUS;
17001ошибка появилась в 0.7.3.<br/>
17002Спасибо Максиму Дунину.
17003</para>
17004<para lang="en">
17005worker processes might exit on a SIGBUS signal on sparc and ppc platforms;
17006the bug had appeared in 0.7.3.<br/>
17007Thanks to Maxim Dounin.
17008</para>
17009</change>
17010
17011<change type="bugfix">
17012<para lang="ru">
17013директивы вида "proxy_pass http://host/some:uri" не работали;
17014ошибка появилась в 0.7.12.
17015</para>
17016<para lang="en">
17017the "proxy_pass http://host/some:uri" directives did not work;
17018the bug had appeared in 0.7.12.
17019</para>
17020</change>
17021
17022<change type="bugfix">
17023<para lang="ru">
17024при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry".
17025</para>
17026<para lang="en">
17027in HTTPS mode requests might fail with the "bad write retry" error.
17028</para>
17029</change>
17030
17031<change type="bugfix">
17032<para lang="ru">
17033модуль ngx_http_secure_link_module не работал внутри location'ов
17034с именами меньше 3 символов.
17035</para>
17036<para lang="en">
17037the ngx_http_secure_link_module did not work inside locations,
17038whose names are less than 3 characters.
17039</para>
17040</change>
17041
17042<change type="bugfix">
17043<para lang="ru">
17044переменная $server_addr могла не иметь значения.
17045</para>
17046<para lang="en">
17047$server_addr variable might have no value.
17048</para>
17049</change>
17050
17051</changes>
17052
17053
17054<changes ver="0.7.19" date="2008-10-13">
17055
17056<change type="bugfix">
17057<para lang="ru">
17058обновление номера версии.
17059</para>
17060<para lang="en">
17061version number update.
17062</para>
17063</change>
17064
17065</changes>
17066
17067
17068<changes ver="0.7.18" date="2008-10-13">
17069
17070<change type="change">
17071<para lang="ru">
17072директива underscores_in_headers;
17073теперь nginx по умолчанию не разрешает подчёркивания в именах строк
17074в заголовке запроса клиента.
17075</para>
17076<para lang="en">
17077the "underscores_in_headers" directive;
17078now nginx does not allows underscores in a client request header line names.
17079</para>
17080</change>
17081
17082<change type="feature">
17083<para lang="ru">
17084модуль ngx_http_secure_link_module.
17085</para>
17086<para lang="en">
17087the ngx_http_secure_link_module.
17088</para>
17089</change>
17090
17091<change type="feature">
17092<para lang="ru">
17093директива real_ip_header поддерживает любой заголовок.
17094</para>
17095<para lang="en">
17096the "real_ip_header" directive supports any header.
17097</para>
17098</change>
17099
17100<change type="feature">
17101<para lang="ru">
17102директива log_subrequest.
17103</para>
17104<para lang="en">
17105the "log_subrequest" directive.
17106</para>
17107</change>
17108
17109<change type="feature">
17110<para lang="ru">
17111переменная $realpath_root.
17112</para>
17113<para lang="en">
17114the $realpath_root variable.
17115</para>
17116</change>
17117
17118<change type="feature">
17119<para lang="ru">
17120параметры http_502 и http_504 в директиве proxy_next_upstream.
17121</para>
17122<para lang="en">
17123the "http_502" and "http_504" parameters of the "proxy_next_upstream" directive.
17124</para>
17125</change>
17126
17127<change type="bugfix">
17128<para lang="ru">
17129параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream
17130не работал.
17131</para>
17132<para lang="en">
17133the "http_503" parameter of the "proxy_next_upstream" or
17134"fastcgi_next_upstream" directives did not work.
17135</para>
17136</change>
17137
17138<change type="bugfix">
17139<para lang="ru">
17140nginx мог выдавать строку "Transfer-Encoding: chunked" для запросов  HEAD.
17141</para>
17142<para lang="en">
17143nginx might send a "Transfer-Encoding: chunked" header line for HEAD requests.
17144</para>
17145</change>
17146
17147<change type="bugfix">
17148<para lang="ru">
17149теперь accept-лимит зависит от числа worker_connections.
17150</para>
17151<para lang="en">
17152now accept threshold depends on worker_connections.
17153</para>
17154</change>
17155
17156</changes>
17157
17158
17159<changes ver="0.7.17" date="2008-09-15">
17160
17161<change type="feature">
17162<para lang="ru">
17163директива directio теперь работает на Linux.
17164</para>
17165<para lang="en">
17166now the "directio" directive works on Linux.
17167</para>
17168</change>
17169
17170<change type="feature">
17171<para lang="ru">
17172переменная $pid.
17173</para>
17174<para lang="en">
17175the $pid variable.
17176</para>
17177</change>
17178
17179<change type="bugfix">
17180<para lang="ru">
17181оптимизация directio, появившаяся в 0.7.15, не работала при использовании
17182open_file_cache.
17183</para>
17184<para lang="en">
17185the "directio" optimization that had appeared in 0.7.15 did not work with
17186open_file_cache.
17187</para>
17188</change>
17189
17190<change type="bugfix">
17191<para lang="ru">
17192access_log с переменными не работал на Linux;
17193ошибка появилась в 0.7.7.
17194</para>
17195<para lang="en">
17196the "access_log" with variables did not work on Linux;
17197the bug had appeared in 0.7.7.
17198</para>
17199</change>
17200
17201<change type="bugfix">
17202<para lang="ru">
17203модуль ngx_http_charset_module не понимал название кодировки в кавычках,
17204полученное от бэкенда.
17205</para>
17206<para lang="en">
17207the ngx_http_charset_module did not understand quoted charset name
17208received from backend.
17209</para>
17210</change>
17211
17212</changes>
17213
17214
17215<changes ver="0.7.16" date="2008-09-08">
17216
17217<change type="bugfix">
17218<para lang="ru">
17219nginx не собирался на 64-битных платформах;
17220ошибка появилась в 0.7.15.
17221</para>
17222<para lang="en">
17223nginx could not be built on 64-bit platforms;
17224the bug had appeared in 0.7.15.
17225</para>
17226</change>
17227
17228</changes>
17229
17230
17231<changes ver="0.7.15" date="2008-09-08">
17232
17233<change type="feature">
17234<para lang="ru">
17235модуль ngx_http_random_index_module.
17236</para>
17237<para lang="en">
17238the ngx_http_random_index_module.
17239</para>
17240</change>
17241
17242<change type="feature">
17243<para lang="ru">
17244директива directio оптимизирована для запросов файлов, начинающихся
17245с произвольной позиции.
17246</para>
17247<para lang="en">
17248the "directio" directive has been optimized for file requests starting
17249from arbitrary position.
17250</para>
17251</change>
17252
17253<change type="feature">
17254<para lang="ru">
17255директива directio при необходимости запрещает использование sendfile.
17256</para>
17257<para lang="en">
17258the "directio" directive turns off sendfile if it is necessary.
17259</para>
17260</change>
17261
17262<change type="feature">
17263<para lang="ru">
17264теперь nginx разрешает подчёркивания в именах строк в заголовке запроса клиента.
17265</para>
17266<para lang="en">
17267now nginx allows underscores in a client request header line names.
17268</para>
17269</change>
17270
17271</changes>
17272
17273
17274<changes ver="0.7.14" date="2008-09-01">
17275
17276<change type="change">
17277<para lang="ru">
17278теперь директивы ssl_certificate и ssl_certificate_key не имеют
17279значений по умолчанию.
17280</para>
17281<para lang="en">
17282now the ssl_certificate and ssl_certificate_key directives have no
17283default values.
17284</para>
17285</change>
17286
17287<change type="feature">
17288<para lang="ru">
17289директива listen поддерживает параметр ssl.
17290</para>
17291<para lang="en">
17292the "listen" directive supports the "ssl" parameter.
17293</para>
17294</change>
17295
17296<change type="feature">
17297<para lang="ru">
17298теперь при переконфигурации nginx учитывает изменение временной зоны
17299на FreeBSD и Linux.
17300</para>
17301<para lang="en">
17302now nginx takes into account a time zone change while reconfiguration
17303on FreeBSD and Linux.
17304</para>
17305</change>
17306
17307<change type="bugfix">
17308<para lang="ru">
17309параметры директивы listen, такие как backlog, rcvbuf и прочие,
17310не устанавливались, если сервером по умолчанию был не первый сервер.
17311</para>
17312<para lang="en">
17313the "listen" directive parameters such as "backlog", "rcvbuf", etc.
17314were not set, if a default server was not the first one.
17315</para>
17316</change>
17317
17318<change type="bugfix">
17319<para lang="ru">
17320при использовании в качестве аргументов части URI, выделенного с помощью
17321директивы rewrite, эти аргументы не экранировались.
17322</para>
17323<para lang="en">
17324if URI part captured by a "rewrite" directive was used as a query string,
17325then the query string was not escaped.
17326</para>
17327</change>
17328
17329<change type="bugfix">
17330<para lang="ru">
17331улучшения тестирования правильности конфигурационного файла.
17332</para>
17333<para lang="en">
17334configuration file validity test improvements.
17335</para>
17336</change>
17337
17338
17339</changes>
17340
17341
17342<changes ver="0.7.13" date="2008-08-26">
17343
17344<change type="bugfix">
17345<para lang="ru">
17346nginx не собирался на Linux и Solaris;
17347ошибка появилась в 0.7.12.
17348</para>
17349<para lang="en">
17350nginx could not be built on Linux and Solaris;
17351the bug had appeared in 0.7.12.
17352</para>
17353</change>
17354
17355</changes>
17356
17357
17358<changes ver="0.7.12" date="2008-08-26">
17359
17360<change type="feature">
17361<para lang="ru">
17362директива server_name поддерживает пустое имя "".
17363</para>
17364<para lang="en">
17365the "server_name" directive supports empty name "".
17366</para>
17367</change>
17368
17369<change type="feature">
17370<para lang="ru">
17371директива gzip_disable поддерживает специальную маску msie6.
17372</para>
17373<para lang="en">
17374the "gzip_disable" directive supports special "msie6" mask.
17375</para>
17376</change>
17377
17378<change type="bugfix">
17379<para lang="ru">
17380при использовании параметра max_fails=0 в upstream'е с несколькими
17381серверами рабочий процесс выходил по сигналу SIGFPE.<br/>
17382Спасибо Максиму Дунину.
17383</para>
17384<para lang="en">
17385if the "max_fails=0" parameter was used in upstream with several servers,
17386then a worker process exited on a SIGFPE signal.<br/>
17387Thanks to Maxim Dounin.
17388</para>
17389</change>
17390
17391<change type="bugfix">
17392<para lang="ru">
17393при перенаправлении запроса с помощью директивы error_page
17394терялось тело запроса.
17395</para>
17396<para lang="en">
17397a request body was dropped while redirection via an "error_page" directive.
17398</para>
17399</change>
17400
17401<change type="bugfix">
17402<para lang="ru">
17403при перенаправлении запроса с методом HEAD с помощью директивы error_page
17404возвращался полный ответ.
17405</para>
17406<para lang="en">
17407a full response was returned for request method HEAD
17408while redirection via an "error_page" directive.
17409</para>
17410</change>
17411
17412<change type="bugfix">
17413<para lang="ru">
17414метод $r->header_in() не возвращал значения строк "Host", "User-Agent",
17415и "Connection" из заголовка запроса;
17416ошибка появилась в 0.7.0.
17417</para>
17418<para lang="en">
17419the $r->header_in() method did not return value of the "Host",
17420"User-Agent", and "Connection" request header lines;
17421the bug had appeared in 0.7.0.
17422</para>
17423</change>
17424
17425</changes>
17426
17427
17428<changes ver="0.7.11" date="2008-08-18">
17429
17430<change type="change">
17431<para lang="ru">
17432теперь ngx_http_charset_module по умолчанию не работает MIME-типом text/css.
17433</para>
17434<para lang="en">
17435now ngx_http_charset_module does not work by default with text/css MIME type.
17436</para>
17437</change>
17438
17439<change type="feature">
17440<para lang="ru">
17441теперь nginx возвращает код 405 для метода POST при запросе статического
17442файла, только если файл существует.
17443</para>
17444<para lang="en">
17445now nginx returns the 405 status code for POST method requesting a static file
17446only if the file exists.
17447</para>
17448</change>
17449
17450<change type="feature">
17451<para lang="ru">
17452директива proxy_ssl_session_reuse.
17453</para>
17454<para lang="en">
17455the "proxy_ssl_session_reuse" directive.
17456</para>
17457</change>
17458
17459<change type="bugfix">
17460<para lang="ru">
17461после перенаправления запроса с помощью "X-Accel-Redirect"
17462директива proxy_pass без URI могла использовать оригинальный запрос.
17463</para>
17464<para lang="en">
17465a "proxy_pass" directive without URI part might use original request
17466after the "X-Accel-Redirect" redirection was used.
17467</para>
17468</change>
17469
17470<change type="bugfix">
17471<para lang="ru">
17472если у каталога были права доступа только на поиск файлов
17473и первый индексный файл отсутствовал, то nginx возвращал ошибку 500.
17474</para>
17475<para lang="en">
17476if a directory has search only rights and the first index file was absent,
17477then nginx returned the 500 status code.
17478</para>
17479</change>
17480
17481<change type="bugfix">
17482<para lang="ru">
17483ошибок во вложенных location'ах;
17484ошибки появились в 0.7.1.
17485</para>
17486<para lang="en">
17487in inclusive locations;
17488the bugs had appeared in 0.7.1.
17489</para>
17490</change>
17491
17492</changes>
17493
17494
17495<changes ver="0.7.10" date="2008-08-13">
17496
17497<change type="bugfix">
17498<para lang="ru">
17499ошибок в директивах addition_types, charset_types,
17500gzip_types, ssi_types, sub_filter_types и xslt_types;
17501ошибки появились в 0.7.9.
17502</para>
17503<para lang="en">
17504in the "addition_types", "charset_types",
17505"gzip_types", "ssi_types", "sub_filter_types", and "xslt_types" directives;
17506the bugs had appeared in 0.7.9.
17507</para>
17508</change>
17509
17510<change type="bugfix">
17511<para lang="ru">
17512рекурсивной error_page для 500 ошибки.
17513</para>
17514<para lang="en">
17515of recursive error_page for 500 status code.
17516</para>
17517</change>
17518
17519<change type="bugfix">
17520<para lang="ru">
17521теперь модуль ngx_http_realip_module устанавливает адрес не для
17522всего keepalive соединения, а для каждого запроса по этому соединению.
17523</para>
17524<para lang="en">
17525now the ngx_http_realip_module sets address not for whole keepalive connection,
17526but for each request passed via the connection.
17527</para>
17528</change>
17529
17530</changes>
17531
17532
17533<changes ver="0.7.9" date="2008-08-12">
17534
17535<change type="change">
17536<para lang="ru">
17537теперь ngx_http_charset_module по умолчанию работает со следующими MIME-типами:
17538text/html, text/css, text/xml, text/plain, text/vnd.wap.wml,
17539application/x-javascript и application/rss+xml.
17540</para>
17541<para lang="en">
17542now ngx_http_charset_module works by default with following MIME types:
17543text/html, text/css, text/xml, text/plain, text/vnd.wap.wml,
17544application/x-javascript, and application/rss+xml.
17545</para>
17546</change>
17547
17548<change type="feature">
17549<para lang="ru">
17550директивы charset_types и addition_types.
17551</para>
17552<para lang="en">
17553the "charset_types" and "addition_types" directives.
17554</para>
17555</change>
17556
17557<change type="feature">
17558<para lang="ru">
17559теперь директивы gzip_types, ssi_types и sub_filter_types используют хэш.
17560</para>
17561<para lang="en">
17562now the "gzip_types", "ssi_types", and "sub_filter_types" directives use hash.
17563</para>
17564</change>
17565
17566<change type="feature">
17567<para lang="ru">
17568модуль ngx_cpp_test_module.
17569</para>
17570<para lang="en">
17571the ngx_cpp_test_module.
17572</para>
17573</change>
17574
17575<change type="feature">
17576<para lang="ru">
17577директива expires поддерживает суточное время.
17578</para>
17579<para lang="en">
17580the "expires" directive supports daily time.
17581</para>
17582</change>
17583
17584<change type="feature">
17585<para lang="ru">
17586улучшения и исправления в модуле ngx_http_xslt_module.<br/>
17587Спасибо Денису Латыпову и Максиму Дунину.
17588</para>
17589<para lang="en">
17590the ngx_http_xslt_module improvements and bug fixing.<br/>
17591Thanks to Denis F. Latypoff and Maxim Dounin.
17592</para>
17593</change>
17594
17595<change type="bugfix">
17596<para lang="ru">
17597директива log_not_found не работала при поиске индексных файлов.
17598</para>
17599<para lang="en">
17600the "log_not_found" directive did not work for index files tests.
17601</para>
17602</change>
17603
17604<change type="bugfix">
17605<para lang="ru">
17606HTTPS-соединения могли зависнуть,
17607если использовались методы kqueue, epoll, rtsig или eventport;
17608ошибка появилась в 0.7.7.
17609</para>
17610<para lang="en">
17611HTTPS connections might hang,
17612if kqueue, epoll, rtsig, or eventport methods were used;
17613the bug had appeared in 0.7.7.
17614</para>
17615</change>
17616
17617<change type="bugfix">
17618<para lang="ru">
17619если в директивах server_name, valid_referers и map
17620использовалась маска вида "*.domain.tld" и при этом полное имя
17621вида "domain.tld" не было описано, то это имя попадало под маску;
17622ошибка появилась в 0.3.18.
17623</para>
17624<para lang="en">
17625if the "server_name", "valid_referers", and "map" directives used
17626an "*.domain.tld" wildcard and exact name "domain.tld" was not set,
17627then the exact name was matched by the wildcard;
17628the bug had appeared in 0.3.18.
17629</para>
17630</change>
17631
17632</changes>
17633
17634
17635<changes ver="0.7.8" date="2008-08-04">
17636
17637<change type="feature">
17638<para lang="ru">
17639модуль ngx_http_xslt_module.
17640</para>
17641<para lang="en">
17642the ngx_http_xslt_module.
17643</para>
17644</change>
17645
17646<change type="feature">
17647<para lang="ru">
17648переменные "$arg_...".
17649</para>
17650<para lang="en">
17651the "$arg_..." variables.
17652</para>
17653</change>
17654
17655<change type="feature">
17656<para lang="ru">
17657поддержка directio в Solaris.<br/>
17658Спасибо Ivan Debnar.
17659</para>
17660<para lang="en">
17661Solaris directio support.<br/>
17662Thanks to Ivan Debnar.
17663</para>
17664</change>
17665
17666<change type="bugfix">
17667<para lang="ru">
17668теперь, если FastCGI-сервер присылает строку "Location" в заголовке ответа
17669без строки статуса, то nginx использует код статуса 302.<br/>
17670Спасибо Максиму Дунину.
17671</para>
17672<para lang="en">
17673now if FastCGI server sends a "Location" header line without status line,
17674then nginx uses 302 status code.<br/>
17675Thanks to Maxim Dounin.
17676</para>
17677</change>
17678
17679</changes>
17680
17681
17682<changes ver="0.7.7" date="2008-07-30">
17683
17684<change type="change">
17685<para lang="ru">
17686теперь ошибка EAGAIN при вызове connect() не считается временной.
17687</para>
17688<para lang="en">
17689now the EAGAIN error returned by connect() is not considered as temporary error.
17690</para>
17691</change>
17692
17693<change type="change">
17694<para lang="ru">
17695значением переменной $ssl_client_cert теперь является сертификат,
17696перед каждой строкой которого, кроме первой, вставляется символ табуляции;
17697неизменённый сертификат доступен через переменную $ssl_client_raw_cert.
17698</para>
17699<para lang="en">
17700now the $ssl_client_cert variable value is a certificate with TAB character
17701intended before each line except first one;
17702an unchanged certificate is available in the $ssl_client_raw_cert variable.
17703</para>
17704</change>
17705
17706<change type="feature">
17707<para lang="ru">
17708параметр ask директивы ssl_verify_client.
17709</para>
17710<para lang="en">
17711the "ask" parameter in the "ssl_verify_client" directive.
17712</para>
17713</change>
17714
17715<change type="feature">
17716<para lang="ru">
17717улучшения в обработке byte-range.<br/>
17718Спасибо Максиму Дунину.
17719</para>
17720<para lang="en">
17721byte-range processing improvements.<br/>
17722Thanks to Maxim Dounin.
17723</para>
17724</change>
17725
17726<change type="feature">
17727<para lang="ru">
17728директива directio.<br/>
17729Спасибо Jiang Hong.
17730</para>
17731<para lang="en">
17732the "directio" directive.<br/>
17733Thanks to Jiang Hong.
17734</para>
17735</change>
17736
17737<change type="feature">
17738<para lang="ru">
17739поддержка sendfile() в MacOSX 10.5.
17740</para>
17741<para lang="en">
17742MacOSX 10.5 sendfile() support.
17743</para>
17744</change>
17745
17746<change type="bugfix">
17747<para lang="ru">
17748в MacOSX и Cygwin при проверке location'ов теперь делается сравнение
17749без учёта регистра символов;
17750однако, сравнение ограничено только однобайтными locale'ями.
17751</para>
17752<para lang="en">
17753now in MacOSX and Cygwin locations are tested in case insensitive mode;
17754however, the compare is provided by single-byte locales only.
17755</para>
17756</change>
17757
17758<change type="bugfix">
17759<para lang="ru">
17760соединения почтового прокси-сервера зависали в режиме SSL,
17761если использовались методы select, poll или /dev/poll.
17762</para>
17763<para lang="en">
17764mail proxy SSL connections hanged,
17765if select, poll, or /dev/poll methods were used.
17766</para>
17767</change>
17768
17769<change type="bugfix">
17770<para lang="ru">
17771ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module.
17772</para>
17773<para lang="en">
17774UTF-8 encoding usage in the ngx_http_autoindex_module.
17775</para>
17776</change>
17777
17778</changes>
17779
17780
17781<changes ver="0.7.6" date="2008-07-07">
17782
17783<change type="bugfix">
17784<para lang="ru">
17785теперь при использовании переменных в директиве access_log
17786всегда проверяется существовании root'а для запроса.
17787</para>
17788<para lang="en">
17789now if variables are used in the "access_log" directive
17790a request root existence is always tested.
17791</para>
17792</change>
17793
17794<change type="bugfix">
17795<para lang="ru">
17796модуль ngx_http_flv_module не поддерживал несколько значений в
17797аргументах запроса.
17798</para>
17799<para lang="en">
17800the ngx_http_flv_module did not support several values in a query string.
17801</para>
17802</change>
17803
17804</changes>
17805
17806
17807<changes ver="0.7.5" date="2008-07-01">
17808
17809<change>
17810<para lang="ru">
17811Исправления в поддержке переменных в директиве access_log;
17812ошибки появились в 0.7.4.
17813</para>
17814<para lang="en">
17815Bugfixes in variables support in the "access_log" directive;
17816the bugs had appeared in 0.7.4.
17817</para>
17818</change>
17819
17820<change type="bugfix">
17821<para lang="ru">
17822nginx не собирался с параметром --without-http_gzip_module;
17823ошибка появилась в 0.7.3.<br/>
17824Спасибо Кириллу Коринскому.
17825</para>
17826<para lang="en">
17827nginx could not be built --without-http_gzip_module;
17828the bug had appeared in 0.7.3.<br/>
17829Thanks to Kirill A. Korinskiy.
17830</para>
17831</change>
17832
17833<change type="bugfix">
17834<para lang="ru">
17835при совместном использовании sub_filter и SSI
17836ответы могли передаваться неверно.
17837</para>
17838<para lang="en">
17839if sub_filter and SSI were used together, then responses might
17840were transferred incorrectly.
17841</para>
17842</change>
17843
17844</changes>
17845
17846
17847<changes ver="0.7.4" date="2008-06-30">
17848
17849<change type="feature">
17850<para lang="ru">
17851директива access_log поддерживает переменные.
17852</para>
17853<para lang="en">
17854variables support in the "access_log" directive.
17855</para>
17856</change>
17857
17858<change type="feature">
17859<para lang="ru">
17860директива open_log_file_cache.
17861</para>
17862<para lang="en">
17863the "open_log_file_cache" directive.
17864</para>
17865</change>
17866
17867<change type="feature">
17868<para lang="ru">
17869ключ -g.
17870</para>
17871<para lang="en">
17872the -g switch.
17873</para>
17874</change>
17875
17876<change type="feature">
17877<para lang="ru">
17878поддержка строки "Expect" в заголовке запроса.
17879</para>
17880<para lang="en">
17881the "Expect" request header line support.
17882</para>
17883</change>
17884
17885<change type="bugfix">
17886<para lang="ru">
17887большие включения в SSI могли передавались не полностью.
17888</para>
17889<para lang="en">
17890large SSI inclusions might be truncated.
17891</para>
17892</change>
17893
17894</changes>
17895
17896
17897<changes ver="0.7.3" date="2008-06-23">
17898
17899<change type="change">
17900<para lang="ru">
17901MIME-тип для расширения rss изменён на "application/rss+xml".
17902</para>
17903<para lang="en">
17904the "rss" extension MIME type has been changed to "application/rss+xml".
17905</para>
17906</change>
17907
17908<change type="change">
17909<para lang="ru">
17910теперь директива "gzip_vary on" выдаёт строку
17911<nobr>"Vary: Accept-Encoding"</nobr>
17912в заголовке ответа и для несжатых ответов.
17913</para>
17914<para lang="en">
17915now the "gzip_vary" directive turned on issues
17916a <nobr>"Vary: Accept-Encoding"</nobr>
17917header line for uncompressed responses too.
17918</para>
17919</change>
17920
17921<change type="feature">
17922<para lang="ru">
17923теперь при использовании протокола "https://" в директиве rewrite
17924автоматически делается редирект.
17925</para>
17926<para lang="en">
17927now the "rewrite" directive does a redirect automatically
17928if the "https://" protocol is used.
17929</para>
17930</change>
17931
17932<change type="bugfix">
17933<para lang="ru">
17934директива proxy_pass не работала с протоколом HTTPS;
17935ошибка появилась в 0.6.9.
17936</para>
17937<para lang="en">
17938the "proxy_pass" directive did not work with the HTTPS protocol;
17939the bug had appeared in 0.6.9.
17940</para>
17941</change>
17942
17943</changes>
17944
17945
17946<changes ver="0.7.2" date="2008-06-16">
17947
17948<change type="feature">
17949<para lang="ru">
17950теперь nginx поддерживает шифры с обменом EDH-ключами.
17951</para>
17952<para lang="en">
17953now nginx supports EDH key exchange ciphers.
17954</para>
17955</change>
17956
17957<change type="feature">
17958<para lang="ru">
17959директива ssl_dhparam.
17960</para>
17961<para lang="en">
17962the "ssl_dhparam" directive.
17963</para>
17964</change>
17965
17966<change type="feature">
17967<para lang="ru">
17968переменная $ssl_client_cert.<br/>
17969Спасибо Manlio Perillo.
17970</para>
17971<para lang="en">
17972the $ssl_client_cert variable.<br/>
17973Thanks to Manlio Perillo.
17974</para>
17975</change>
17976
17977<change type="bugfix">
17978<para lang="ru">
17979после изменения URI с помощью директивы rewrite nginx не искал новый location;
17980ошибка появилась в 0.7.1.<br/>
17981Спасибо Максиму Дунину.
17982</para>
17983<para lang="en">
17984after changing URI via a "rewrite" directive nginx did not search
17985a new location;
17986the bug had appeared in 0.7.1.<br/>
17987Thanks to Maxim Dounin.
17988</para>
17989</change>
17990
17991<change type="bugfix">
17992<para lang="ru">
17993nginx не собирался без библиотеки PCRE;
17994ошибка появилась в 0.7.1.
17995</para>
17996<para lang="en">
17997nginx could not be built without PCRE library;
17998the bug had appeared in 0.7.1.
17999</para>
18000</change>
18001
18002<change type="bugfix">
18003<para lang="ru">
18004при редиректе запроса к каталогу с добавлением слэша nginx
18005не добавлял аргументы из оригинального запроса.
18006</para>
18007<para lang="en">
18008when a request to a directory was redirected with the slash added,
18009nginx dropped a query string from the original request.
18010</para>
18011</change>
18012
18013</changes>
18014
18015
18016<changes ver="0.7.1" date="2008-05-26">
18017
18018<change type="change">
18019<para lang="ru">
18020теперь поиск location'а делается с помощью дерева.
18021</para>
18022<para lang="en">
18023now locations are searched in a tree.
18024</para>
18025</change>
18026
18027<change type="change">
18028<para lang="ru">
18029директива optimize_server_names упразднена в связи с появлением
18030директивы server_name_in_redirect.
18031</para>
18032<para lang="en">
18033the "optimize_server_names" directive was canceled
18034due to the "server_name_in_redirect" directive introduction.
18035</para>
18036</change>
18037
18038<change type="change">
18039<para lang="ru">
18040некоторые давно устаревшие директивы больше не поддерживаются.
18041</para>
18042<para lang="en">
18043some long deprecated directives are not supported anymore.
18044</para>
18045</change>
18046
18047<change type="change">
18048<para lang="ru">
18049параметр "none" в директиве ssl_session_cache;
18050теперь этот параметр используется по умолчанию.<br/>
18051Спасибо Rob Mueller.
18052</para>
18053<para lang="en">
18054the "none" parameter in the "ssl_session_cache" directive;
18055now this is default parameter.<br/>
18056Thanks to Rob Mueller.
18057</para>
18058</change>
18059
18060<change type="bugfix">
18061<para lang="ru">
18062рабочие процессы могли не реагировать на сигналы переконфигурации
18063и ротации логов.
18064</para>
18065<para lang="en">
18066worker processes might not catch reconfiguration and log rotation signals.
18067</para>
18068</change>
18069
18070<change type="bugfix">
18071<para lang="ru">
18072nginx не собирался на последних Fedora 9 Linux.<br/>
18073Спасибо Roxis.
18074</para>
18075<para lang="en">
18076nginx could not be built on latest Fedora 9 Linux.<br/>
18077Thanks to Roxis.
18078</para>
18079</change>
18080
18081</changes>
18082
18083
18084<changes ver="0.7.0" date="2008-05-19">
18085
18086<change type="change">
18087<para lang="ru">
18088теперь символы 0x00-0x1F, '"' и '\' в access_log записываются в виде \xXX.<br/>
18089Спасибо Максиму Дунину.
18090</para>
18091<para lang="en">
18092now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX in an
18093access_log.<br/>
18094Thanks to Maxim Dounin.
18095</para>
18096</change>
18097
18098<change type="change">
18099<para lang="ru">
18100теперь nginx разрешает несколько строк "Host" в заголовке запроса.
18101</para>
18102<para lang="en">
18103now nginx allows several "Host" request header line.
18104</para>
18105</change>
18106
18107<change type="feature">
18108<para lang="ru">
18109директива expires поддерживает флаг modified.
18110</para>
18111<para lang="en">
18112the "modified" flag in the "expires" directive.
18113</para>
18114</change>
18115
18116<change type="feature">
18117<para lang="ru">
18118переменные $uid_got и $uid_set можно использовать на любой стадии обработки
18119запроса.
18120</para>
18121<para lang="en">
18122the $uid_got and $uid_set variables may be used at any request processing stage.
18123</para>
18124</change>
18125
18126<change type="feature">
18127<para lang="ru">
18128переменная $hostname.<br/>
18129Спасибо Андрею Нигматулину.
18130</para>
18131<para lang="en">
18132the $hostname variable.<br/>
18133Thanks to Andrei Nigmatulin.
18134</para>
18135</change>
18136
18137<change type="feature">
18138<para lang="ru">
18139поддержка DESTDIR.<br/>
18140Спасибо Todd A. Fisher и Andras Voroskoi.
18141</para>
18142<para lang="en">
18143DESTDIR support.<br/>
18144Thanks to Todd A. Fisher and Andras Voroskoi.
18145</para>
18146</change>
18147
18148<change type="bugfix">
18149<para lang="ru">
18150при использовании keepalive на Linux
18151в рабочем процессе мог произойти segmentation fault.
18152</para>
18153<para lang="en">
18154a segmentation fault might occur in worker process on Linux,
18155if keepalive was enabled.
18156</para>
18157</change>
18158
18159</changes>
18160
18161
18162<changes ver="0.6.31" date="2008-05-12">
18163
18164<change type="bugfix">
18165<para lang="ru">
18166nginx не обрабатывал ответ FastCGI-сервера, если строка заголовка ответа была
18167в конце записи FastCGI;
18168ошибка появилась в 0.6.2.<br/>
18169Спасибо Сергею Серову.
18170</para>
18171<para lang="en">
18172nginx did not process FastCGI response
18173if header was at the end of FastCGI record;
18174the bug had appeared in 0.6.2.<br/>
18175Thanks to Sergey Serov.
18176</para>
18177</change>
18178
18179<change type="bugfix">
18180<para lang="ru">
18181при удалении файла и использовании директивы open_file_cache_errors off
18182в рабочем процессе мог произойти segmentation fault.
18183</para>
18184<para lang="en">
18185a segmentation fault might occur in worker process if a file was deleted
18186and the "open_file_cache_errors" directive was off.
18187</para>
18188</change>
18189
18190</changes>
18191
18192
18193<changes ver="0.6.30" date="2008-04-29">
18194
18195<change type="change">
18196<para lang="ru">
18197теперь, если маске, заданной в директиве include, не соответствует
18198ни один файл, то nginx не выдаёт ошибку.
18199</para>
18200<para lang="en">
18201now if an "include" directive pattern does not match any file,
18202then nginx does not issue an error.
18203</para>
18204</change>
18205
18206<change type="feature">
18207<para lang="ru">
18208теперь время в директивах можно задавать без пробела, например, "1h50m".
18209</para>
18210<para lang="en">
18211now the time in directives may be specified without spaces,
18212for example, "1h50m".
18213</para>
18214</change>
18215
18216<change type="bugfix">
18217<para lang="ru">
18218утечек памяти, если директива ssl_verify_client имела значение on.<br/>
18219Спасибо Chavelle Vincent.
18220</para>
18221<para lang="en">
18222memory leaks if the "ssl_verify_client" directive was on.<br/>
18223Thanks to Chavelle Vincent.
18224</para>
18225</change>
18226
18227<change type="bugfix">
18228<para lang="ru">
18229директива sub_filter могла вставлять заменяемый текст в вывод.
18230</para>
18231<para lang="en">
18232the "sub_filter" directive might set text to change into output.
18233</para>
18234</change>
18235
18236<change type="bugfix">
18237<para lang="ru">
18238директива error_page не воспринимала параметры в перенаправляемом URI.
18239</para>
18240<para lang="en">
18241the "error_page" directive did not take into account arguments in
18242redirected URI.
18243</para>
18244</change>
18245
18246<change type="bugfix">
18247<para lang="ru">
18248теперь при сборке с Cygwin nginx всегда открывает файлы в бинарном режиме.
18249</para>
18250<para lang="en">
18251now nginx always opens files in binary mode under Cygwin.
18252</para>
18253</change>
18254
18255<change type="bugfix">
18256<para lang="ru">
18257nginx не собирался под OpenBSD;
18258ошибка появилась в 0.6.15.
18259</para>
18260<para lang="en">
18261nginx could not be built on OpenBSD;
18262the bug had appeared in 0.6.15.
18263</para>
18264</change>
18265
18266</changes>
18267
18268
18269<changes ver="0.6.29" date="2008-03-18">
18270
18271<change type="feature">
18272<para lang="ru">
18273модуль ngx_google_perftools_module.
18274</para>
18275<para lang="en">
18276the ngx_google_perftools_module.
18277</para>
18278</change>
18279
18280<change type="bugfix">
18281<para lang="ru">
18282модуль ngx_http_perl_module не собирался на 64-битных платформах;
18283ошибка появилась в 0.6.27.
18284</para>
18285<para lang="en">
18286the ngx_http_perl_module could not be built on 64-bit platforms;
18287the bug had appeared in 0.6.27.
18288</para>
18289</change>
18290
18291</changes>
18292
18293
18294<changes ver="0.6.28" date="2008-03-13">
18295
18296<change type="bugfix">
18297<para lang="ru">
18298метод rtsig не собирался;
18299ошибка появилась в 0.6.27.
18300</para>
18301<para lang="en">
18302the rtsig method could not be built;
18303the bug had appeared in 0.6.27.
18304</para>
18305</change>
18306
18307</changes>
18308
18309
18310<changes ver="0.6.27" date="2008-03-12">
18311
18312<change type="change">
18313<para lang="ru">
18314теперь на Linux 2.6.18+ по умолчанию не собирается метод rtsig.
18315</para>
18316<para lang="en">
18317now by default the rtsig method is not built on <nobr>Linux 2.6.18+.</nobr>
18318</para>
18319</change>
18320
18321<change type="change">
18322<para lang="ru">
18323теперь при перенаправлении запроса в именованный location с помощью
18324директивы error_page метод запроса не изменяется.
18325</para>
18326<para lang="en">
18327now a request method is not changed while redirection to a named location
18328via an "error_page" directive.
18329</para>
18330</change>
18331
18332<change type="feature">
18333<para lang="ru">
18334директивы resolver и resolver_timeout в SMTP прокси-сервере.
18335</para>
18336<para lang="en">
18337the "resolver" and "resolver_timeout" directives in SMTP proxy.
18338</para>
18339</change>
18340
18341<change type="feature">
18342<para lang="ru">
18343директива post_action поддерживает именованные location'ы.
18344</para>
18345<para lang="en">
18346the "post_action" directive supports named locations.
18347</para>
18348</change>
18349
18350<change type="bugfix">
18351<para lang="ru">
18352при перенаправлении запроса из location'а c обработчиком proxy, FastCGI
18353или memcached в именованный location со статическим обработчиком
18354в рабочем процессе происходил segmentation fault.
18355</para>
18356<para lang="en">
18357a segmentation fault occurred in worker process,
18358if a request was redirected from proxy, FastCGI, or memcached location
18359to static named locations.
18360</para>
18361</change>
18362
18363<change type="bugfix">
18364<para lang="ru">
18365браузеры не повторяли SSL handshake, если при первом handshake
18366не оказалось правильного клиентского сертификата.
18367<br/>
18368Спасибо Александру Инюхину.
18369</para>
18370<para lang="en">
18371browsers did not repeat SSL handshake if there is no valid client certificate
18372in first handshake.
18373<br/>
18374Thanks to Alexander V. Inyukhin.
18375</para>
18376</change>
18377
18378<change type="bugfix">
18379<para lang="ru">
18380при перенаправлении ошибок 495-497 с помощью директивы error_page
18381без изменения кода ошибки nginx пытался выделить очень много памяти.
18382</para>
18383<para lang="en">
18384if response code 495-497 was redirected via an "error_page" directive
18385without code change, then nginx tried to allocate too many memory.
18386</para>
18387</change>
18388
18389<change type="bugfix">
18390<para lang="ru">
18391утечки памяти в долгоживущих небуфферизированных соединениях.
18392</para>
18393<para lang="en">
18394memory leak in long-lived non buffered connections.
18395</para>
18396</change>
18397
18398<change type="bugfix">
18399<para lang="ru">
18400утечки памяти в resolver'е.
18401</para>
18402<para lang="en">
18403memory leak in resolver.
18404</para>
18405</change>
18406
18407<change type="bugfix">
18408<para lang="ru">
18409при перенаправлении запроса из location'а c обработчиком proxy
18410в другой location с обработчиком proxy
18411в рабочем процессе происходил segmentation fault.
18412</para>
18413<para lang="en">
18414a segmentation fault occurred in worker process,
18415if a request was redirected from proxy, FastCGI, or memcached location
18416to static named locations.
18417</para>
18418</change>
18419
18420<change type="bugfix">
18421<para lang="ru">
18422ошибки в кэшировании переменных $proxy_host и $proxy_port.<br/>
18423Спасибо Сергею Боченкову.
18424</para>
18425<para lang="en">
18426in the $proxy_host and $proxy_port variables caching.<br/>
18427Thanks to Sergey Bochenkov.
18428</para>
18429</change>
18430
18431<change type="bugfix">
18432<para lang="ru">
18433директива proxy_pass с переменными использовала порт, описанной в другой
18434директиве proxy_pass без переменных, но с таким же именем хоста.<br/>
18435Спасибо Сергею Боченкову.
18436</para>
18437<para lang="en">
18438a "proxy_pass" directive with variables used incorrectly the same port
18439as in another "proxy_pass" directive with the same host name
18440and without variables.<br/>
18441Thanks to Sergey Bochenkov.
18442</para>
18443</change>
18444
18445<change type="bugfix">
18446<para lang="ru">
18447во время переконфигурации на некоторых 64-битном платформах в лог
18448записывался alert "sendmsg() failed (9: Bad file descriptor)".
18449</para>
18450<para lang="en">
18451an alert "sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms
18452while reconfiguration.
18453</para>
18454</change>
18455
18456<change type="bugfix">
18457<para lang="ru">
18458при повторном использовании в SSI пустого block'а в качестве заглушки
18459в рабочем процессе происходил segmentation fault.
18460</para>
18461<para lang="en">
18462a segmentation fault occurred in worker process,
18463if empty stub block was used second time in SSI.
18464</para>
18465</change>
18466
18467<change type="bugfix">
18468<para lang="ru">
18469ошибки при копировании части URI, содержащего экранированные символы,
18470в аргументы.
18471</para>
18472<para lang="en">
18473in copying URI part contained escaped symbols into arguments.
18474</para>
18475</change>
18476
18477</changes>
18478
18479
18480<changes ver="0.6.26" date="2008-02-11">
18481
18482<change type="bugfix">
18483<para lang="ru">
18484директивы proxy_store и fastcgi_store не проверяли длину ответа.
18485</para>
18486<para lang="en">
18487the "proxy_store" and "fastcgi_store" directives did not check
18488a response length.
18489</para>
18490</change>
18491
18492<change type="bugfix">
18493<para lang="ru">
18494при использовании большого значения в директиве expires
18495в рабочем процессе происходил segmentation fault.<br/>
18496Спасибо Joaquin Cuenca Abela.
18497</para>
18498<para lang="en">
18499a segmentation fault occurred in worker process,
18500if big value was used in a "expires" directive.<br/>
18501Thanks to Joaquin Cuenca Abela.
18502</para>
18503</change>
18504
18505<change type="bugfix">
18506<para lang="ru">
18507nginx неверно определял длину строки кэша на <nobr>Pentium 4.</nobr><br/>
18508Спасибо Геннадию Махомеду.
18509</para>
18510<para lang="en">
18511nginx incorrectly detected cache line size on Pentium 4.<br/>
18512Thanks to Gena Makhomed.
18513</para>
18514</change>
18515
18516<change type="bugfix">
18517<para lang="ru">
18518в проксированных подзапросах и подзапросах к FastCGI-серверу
18519вместо метода GET использовался оригинальный метод клиента.
18520</para>
18521<para lang="en">
18522in proxied or FastCGI subrequests a client original method was used
18523instead of the GET method.
18524</para>
18525</change>
18526
18527<change type="bugfix">
18528<para lang="ru">
18529утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/>
18530Спасибо Ben Maurer.
18531</para>
18532<para lang="en">
18533socket leak in HTTPS mode if deferred accept was used.<br/>
18534Thanks to Ben Maurer.
18535</para>
18536</change>
18537
18538<change type="bugfix">
18539<para lang="ru">
18540nginx выдавал ошибочное сообщение "SSL_shutdown() failed (SSL: )";
18541ошибка появилась в 0.6.23.
18542</para>
18543<para lang="en">
18544nginx issued the bogus error message "SSL_shutdown() failed (SSL: )";
18545the bug had appeared in 0.6.23.
18546</para>
18547</change>
18548
18549<change type="bugfix">
18550<para lang="ru">
18551при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry";
18552ошибка появилась в 0.6.23.
18553</para>
18554<para lang="en">
18555in HTTPS mode requests might fail with the "bad write retry" error;
18556the bug had appeared in 0.6.23.
18557</para>
18558</change>
18559
18560</changes>
18561
18562
18563<changes ver="0.6.25" date="2008-01-08">
18564
18565<change type="change">
18566<para lang="ru">
18567вместо специального параметра "*" в директиве server_name теперь
18568используется директива server_name_in_redirect.
18569</para>
18570<para lang="en">
18571now the "server_name_in_redirect" directive is used instead of
18572the "server_name" directive's special "*" parameter.
18573</para>
18574</change>
18575
18576<change type="change">
18577<para lang="ru">
18578в качестве основного имени в директиве server_name теперь
18579можно использовать имена с масками и регулярными выражениями.
18580</para>
18581<para lang="en">
18582now wildcard and regex names can be used as main name in
18583a "server_name" directive.
18584</para>
18585</change>
18586
18587<change type="change">
18588<para lang="ru">
18589директива satisfy_any заменена директивой satisfy.
18590</para>
18591<para lang="en">
18592the "satisfy_any" directive was replaced by the "satisfy" directive.
18593</para>
18594</change>
18595
18596<change type="workaround">
18597<para lang="ru">
18598после переконфигурации старые рабочие процесс могли сильно нагружать процессор
18599при запуске под Linux OpenVZ.
18600</para>
18601<para lang="en">
18602old worker processes might hog CPU after reconfiguration if they was run
18603under Linux OpenVZ.
18604</para>
18605</change>
18606
18607<change type="feature">
18608<para lang="ru">
18609директива min_delete_depth.
18610</para>
18611<para lang="en">
18612the "min_delete_depth" directive.
18613</para>
18614</change>
18615
18616<change type="bugfix">
18617<para lang="ru">
18618методы COPY и MOVE не работали с одиночными файлами.
18619</para>
18620<para lang="en">
18621the COPY and MOVE methods did not work with single files.
18622</para>
18623</change>
18624
18625<change type="bugfix">
18626<para lang="ru">
18627модуль ngx_http_gzip_static_module не позволял работать модулю
18628ngx_http_dav_module;
18629ошибка появилась в 0.6.23.
18630</para>
18631<para lang="en">
18632the ngx_http_gzip_static_module did not allow the ngx_http_dav_module to work;
18633the bug had appeared in 0.6.23.
18634</para>
18635</change>
18636
18637<change type="bugfix">
18638<para lang="ru">
18639утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/>
18640Спасибо Ben Maurer.
18641</para>
18642<para lang="en">
18643socket leak in HTTPS mode if deferred accept was used.<br/>
18644Thanks to Ben Maurer.
18645</para>
18646</change>
18647
18648<change type="bugfix">
18649<para lang="ru">
18650nginx не собирался без библиотеки PCRE;
18651ошибка появилась в 0.6.23.
18652</para>
18653<para lang="en">
18654nginx could not be built without PCRE library;
18655the bug had appeared in 0.6.23.
18656</para>
18657</change>
18658
18659</changes>
18660
18661<changes ver="0.6.24" date="2007-12-27">
18662
18663<change type="bugfix">
18664<para lang="ru">
18665при использовании HTTPS в рабочем процессе мог произойти segmentation fault;
18666ошибка появилась в 0.6.23.
18667</para>
18668<para lang="en">
18669a segmentation fault might occur in worker process if HTTPS was used;
18670the bug had appeared in 0.6.23.
18671</para>
18672</change>
18673
18674</changes>
18675
18676
18677<changes ver="0.6.23" date="2007-12-27">
18678
18679<change type="change">
18680<para lang="ru">
18681параметр "off" в директиве ssl_session_cache;
18682теперь этот параметр используется по умолчанию.
18683</para>
18684<para lang="en">
18685the "off" parameter in the "ssl_session_cache" directive;
18686now this is default parameter.
18687</para>
18688</change>
18689
18690<change type="change">
18691<para lang="ru">
18692директива open_file_cache_retest переименована в open_file_cache_valid.
18693</para>
18694<para lang="en">
18695the "open_file_cache_retest" directive was renamed
18696to the "open_file_cache_valid".
18697</para>
18698</change>
18699
18700<change type="feature">
18701<para lang="ru">
18702директива open_file_cache_min_uses.
18703</para>
18704<para lang="en">
18705the "open_file_cache_min_uses" directive.
18706</para>
18707</change>
18708
18709<change type="feature">
18710<para lang="ru">
18711модуль ngx_http_gzip_static_module.
18712</para>
18713<para lang="en">
18714the ngx_http_gzip_static_module.
18715</para>
18716</change>
18717
18718<change type="feature">
18719<para lang="ru">
18720директива gzip_disable.
18721</para>
18722<para lang="en">
18723the "gzip_disable" directive.
18724</para>
18725</change>
18726
18727<change type="feature">
18728<para lang="ru">
18729директиву memcached_pass можно использовать внутри блока if.
18730</para>
18731<para lang="en">
18732the "memcached_pass" directive may be used inside the "if" block.
18733</para>
18734</change>
18735
18736<change type="bugfix">
18737<para lang="ru">
18738если внутри одного location'а использовались директивы "memcached_pass" и "if",
18739то в рабочем процессе происходил segmentation fault.
18740</para>
18741<para lang="en">
18742a segmentation fault occurred in worker process,
18743if the "memcached_pass" and "if" directives were used in the same location.
18744</para>
18745</change>
18746
18747<change type="bugfix">
18748<para lang="ru">
18749если при использовании директивы satisfy_any on" были заданы директивы
18750не всех модулей доступа, то заданные директивы не проверялись.
18751</para>
18752<para lang="en">
18753if a "satisfy_any on" directive was used and not all access and auth modules
18754directives were set, then other given access and auth directives
18755were not tested;
18756</para>
18757</change>
18758
18759<change type="bugfix">
18760<para lang="ru">
18761параметры, заданные регулярным выражением в директиве valid_referers,
18762не наследовалась с предыдущего уровня.
18763</para>
18764<para lang="en">
18765regex parameters in a "valid_referers" directive were not inherited
18766from previous level.
18767</para>
18768</change>
18769
18770<change type="bugfix">
18771<para lang="ru">
18772директива post_action не работала, если запрос завершался с кодом 499.
18773</para>
18774<para lang="en">
18775a "post_action" directive did run if a request was completed
18776with 499 status code.
18777</para>
18778</change>
18779
18780<change type="bugfix">
18781<para lang="ru">
18782оптимизация использования 16K буфера для SSL-соединения.<br/>
18783Спасибо Ben Maurer.
18784</para>
18785<para lang="en">
18786optimization of 16K buffer usage in a SSL connection.<br/>
18787Thanks to Ben Maurer.
18788</para>
18789</change>
18790
18791<change type="bugfix">
18792<para lang="ru">
18793STARTTLS в режиме SMTP не работал.<br/>
18794Спасибо Олегу Мотиенко.
18795</para>
18796<para lang="en">
18797the STARTTLS in SMTP mode did not work.<br/>
18798Thanks to Oleg Motienko.
18799</para>
18800</change>
18801
18802<change type="bugfix">
18803<para lang="ru">
18804при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry";
18805ошибка появилась в 0.5.13.
18806</para>
18807<para lang="en">
18808in HTTPS mode requests might fail with the "bad write retry" error;
18809the bug had appeared in 0.5.13.
18810</para>
18811</change>
18812
18813</changes>
18814
18815
18816<changes ver="0.6.22" date="2007-12-19">
18817
18818<change type="change">
18819<para lang="ru">
18820теперь все методы модуля ngx_http_perl_module
18821возвращают значения, скопированные в память, выделенную perl'ом.
18822</para>
18823<para lang="en">
18824now all ngx_http_perl_module methods return values copied to perl's
18825allocated memory.
18826</para>
18827</change>
18828
18829<change type="bugfix">
18830<para lang="ru">
18831если nginx был собран с модулем ngx_http_perl_module,
18832использовался perl до версии 5.8.6 и perl поддерживал потоки,
18833то во время переконфигурации основной процесс аварийно выходил;
18834ошибка появилась в 0.5.9.<br/>
18835Спасибо Борису Жмурову.
18836</para>
18837<para lang="en">
18838if nginx was built with ngx_http_perl_module,
18839the perl before 5.8.6 was used, and perl supported threads,
18840then during reconfiguration the master process aborted;
18841the bug had appeared in 0.5.9.<br/>
18842Thanks to Boris Zhmurov.
18843</para>
18844</change>
18845
18846<change type="bugfix">
18847<para lang="ru">
18848в методы модуля ngx_http_perl_module
18849могли передаваться неверные результаты выделения в регулярных выражениях.
18850</para>
18851<para lang="en">
18852the ngx_http_perl_module methods may get invalid values of the regex captures.
18853</para>
18854</change>
18855
18856<change type="bugfix">
18857<para lang="ru">
18858если метод $r->has_request_body() вызывался для запроса,
18859у которого небольшое тело запроса было уже полностью получено,
18860то в рабочем процессе происходил segmentation fault.
18861</para>
18862<para lang="en">
18863a segmentation fault occurred in worker process,
18864if the $r->has_request_body() method was called for a request
18865whose small request body was already received.
18866</para>
18867</change>
18868
18869<change type="bugfix">
18870<para lang="ru">
18871large_client_header_buffers не освобождались перед переходом в состояние
18872keep-alive.<br/>
18873Спасибо Олександру Штепе.
18874</para>
18875<para lang="en">
18876large_client_header_buffers did not freed before going to keep-alive state.<br/>
18877Thanks to Olexander Shtepa.
18878</para>
18879</change>
18880
18881<change type="bugfix">
18882<para lang="ru">
18883в переменной $upstream_addr не записывался последний адрес;
18884ошибка появилась в 0.6.18.
18885</para>
18886<para lang="en">
18887the last address was missed in the $upstream_addr variable;
18888the bug had appeared in 0.6.18.
18889</para>
18890</change>
18891
18892<change type="bugfix">
18893<para lang="ru">
18894директива fastcgi_catch_stderr не возвращала ошибку;
18895теперь она возвращает ошибку 502, которую можно направить на следующий сервер
18896с помощью "fastcgi_next_upstream invalid_header".
18897</para>
18898<para lang="en">
18899the "fastcgi_catch_stderr" directive did return error code;
18900now it returns 502 code, that can be rerouted to a next server using
18901the "fastcgi_next_upstream invalid_header" directive.
18902</para>
18903</change>
18904
18905<change type="bugfix">
18906<para lang="ru">
18907при использовании директивы fastcgi_catch_stderr
18908в основном процессе происходил segmentation fault;
18909ошибка появилась в 0.6.10.<br/>
18910Спасибо Manlio Perillo.
18911</para>
18912<para lang="en">
18913a segmentation fault occurred in master process
18914if the "fastcgi_catch_stderr" directive was used;
18915the bug had appeared in 0.6.10.<br/>
18916Thanks to Manlio Perillo.
18917</para>
18918</change>
18919
18920</changes>
18921
18922
18923<changes ver="0.6.21" date="2007-12-03">
18924
18925<change type="change">
18926<para lang="ru">
18927если в значениях переменных директивы proxy_pass используются
18928только IP-адреса, то указывать resolver не нужно.
18929</para>
18930<para lang="en">
18931if variable values used in a "proxy_pass" directive contain IP-addresses only,
18932then a "resolver" directive is not mandatory.
18933</para>
18934</change>
18935
18936<change type="bugfix">
18937<para lang="ru">
18938при использовании директивы proxy_pass c URI-частью
18939в рабочем процессе мог произойти segmentation fault;
18940ошибка появилась в 0.6.19.
18941</para>
18942<para lang="en">
18943a segmentation fault might occur in worker process
18944if a "proxy_pass" directive with URI-part was used;
18945the bug had appeared in 0.6.19.
18946</para>
18947</change>
18948
18949<change type="bugfix">
18950<para lang="ru">
18951если resolver использовался на платформах, не поддерживающих метод kqueue,
18952то nginx выдавал alert "name is out of response".<br/>
18953Спасибо Андрею Нигматулину.
18954</para>
18955<para lang="en">
18956if resolver was used on platform that does not support kqueue,
18957then nginx issued an alert "name is out of response".<br/>
18958Thanks to Andrei Nigmatulin.
18959</para>
18960</change>
18961
18962<change type="bugfix">
18963<para lang="ru">
18964При использовании переменной $server_protocol в FastCGI-параметрах
18965и запросе, длина которого была близка к значению директивы
18966client_header_buffer_size,
18967nginx выдавал alert "fastcgi: the request record is too big".
18968</para>
18969<para lang="en">
18970if the $server_protocol was used in FastCGI parameters
18971and a request line length was near to the "client_header_buffer_size"
18972directive value,
18973then nginx issued an alert "fastcgi: the request record is too big".
18974</para>
18975</change>
18976
18977<change type="bugfix">
18978<para lang="ru">
18979при обычном запросе версии HTTP/0.9 к HTTPS серверу nginx возвращал
18980обычный ответ.
18981</para>
18982<para lang="en">
18983if a plain text HTTP/0.9 version request was made to HTTPS server,
18984then nginx returned usual response.
18985</para>
18986</change>
18987
18988</changes>
18989
18990
18991<changes ver="0.6.20" date="2007-11-28">
18992
18993<change type="bugfix">
18994<para lang="ru">
18995при использовании директивы proxy_pass c URI-частью
18996в рабочем процессе мог произойти segmentation fault;
18997ошибка появилась в 0.6.19.
18998</para>
18999<para lang="en">
19000a segmentation fault might occur in worker process
19001if a "proxy_pass" directive with URI-part was used;
19002the bug had appeared in 0.6.19.
19003</para>
19004</change>
19005
19006</changes>
19007
19008
19009<changes ver="0.6.19" date="2007-11-27">
19010
19011<change type="bugfix">
19012<para lang="ru">
19013версия 0.6.18 не собиралась.
19014</para>
19015<para lang="en">
19016the 0.6.18 version could not be built.
19017</para>
19018</change>
19019
19020</changes>
19021
19022<changes ver="0.6.18" date="2007-11-27">
19023
19024<change type="change">
19025<para lang="ru">
19026теперь модуль ngx_http_userid_module в поле куки с номером процесса
19027добавляет микросекунды на время старта.
19028</para>
19029<para lang="en">
19030now the ngx_http_userid_module adds start time microseconds
19031to the cookie field contains a pid value.
19032</para>
19033</change>
19034
19035<change type="change">
19036<para lang="ru">
19037в error_log теперь записывается полная строка запроса вместо только URI.
19038</para>
19039<para lang="en">
19040now the full request line instead of URI only is written to error_log.
19041</para>
19042</change>
19043
19044<change type="feature">
19045<para lang="ru">
19046директива proxy_pass поддерживает переменные.
19047</para>
19048<para lang="en">
19049variables support in the "proxy_pass" directive.
19050</para>
19051</change>
19052
19053<change type="feature">
19054<para lang="ru">
19055директивы resolver и resolver_timeout.
19056</para>
19057<para lang="en">
19058the "resolver" and "resolver_timeout" directives.
19059</para>
19060</change>
19061
19062<change type="feature">
19063<para lang="ru">
19064теперь директива "add_header last-modified ''" удаляет в заголовке ответа
19065строку "Last-Modified".
19066</para>
19067<para lang="en">
19068now the directive "add_header last-modified ''" deletes a "Last-Modified"
19069response header line.
19070</para>
19071</change>
19072
19073<change type="bugfix">
19074<para lang="ru">
19075директива limit_rate не позволяла передавать на полной скорости,
19076даже если был указан очень большой лимит.
19077</para>
19078<para lang="en">
19079the "limit_rate" directive did not allow to use full throughput,
19080even if limit value was very high.
19081</para>
19082</change>
19083
19084</changes>
19085
19086
19087<changes ver="0.6.17" date="2007-11-15">
19088
19089<change type="feature">
19090<para lang="ru">
19091поддержка строки "If-Range" в заголовке запроса.<br/>
19092Спасибо Александру Инюхину.
19093</para>
19094<para lang="en">
19095the "If-Range" request header line support.<br/>
19096Thanks to Alexander V. Inyukhin.
19097</para>
19098</change>
19099
19100<change type="bugfix">
19101<para lang="ru">
19102при использовании директивы msie_refresh повторно экранировались
19103уже экранированные символы;
19104ошибка появилась в 0.6.4.
19105</para>
19106<para lang="en">
19107URL double escaping in a redirect of the "msie_refresh" directive;
19108the bug had appeared in 0.6.4.
19109</para>
19110</change>
19111
19112<change type="bugfix">
19113<para lang="ru">
19114директива autoindex не работала при использовании "alias /".
19115</para>
19116<para lang="en">
19117the "autoindex" directive did not work with the "alias /" directive.
19118</para>
19119</change>
19120
19121<change type="bugfix">
19122<para lang="ru">
19123при использовании подзапросов
19124в рабочем процессе мог произойти segmentation fault.
19125</para>
19126<para lang="en">
19127a segmentation fault might occur in worker process if subrequests were used.
19128</para>
19129</change>
19130
19131<change type="bugfix">
19132<para lang="ru">
19133при использовании SSL и gzip большие ответы могли передаваться не полностью.
19134</para>
19135<para lang="en">
19136the big responses may be transferred truncated if SSL and gzip were used.
19137</para>
19138</change>
19139
19140<change type="bugfix">
19141<para lang="ru">
19142если ответ проксированного сервера был версии HTTP/0.9,
19143то переменная $status была равна 0.
19144</para>
19145<para lang="en">
19146the $status variable was equal to 0 if a proxied server returned response
19147in HTTP/0.9 version.
19148</para>
19149</change>
19150
19151</changes>
19152
19153
19154<changes ver="0.6.16" date="2007-10-29">
19155
19156<change type="change">
19157<para lang="ru">
19158теперь на Linux используется uname(2) вместо procfs.<br/>
19159Спасибо Илье Новикову.
19160</para>
19161<para lang="en">
19162now the uname(2) is used on Linux instead of procfs.<br/>
19163Thanks to Ilya Novikov.
19164</para>
19165</change>
19166
19167<change type="bugfix">
19168<para lang="ru">
19169если в директиве error_page использовался символ "?", то он экранировался
19170при проксировании запроса;
19171ошибка появилась в 0.6.11.
19172</para>
19173<para lang="en">
19174if the "?" character was in a "error_page" directive, then it was escaped
19175in a proxied request;
19176the bug had appeared in 0.6.11.
19177</para>
19178</change>
19179
19180<change type="bugfix">
19181<para lang="ru">
19182совместимость с mget.
19183</para>
19184<para lang="en">
19185compatibility with mget.
19186</para>
19187</change>
19188
19189</changes>
19190
19191
19192<changes ver="0.6.15" date="2007-10-22">
19193
19194<change type="feature">
19195<para lang="ru">
19196совместимость с Cygwin.<br/>
19197Спасибо Владимиру Кутакову.
19198</para>
19199<para lang="en">
19200Cygwin compatibility.<br/>
19201Thanks to Vladimir Kutakov.
19202</para>
19203</change>
19204
19205<change type="feature">
19206<para lang="ru">
19207директива merge_slashes.
19208</para>
19209<para lang="en">
19210the "merge_slashes" directive.
19211</para>
19212</change>
19213
19214<change type="feature">
19215<para lang="ru">
19216директива gzip_vary.
19217</para>
19218<para lang="en">
19219the "gzip_vary" directive.
19220</para>
19221</change>
19222
19223<change type="feature">
19224<para lang="ru">
19225директива server_tokens.
19226</para>
19227<para lang="en">
19228the "server_tokens" directive.
19229</para>
19230</change>
19231
19232<change type="bugfix">
19233<para lang="ru">
19234nginx не раскодировал URI в команде SSI include.
19235</para>
19236<para lang="en">
19237nginx did not unescape URI in the "include" SSI command.
19238</para>
19239</change>
19240
19241<change type="bugfix">
19242<para lang="ru">
19243при использовании переменной в директивах charset или source_charset
19244на старте или во время переконфигурации происходил segmentation fault,
19245</para>
19246<para lang="en">
19247the segmentation fault was occurred on start or while reconfiguration
19248if variable was used in the "charset" or "source_charset" directives.
19249</para>
19250</change>
19251
19252<change type="bugfix">
19253<para lang="ru">
19254nginx возвращал ошибку 400 на запросы вида
19255<nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/>
19256Спасибо James Oakley.
19257</para>
19258<para lang="en">
19259nginx returned the 400 response on requests like
19260<nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/>
19261Thanks to James Oakley.
19262</para>
19263</change>
19264
19265<change type="bugfix">
19266<para lang="ru">
19267после перенаправления запроса с телом запроса с помощью директивы
19268error_page nginx пытался снова прочитать тело запроса;
19269ошибка появилась в 0.6.7.
19270</para>
19271<para lang="en">
19272if request with request body was redirected using the "error_page" directive,
19273then nginx tried to read the request body again;
19274the bug had appeared in 0.6.7.
19275</para>
19276</change>
19277
19278<change type="bugfix">
19279<para lang="ru">
19280в рабочем процессе происходил segmentation fault, если у сервера,
19281обрабатывающему запрос, не был явно определён server_name;
19282ошибка появилась в 0.6.7.
19283</para>
19284<para lang="en">
19285a segmentation fault occurred in worker process
19286if no server_name was explicitly defined for server processing request;
19287the bug had appeared in 0.6.7.
19288</para>
19289</change>
19290
19291</changes>
19292
19293
19294<changes ver="0.6.14" date="2007-10-15">
19295
19296<change type="change">
19297<para lang="ru">
19298теперь по умолчанию команда SSI echo использует кодирование entity.
19299</para>
19300<para lang="en">
19301now by default the "echo" SSI command uses entity encoding.
19302</para>
19303</change>
19304
19305<change type="feature">
19306<para lang="ru">
19307параметр encoding в команде SSI echo.
19308</para>
19309<para lang="en">
19310the "encoding" parameter in the "echo" SSI command.
19311</para>
19312</change>
19313
19314<change type="feature">
19315<para lang="ru">
19316директиву access_log можно использовать внутри блока limit_except.
19317</para>
19318<para lang="en">
19319the "access_log" directive may be used inside the "limit_except" block.
19320</para>
19321</change>
19322
19323<change type="bugfix">
19324<para lang="ru">
19325если все сервера апстрима оказывались недоступными,
19326то до восстановления работоспособности
19327у всех серверов вес становился равным одному;
19328ошибка появилась в 0.6.6.
19329</para>
19330<para lang="en">
19331if all upstream servers were failed, then all servers had got weight
19332the was equal one until servers became alive;
19333the bug had appeared in 0.6.6.
19334</para>
19335</change>
19336
19337<change type="bugfix">
19338<para lang="ru">
19339при использовании переменных $date_local и $date_gmt вне модуля
19340ngx_http_ssi_filter_module в рабочем процессе происходил segmentation fault.
19341</para>
19342<para lang="en">
19343a segmentation fault occurred in worker process
19344if $date_local and $date_gmt were used outside the ngx_http_ssi_filter_module.
19345</para>
19346</change>
19347
19348<change type="bugfix">
19349<para lang="ru">
19350при использовании включённом отладочном логе
19351в рабочем процессе мог произойти segmentation fault.<br/>
19352Спасибо Андрею Нигматулину.
19353</para>
19354<para lang="en">
19355a segmentation fault might occur in worker process
19356if debug log was enabled.<br/>
19357Thanks to Andrei Nigmatulin.
19358</para>
19359</change>
19360
19361<change type="bugfix">
19362<para lang="ru">
19363ngx_http_memcached_module не устанавливал $upstream_response_time.<br/>
19364Спасибо Максиму Дунину.
19365</para>
19366<para lang="en">
19367ngx_http_memcached_module did not set $upstream_response_time.<br/>
19368Thanks to Maxim Dounin.
19369</para>
19370</change>
19371
19372<change type="bugfix">
19373<para lang="ru">
19374рабочий процесс мог зациклиться при использовании memcached.
19375</para>
19376<para lang="en">
19377a worker process may got caught in an endless loop, if the memcached was used.
19378</para>
19379</change>
19380
19381<change type="bugfix">
19382<para lang="ru">
19383nginx распознавал параметры "close" и "keep-alive" в строке "Connection"
19384в заголовке запроса только, если они были в нижнем регистре;
19385ошибка появилась в 0.6.11.
19386</para>
19387<para lang="en">
19388nginx supported low case only "close" and "keep-alive" values
19389in the "Connection" request header line;
19390the bug had appeared in 0.6.11.
19391</para>
19392</change>
19393
19394<change type="bugfix">
19395<para lang="ru">
19396sub_filter не работал с пустой строкой замены.
19397</para>
19398<para lang="en">
19399sub_filter did not work with empty substitution.
19400</para>
19401</change>
19402
19403<change type="bugfix">
19404<para lang="ru">
19405в парсинге sub_filter.
19406</para>
19407<para lang="en">
19408in sub_filter parsing.
19409</para>
19410</change>
19411
19412</changes>
19413
19414
19415<changes ver="0.6.13" date="2007-09-24">
19416
19417<change type="bugfix">
19418<para lang="ru">
19419nginx не закрывал файл каталога для запроса HEAD,
19420если использовался autoindex<br/>
19421Спасибо Arkadiusz Patyk.
19422</para>
19423<para lang="en">
19424nginx did not close directory file on HEAD request if autoindex was used.<br/>
19425Thanks to Arkadiusz Patyk.
19426</para>
19427</change>
19428
19429</changes>
19430
19431
19432<changes ver="0.6.12" date="2007-09-21">
19433
19434<change type="change">
19435<para lang="ru">
19436почтовый прокси-сервер разделён на три модуля: pop3, imap и smtp.
19437</para>
19438<para lang="en">
19439mail proxy was split on three modules: pop3, imap and smtp.
19440</para>
19441</change>
19442
19443<change type="feature">
19444<para lang="ru">
19445параметры конфигурации --without-mail_pop3_module,
19446--without-mail_imap_module и --without-mail_smtp_module.
19447</para>
19448<para lang="en">
19449the --without-mail_pop3_module, --without-mail_imap_module,
19450and --without-mail_smtp_module configuration parameters.
19451</para>
19452</change>
19453
19454<change type="feature">
19455<para lang="ru">
19456директивы smtp_greeting_delay и smtp_client_buffer модуля ngx_mail_smtp_module.
19457</para>
19458<para lang="en">
19459the "smtp_greeting_delay" and "smtp_client_buffer" directives
19460of the ngx_mail_smtp_module.
19461</para>
19462</change>
19463
19464<change type="bugfix">
19465<para lang="ru">
19466wildcard в конце имени сервера не работали;
19467ошибка появилась в 0.6.9.
19468</para>
19469<para lang="en">
19470the trailing wildcards did not work;
19471the bug had appeared in 0.6.9.
19472</para>
19473</change>
19474
19475<change type="bugfix">
19476<para lang="ru">
19477при использовании разделяемой библиотеки PCRE,
19478расположенной в нестандартном месте, nginx не запускался на Solaris.
19479</para>
19480<para lang="en">
19481nginx could not start on Solaris if the shared PCRE library located
19482in non-standard place was used.
19483</para>
19484</change>
19485
19486<change type="bugfix">
19487<para lang="ru">
19488директивы proxy_hide_header и fastcgi_hide_header не скрывали
19489строки заголовка ответа с именем больше 32 символов.<br/>
19490Спасибо Manlio Perillo.
19491</para>
19492<para lang="en">
19493the "proxy_hide_header" and "fastcgi_hide_header" directives did not
19494hide response header lines whose name was longer than 32 characters.<br/>
19495Thanks to Manlio Perillo.
19496</para>
19497</change>
19498
19499</changes>
19500
19501
19502<changes ver="0.6.11" date="2007-09-11">
19503
19504<change type="bugfix">
19505<para lang="ru">
19506счётчик активных соединений всегда рос при использовании почтового
19507прокси-сервера.
19508</para>
19509<para lang="en">
19510active connection counter always increased if mail proxy was used.
19511</para>
19512</change>
19513
19514<change type="bugfix">
19515<para lang="ru">
19516если бэкенд возвращал только заголовок ответа при небуферизированном
19517проксировании, то nginx закрывал соединение с бэкендом по таймауту.
19518</para>
19519<para lang="en">
19520if backend returned response header only using non-buffered proxy,
19521then nginx closed backend connection on timeout.
19522</para>
19523</change>
19524
19525<change type="bugfix">
19526<para lang="ru">
19527nginx не поддерживал несколько строк "Connection" в заголовке запроса.
19528</para>
19529<para lang="en">
19530nginx did not support several "Connection" request header lines.
19531</para>
19532</change>
19533
19534<change type="bugfix">
19535<para lang="ru">
19536если в сервере апстрима был задан max_fails, то после первой же неудачной
19537попытки вес сервера навсегда становился равным одному;
19538ошибка появилась в 0.6.6.
19539</para>
19540<para lang="en">
19541if the "max_fails" was set for upstream server, then after first
19542failure server weight was always one;
19543the bug had appeared in 0.6.6.
19544</para>
19545</change>
19546
19547</changes>
19548
19549
19550<changes ver="0.6.10" date="2007-09-03">
19551
19552<change type="feature">
19553<para lang="ru">
19554директивы open_file_cache, open_file_cache_retest и open_file_cache_errors.
19555</para>
19556<para lang="en">
19557the "open_file_cache", "open_file_cache_retest", and "open_file_cache_errors"
19558directives.
19559</para>
19560</change>
19561
19562<change type="bugfix">
19563<para lang="ru">
19564утечки сокетов;
19565ошибка появилась в 0.6.7.
19566</para>
19567<para lang="en">
19568socket leak;
19569the bug had appeared in 0.6.7.
19570</para>
19571</change>
19572
19573<change type="bugfix">
19574<para lang="ru">
19575В строку заголовка ответа "Content-Type", указанную в методе
19576$r->send_http_header(), не добавлялась кодировка, указанная в директиве charset.
19577</para>
19578<para lang="en">
19579a charset set by the "charset" directive was not appended
19580to the "Content-Type" header set by $r->send_http_header().
19581</para>
19582</change>
19583
19584<change type="bugfix">
19585<para lang="ru">
19586при использовании метода /dev/poll
19587в рабочем процессе мог произойти segmentation fault.
19588</para>
19589<para lang="en">
19590a segmentation fault might occur in worker process
19591if /dev/poll method was used.
19592</para>
19593</change>
19594
19595</changes>
19596
19597
19598<changes ver="0.6.9" date="2007-08-28">
19599
19600<change type="bugfix">
19601<para lang="ru">
19602рабочий процесс мог зациклиться при использовании протокола HTTPS;
19603ошибка появилась в 0.6.7.
19604</para>
19605<para lang="en">
19606a worker process may got caught in an endless loop,
19607if the HTTPS protocol was used;
19608the bug had appeared in 0.6.7.
19609</para>
19610</change>
19611
19612<change type="bugfix">
19613<para lang="ru">
19614если сервер слушал на двух адресах или портах, то nginx не запускался
19615при использовании wildcard в конце имени сервера.
19616</para>
19617<para lang="en">
19618if server listened on two addresses or ports and trailing wildcard was used,
19619then nginx did not run.
19620</para>
19621</change>
19622
19623<change type="bugfix">
19624<para lang="ru">
19625директива ip_hash могла неверно помечать сервера как нерабочие.
19626</para>
19627<para lang="en">
19628the "ip_hash" directive might incorrectly mark servers as down.
19629</para>
19630</change>
19631
19632<change type="bugfix">
19633<para lang="ru">
19634nginx не собирался на amd64;
19635ошибка появилась в 0.6.8.
19636</para>
19637<para lang="en">
19638nginx could not be built on amd64;
19639the bug had appeared in 0.6.8.
19640</para>
19641</change>
19642
19643</changes>
19644
19645
19646<changes ver="0.6.8" date="2007-08-20">
19647
19648<change type="change">
19649<para lang="ru">
19650теперь nginx пытается установить директивы worker_priority,
19651worker_rlimit_nofile, worker_rlimit_core, worker_rlimit_sigpending
19652без привилегий root'а.
19653</para>
19654<para lang="en">
19655now nginx tries to set the "worker_priority", "worker_rlimit_nofile",
19656"worker_rlimit_core", and "worker_rlimit_sigpending" without super-user
19657privileges.
19658</para>
19659</change>
19660
19661<change type="change">
19662<para lang="ru">
19663теперь nginx экранирует символы пробела и "%" при передаче запроса
19664серверу аутентификации почтового прокси-сервера.
19665</para>
19666<para lang="en">
19667now nginx escapes space and "%" in request to a mail proxy authentication
19668server.
19669</para>
19670</change>
19671
19672<change type="change">
19673<para lang="ru">
19674теперь nginx экранирует символ "%" в переменной $memcached_key.
19675</para>
19676<para lang="en">
19677now nginx escapes "%" in $memcached_key variable.
19678</para>
19679</change>
19680
19681<change type="bugfix">
19682<para lang="ru">
19683при указании относительного пути к конфигурационному файлу в качестве
19684параметра ключа -c nginx определял путь относительно конфигурационного префикса;
19685ошибка появилась в 0.6.6.
19686</para>
19687<para lang="en">
19688nginx used path relative to configuration prefix for non-absolute
19689configuration file path specified in the "-c" key;
19690the bug had appeared in 0.6.6.
19691</para>
19692</change>
19693
19694<change type="bugfix">
19695<para lang="ru">
19696nginx не работал на FreeBSD/sparc64.
19697</para>
19698<para lang="en">
19699nginx did not work on FreeBSD/sparc64.
19700</para>
19701</change>
19702
19703</changes>
19704
19705
19706<changes ver="0.6.7" date="2007-08-15">
19707
19708<change type="change">
19709<para lang="ru">
19710теперь пути, указанные в директивах include, auth_basic_user_file,
19711perl_modules, ssl_certificate, ssl_certificate_key и
19712ssl_client_certificate, определяются относительно каталога конфигурационного
19713файла nginx.conf, а не относительно префикса.
19714</para>
19715<para lang="en">
19716now the paths specified in the "include", "auth_basic_user_file",
19717"perl_modules", "ssl_certificate", "ssl_certificate_key", and
19718"ssl_client_certificate" directives are relative to directory of
19719nginx configuration file nginx.conf, but not to nginx prefix directory.
19720</para>
19721</change>
19722
19723<change type="change">
19724<para lang="ru">
19725параметр --sysconfdir=PATH в configure упразднён.
19726</para>
19727<para lang="en">
19728the --sysconfdir=PATH option in configure was canceled.
19729</para>
19730</change>
19731
19732<change type="change">
19733<para lang="ru">
19734для обновления на лету версий 0.1.x создан специальный сценарий
19735<nobr>make upgrade1.</nobr>
19736</para>
19737<para lang="en">
19738the special make target "upgrade1" was defined for online upgrade of
197390.1.x versions.
19740</para>
19741</change>
19742
19743<change type="feature">
19744<para lang="ru">
19745директивы server_name и valid_referers поддерживают регулярные выражения.
19746</para>
19747<para lang="en">
19748the "server_name" and "valid_referers" directives support regular expressions.
19749</para>
19750</change>
19751
19752<change type="feature">
19753<para lang="ru">
19754директива server в блоке upstream поддерживает параметр backup.
19755</para>
19756<para lang="en">
19757the "server" directive in the "upstream" context supports
19758the "backup" parameter.
19759</para>
19760</change>
19761
19762<change type="feature">
19763<para lang="ru">
19764модуль ngx_http_perl_module поддерживает метод $r->discard_request_body.
19765</para>
19766<para lang="en">
19767the ngx_http_perl_module supports the $r->discard_request_body.
19768</para>
19769</change>
19770
19771<change type="feature">
19772<para lang="ru">
19773директива "add_header Last-Modified ..." меняет строку "Last-Modified"
19774в заголовке ответа.
19775</para>
19776<para lang="en">
19777the "add_header Last-Modified ..." directive changes the "Last-Modified"
19778response header line.
19779</para>
19780</change>
19781
19782<change type="bugfix">
19783<para lang="ru">
19784если на запрос с телом возвращался ответ с кодом HTTP отличным от 200,
19785и после этого запроса соединение переходило в состояние keep-alive,
19786то на следующий запрос nginx возвращал 400.
19787</para>
19788<para lang="en">
19789if a response different than 200 was returned to a request with body
19790and connection went to the keep-alive state after the request, then
19791nginx returned 400 for the next request.
19792</para>
19793</change>
19794
19795<change type="bugfix">
19796<para lang="ru">
19797если в директиве auth_http был задан неправильный адрес, то
19798в рабочем процессе происходил segmentation fault.
19799</para>
19800<para lang="en">
19801a segmentation fault occurred in worker process
19802if invalid address was set in the "auth_http" directive.
19803</para>
19804</change>
19805
19806<change type="bugfix">
19807<para lang="ru">
19808теперь по умолчанию nginx использует значение 511 для listen backlog
19809на всех платформах, кроме FreeBSD.<br/>
19810Спасибо Jiang Hong.
19811</para>
19812<para lang="en">
19813now nginx uses default listen backlog value 511 on all platforms
19814except FreeBSD.<br/>
19815Thanks to Jiang Hong.
19816</para>
19817</change>
19818
19819<change type="bugfix">
19820<para lang="ru">
19821рабочий процесс мог зациклиться, если server в блоке upstream был помечен
19822как down;
19823ошибка появилась в 0.6.6.
19824</para>
19825<para lang="en">
19826a worker process may got caught in an endless loop, if a "server" inside
19827"upstream" block was marked as "down";
19828the bug had appeared in 0.6.6.
19829</para>
19830</change>
19831
19832<change type="bugfix">
19833<para lang="ru">
19834sendfilev() в Solaris теперь не используется при передаче тела запроса
19835FastCGI-серверу через unix domain сокет.
19836</para>
19837<para lang="en">
19838now Solaris sendfilev() is not used to transfer the client request body
19839to FastCGI-server via the unix domain socket.
19840</para>
19841</change>
19842
19843</changes>
19844
19845
19846<changes ver="0.6.6" date="2007-07-30">
19847
19848<change type="feature">
19849<para lang="ru">
19850параметр --sysconfdir=PATH в configure.
19851</para>
19852<para lang="en">
19853the --sysconfdir=PATH option in configure.
19854</para>
19855</change>
19856
19857<change type="feature">
19858<para lang="ru">
19859именованные location'ы.
19860</para>
19861<para lang="en">
19862named locations.
19863</para>
19864</change>
19865
19866<change type="feature">
19867<para lang="ru">
19868переменную $args можно устанавливать с помощью set.
19869</para>
19870<para lang="en">
19871the $args variable can be set with the "set" directive.
19872</para>
19873</change>
19874
19875<change type="feature">
19876<para lang="ru">
19877переменная $is_args.
19878</para>
19879<para lang="en">
19880the $is_args variable.
19881</para>
19882</change>
19883
19884<change type="bugfix">
19885<para lang="ru">
19886равномерное распределение запросов к апстримам с большими весами.
19887</para>
19888<para lang="en">
19889fair big weight upstream balancer.
19890</para>
19891</change>
19892
19893<change type="bugfix">
19894<para lang="ru">
19895если клиент в почтовом прокси-сервере закрывал соединение,
19896то nginx мог не закрывать соединение с бэкендом.
19897</para>
19898<para lang="en">
19899if a client has closed connection to mail proxy
19900 then nginx might not close connection to backend.
19901</para>
19902</change>
19903
19904<change type="bugfix">
19905<para lang="ru">
19906при использовании одного хоста в качестве бэкендов для протоколов HTTP и HTTPS
19907без явного указания портов, nginx использовал только один порт&mdash;80 или 443.
19908</para>
19909<para lang="en">
19910if the same host without specified port was used as backend for HTTP and HTTPS,
19911then nginx used only one port&mdash;80 or 443.
19912</para>
19913</change>
19914
19915<change type="bugfix">
19916<para lang="ru">
19917nginx не собирался на Solaris/amd64 Sun Studio 11 и более ранними версиями;
19918ошибка появилась в 0.6.4.
19919</para>
19920<para lang="en">
19921fix building on Solaris/amd64 by Sun Studio 11 and early versions;
19922the bug had appeared in 0.6.4.
19923</para>
19924</change>
19925
19926</changes>
19927
19928
19929<changes ver="0.6.5" date="2007-07-23">
19930
19931<change type="feature">
19932<para lang="ru">
19933переменная $nginx_version.<br/>
19934Спасибо Николаю Гречуху.
19935</para>
19936<para lang="en">
19937$nginx_version variable.<br/>
19938Thanks to Nick S. Grechukh.
19939</para>
19940</change>
19941
19942<change type="feature">
19943<para lang="ru">
19944почтовый прокси-сервер поддерживает AUTHENTICATE в режиме IMAP.<br/>
19945Спасибо Максиму Дунину.
19946</para>
19947<para lang="en">
19948the mail proxy supports AUTHENTICATE in IMAP mode.<br/>
19949Thanks to Maxim Dounin.
19950</para>
19951</change>
19952
19953<change type="feature">
19954<para lang="ru">
19955почтовый прокси-сервер поддерживает STARTTLS в режиме SMTP.<br/>
19956Спасибо Максиму Дунину.
19957</para>
19958<para lang="en">
19959the mail proxy supports STARTTLS in SMTP mode.<br/>
19960Thanks to Maxim Dounin.
19961</para>
19962</change>
19963
19964<change type="bugfix">
19965<para lang="ru">
19966теперь nginx экранирует пробел в переменной $memcached_key.
19967</para>
19968<para lang="en">
19969now nginx escapes space in $memcached_key variable.
19970</para>
19971</change>
19972
19973<change type="bugfix">
19974<para lang="ru">
19975nginx неправильно собирался Sun Studio на Solaris/amd64.<br/>
19976Спасибо Jiang Hong.
19977</para>
19978<para lang="en">
19979nginx was incorrectly built by Sun Studio on Solaris/amd64.<br/>
19980Thanks to Jiang Hong.
19981</para>
19982</change>
19983
19984<change type="bugfix">
19985<para lang="ru">
19986незначительных потенциальных ошибок.<br/>
19987Спасибо Coverity's Scan.
19988</para>
19989<para lang="en">
19990of minor potential bugs.<br/>
19991Thanks to Coverity's Scan.
19992</para>
19993</change>
19994
19995</changes>
19996
19997
19998<changes ver="0.6.4" date="2007-07-17">
19999
20000<change type="security">
20001<para lang="ru">
20002при использовании директивы msie_refresh был возможен XSS.<br/>
20003Спасибо Максиму Богуку.
20004</para>
20005<para lang="en">
20006the "msie_refresh" directive allowed XSS.<br/>
20007Thanks to Maxim Boguk.
20008</para>
20009</change>
20010
20011<change type="change">
20012<para lang="ru">
20013директивы proxy_store и fastcgi_store изменены.
20014</para>
20015<para lang="en">
20016the "proxy_store" and "fastcgi_store" directives were changed.
20017</para>
20018</change>
20019
20020<change type="feature">
20021<para lang="ru">
20022директивы proxy_store_access и fastcgi_store_access.
20023</para>
20024<para lang="en">
20025the "proxy_store_access" and "fastcgi_store_access" directives.
20026</para>
20027</change>
20028
20029<change type="bugfix">
20030<para lang="ru">
20031nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/>
20032Спасибо Андрею Нигматулину.
20033</para>
20034<para lang="en">
20035nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/>
20036Thanks to Andrei Nigmatulin.
20037</para>
20038</change>
20039
20040<change type="workaround">
20041<para lang="ru">
20042обход ошибки в Sun Studio 12.<br/>
20043Спасибо Jiang Hong.
20044</para>
20045<para lang="en">
20046for Sun Studio 12.<br/>
20047Thanks to Jiang Hong.
20048</para>
20049</change>
20050
20051</changes>
20052
20053
20054<changes ver="0.6.3" date="2007-07-12">
20055
20056<change type="feature">
20057<para lang="ru">
20058директивы proxy_store и fastcgi_store.
20059</para>
20060<para lang="en">
20061the "proxy_store" and "fastcgi_store" directives.
20062</para>
20063</change>
20064
20065<change type="bugfix">
20066<para lang="ru">
20067при использовании директивы auth_http_header
20068в рабочем процессе мог произойти segmentation fault.<br/>
20069Спасибо Максиму Дунину.
20070</para>
20071<para lang="en">
20072a segmentation fault might occur in worker process
20073if the "auth_http_header" directive was used.<br/>
20074Thanks to Maxim Dounin.
20075</para>
20076</change>
20077
20078<change type="bugfix">
20079<para lang="ru">
20080если использовался метод аутентификации CRAM-MD5, но он не был разрешён,
20081то в рабочем процессе происходил segmentation fault.
20082</para>
20083<para lang="en">
20084a segmentation fault occurred in worker process
20085if the CRAM-MD5 authentication method was used, but it was not enabled.
20086</para>
20087</change>
20088
20089<change type="bugfix">
20090<para lang="ru">
20091при использовании протокола HTTPS в директиве proxy_pass
20092в рабочем процессе мог произойти segmentation fault.
20093</para>
20094<para lang="en">
20095a segmentation fault might occur in worker process when
20096the HTTPS protocol was used in the "proxy_pass" directive.
20097</para>
20098</change>
20099
20100<change type="bugfix">
20101<para lang="ru">
20102в рабочем процессе мог произойти segmentation fault,
20103если использовался метод eventport.
20104</para>
20105<para lang="en">
20106a segmentation fault might occur in worker process
20107if the eventport method was used.
20108</para>
20109</change>
20110
20111<change type="bugfix">
20112<para lang="ru">
20113директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort не работали;
20114ошибка появилась в 0.5.13.
20115</para>
20116<para lang="en">
20117the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives
20118did not work;
20119the bug had appeared in 0.5.13.
20120</para>
20121</change>
20122
20123</changes>
20124
20125
20126<changes ver="0.6.2" date="2007-07-09">
20127
20128<change type="bugfix">
20129<para lang="ru">
20130если заголовок ответа был разделён в FastCGI-записях, то nginx передавал
20131клиенту мусор в таких заголовках.
20132</para>
20133<para lang="en">
20134if the FastCGI header was split in records,
20135then nginx passed garbage in the header to a client.
20136</para>
20137</change>
20138
20139</changes>
20140
20141
20142<changes ver="0.6.1" date="2007-06-17">
20143
20144<change type="bugfix">
20145<para lang="ru">
20146в парсинге SSI.
20147</para>
20148<para lang="en">
20149in SSI parsing.
20150</para>
20151</change>
20152
20153<change type="bugfix">
20154<para lang="ru">
20155при использовании удалённого подзапроса в SSI последующий
20156подзапрос локального файла мог отдаваться клиенту в неверном порядке.
20157</para>
20158<para lang="en">
20159if remote SSI subrequest was used, then posterior local file subrequest
20160might transferred to client in wrong order.
20161</para>
20162</change>
20163
20164<change type="bugfix">
20165<para lang="ru">
20166большие включения в SSI, сохранённые во временные файлы,
20167передавались не полностью.
20168</para>
20169<para lang="en">
20170large SSI inclusions buffered in temporary files were truncated.
20171</para>
20172</change>
20173
20174<change type="bugfix">
20175<para lang="ru">
20176значение perl'овой переменной $$ модуля ngx_http_perl_module было равно
20177номеру главного процесса.
20178</para>
20179<para lang="en">
20180the perl $$ variable value in ngx_http_perl_module was equal to the master
20181process identification number.
20182</para>
20183</change>
20184
20185</changes>
20186
20187
20188<changes ver="0.6.0" date="2007-06-14">
20189
20190<change type="feature">
20191<para lang="ru">
20192директивы "server_name", "map", and "valid_referers" поддерживают
20193маски вида "www.example.*".
20194</para>
20195<para lang="en">
20196the "server_name", "map", and "valid_referers" directives support
20197the "www.example.*" wildcards.
20198</para>
20199</change>
20200
20201</changes>
20202
20203
20204<changes ver="0.5.25" date="2007-06-11">
20205
20206<change type="bugfix">
20207<para lang="ru">
20208nginx не собирался с параметром --without-http_rewrite_module;
20209ошибка появилась в 0.5.24.
20210</para>
20211<para lang="en">
20212nginx could not be built with the --without-http_rewrite_module parameter;
20213the bug had appeared in 0.5.24.
20214</para>
20215</change>
20216
20217</changes>
20218
20219
20220<changes ver="0.5.24" date="2007-06-06">
20221
20222<change type="security">
20223<para lang="ru">
20224директива ssl_verify_client не работала, если запрос выполнялся
20225по протоколу HTTP/0.9.
20226</para>
20227<para lang="en">
20228the "ssl_verify_client" directive did not work if request was made
20229using HTTP/0.9.
20230</para>
20231</change>
20232
20233<change type="bugfix">
20234<para lang="ru">
20235при использовании сжатия часть ответа могла передаваться несжатой;
20236ошибка появилась в 0.5.23.
20237</para>
20238<para lang="en">
20239a part of response body might be passed uncompressed if gzip was used;
20240the bug had appeared in 0.5.23.
20241</para>
20242</change>
20243
20244</changes>
20245
20246
20247<changes ver="0.5.23" date="2007-06-04">
20248
20249<change type="feature">
20250<para lang="ru">
20251модуль ngx_http_ssl_module поддерживает расширение TLS Server Name Indication.
20252</para>
20253<para lang="en">
20254the ngx_http_ssl_module supports Server Name Indication TLS extension.
20255</para>
20256</change>
20257
20258<change type="feature">
20259<para lang="ru">
20260директива fastcgi_catch_stderr.<br/>
20261Спасибо Николаю Гречуху, проект OWOX.
20262</para>
20263<para lang="en">
20264the "fastcgi_catch_stderr" directive.<br/>
20265Thanks to Nick S. Grechukh, OWOX project.
20266</para>
20267</change>
20268
20269<change type="bugfix">
20270<para lang="ru">
20271на Линуксе в основном процессе происходил segmentation fault,
20272если два виртуальных сервера должны bind()ится к пересекающимся портам.
20273</para>
20274<para lang="en">
20275a segmentation fault occurred in master process if
20276two virtual servers should bind() to the overlapping ports.
20277</para>
20278</change>
20279
20280<change type="bugfix">
20281<para lang="ru">
20282если nginx был собран с модулем ngx_http_perl_module и perl
20283поддерживал потоки, то во время второй переконфигурации
20284выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
20285</para>
20286<para lang="en">
20287if nginx was built with ngx_http_perl_module and perl supported threads,
20288then during second reconfiguration the error messages
20289"panic: MUTEX_LOCK" and "perl_parse() failed" were issued.
20290</para>
20291</change>
20292
20293<change type="bugfix">
20294<para lang="ru">
20295в использовании протокола HTTPS в директиве proxy_pass.
20296</para>
20297<para lang="en">
20298in the HTTPS protocol in the "proxy_pass" directive.
20299</para>
20300</change>
20301
20302</changes>
20303
20304
20305<changes ver="0.5.22" date="2007-05-29">
20306
20307<change type="bugfix">
20308<para lang="ru">
20309большое тело запроса могло не передаваться бэкенду;
20310ошибка появилась в 0.5.21.
20311</para>
20312<para lang="en">
20313a big request body might not be passed to backend;
20314the bug had appeared in 0.5.21.
20315</para>
20316</change>
20317
20318</changes>
20319
20320
20321<changes ver="0.5.21" date="2007-05-28">
20322
20323<change type="bugfix">
20324<para lang="ru">
20325если внутри сервера описано больше примерно десяти location'ов,
20326то location'ы, заданные с помощью регулярного выражения,
20327могли выполняться не в том, порядке, в каком они описаны.
20328</para>
20329<para lang="en">
20330if server has more than about ten locations, then regex locations
20331might be chosen not in that order as they were specified.
20332</para>
20333</change>
20334
20335<change type="bugfix">
20336<para lang="ru">
20337на 64-битной платформе рабочий процесс мог зациклиться, если 33-тий
20338по счёту или последующий бэкенд упал.<br/>
20339Спасибо Антону Поварову.
20340</para>
20341<para lang="en">
20342a worker process may got caught in an endless loop on 64-bit platform,
20343if the 33-rd or next in succession backend has failed.<br/>
20344Thanks to Anton Povarov.
20345</para>
20346</change>
20347
20348<change type="bugfix">
20349<para lang="ru">
20350при использовании библиотеки PCRE на Solaris/sparc64
20351мог произойти bus error.<br/>
20352Спасибо Андрею Нигматулину.
20353</para>
20354<para lang="en">
20355a bus error might occur on Solaris/sparc64 if the PCRE library was used.<br/>
20356Thanks to Andrei Nigmatulin.
20357</para>
20358</change>
20359
20360<change type="bugfix">
20361<para lang="ru">
20362в использовании протокола HTTPS в директиве proxy_pass.
20363</para>
20364<para lang="en">
20365in the HTTPS protocol in the "proxy_pass" directive.
20366</para>
20367</change>
20368
20369</changes>
20370
20371
20372<changes ver="0.5.20" date="2007-05-07">
20373
20374<change type="feature">
20375<para lang="ru">
20376директива sendfile_max_chunk.
20377</para>
20378<para lang="en">
20379the "sendfile_max_chunk" directive.
20380</para>
20381</change>
20382
20383<change type="feature">
20384<para lang="ru">
20385переменные "$http_...", "$sent_http_..." и "$upstream_http_..."
20386можно менять директивой set.
20387</para>
20388<para lang="en">
20389the "$http_...", "$sent_http_...", and "$upstream_http_..." variables
20390may be changed using the "set" directive.
20391</para>
20392</change>
20393
20394<change type="bugfix">
20395<para lang="ru">
20396при использовании SSI-команды 'if expr="$var = /"'
20397в рабочем процессе мог произойти segmentation fault.
20398</para>
20399<para lang="en">
20400a segmentation fault might occur in worker process
20401if the SSI command 'if expr="$var = /"' was used.
20402</para>
20403</change>
20404
20405<change type="bugfix">
20406<para lang="ru">
20407завершающая строка multipart range ответа передавалась неверно.<br/>
20408Спасибо Evan Miller.
20409</para>
20410<para lang="en">
20411trailing boundary of multipart range response was transferred incorrectly.<br/>
20412Thanks to Evan Miller.
20413</para>
20414</change>
20415
20416<change type="bugfix">
20417<para lang="ru">
20418nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/>
20419Спасибо Андрею Нигматулину.
20420</para>
20421<para lang="en">
20422nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/>
20423Thanks to Andrei Nigmatulin.
20424</para>
20425</change>
20426
20427<change type="bugfix">
20428<para lang="ru">
20429модуль ngx_http_perl_module не собирался make в Solaris.<br/>
20430Спасибо Андрею Нигматулину.
20431</para>
20432<para lang="en">
20433the ngx_http_perl_module could not be built by Solaris make.<br/>
20434Thanks to Andrei Nigmatulin.
20435</para>
20436</change>
20437
20438</changes>
20439
20440
20441<changes ver="0.5.19" date="2007-04-24">
20442
20443<change type="change">
20444<para lang="ru">
20445значение переменной $request_time теперь записывается с точностью
20446до миллисекунд.
20447</para>
20448<para lang="en">
20449now the $request_time variable has millisecond precision.
20450</para>
20451</change>
20452
20453<change type="change">
20454<para lang="ru">
20455метод $r->rflush в модуле ngx_http_perl_module переименован в $r->flush.
20456</para>
20457<para lang="en">
20458the method $r->rflush of ngx_http_perl_module was renamed to the $r->flush.
20459</para>
20460</change>
20461
20462<change type="feature">
20463<para lang="ru">
20464переменная $upstream_addr.
20465</para>
20466<para lang="en">
20467the $upstream_addr variable.
20468</para>
20469</change>
20470
20471<change type="feature">
20472<para lang="ru">
20473директивы proxy_headers_hash_max_size и proxy_headers_hash_bucket_size.<br/>
20474Спасибо Володымыру Костырко.
20475</para>
20476<para lang="en">
20477the "proxy_headers_hash_max_size" and "proxy_headers_hash_bucket_size"
20478directives.<br/>
20479Thanks to Volodymyr Kostyrko.
20480</para>
20481</change>
20482
20483<change type="bugfix">
20484<para lang="ru">
20485при использовании sendfile и limit_rate на 64-битных платформах
20486нельзя было передавать файлы больше 2G.
20487</para>
20488<para lang="en">
20489the files more than 2G could not be transferred using sendfile and limit_rate
20490on 64-bit platforms.
20491</para>
20492</change>
20493
20494<change type="bugfix">
20495<para lang="ru">
20496при использовании sendfile на 64-битном Linux нельзя было передавать файлы
20497больше 2G.
20498</para>
20499<para lang="en">
20500the files more than 2G could not be transferred using sendfile on 64-bit Linux.
20501</para>
20502</change>
20503
20504</changes>
20505
20506
20507<changes ver="0.5.18" date="2007-04-19">
20508
20509<change type="feature">
20510<para lang="ru">
20511модуль ngx_http_sub_filter_module.
20512</para>
20513<para lang="en">
20514the ngx_http_sub_filter_module.
20515</para>
20516</change>
20517
20518<change type="feature">
20519<para lang="ru">
20520переменные "$upstream_http_...".
20521</para>
20522<para lang="en">
20523the "$upstream_http_..." variables.
20524</para>
20525</change>
20526
20527<change type="feature">
20528<para lang="ru">
20529теперь переменные $upstream_status и $upstream_response_time
20530содержат данные о всех обращениях к апстримам, сделанным до X-Accel-Redirect.
20531</para>
20532<para lang="en">
20533now the $upstream_status and $upstream_response_time variables
20534keep data about all upstreams before X-Accel-Redirect.
20535</para>
20536</change>
20537
20538<change type="bugfix">
20539<para lang="ru">
20540если nginx был собран с модулем ngx_http_perl_module и perl
20541не поддерживал multiplicity, то после первой переконфигурации
20542и после получения любого сигнала
20543в основном процессе происходил segmentation fault;
20544ошибка появилась в 0.5.9.
20545</para>
20546<para lang="en">
20547a segmentation fault occurred in master process
20548after first reconfiguration and receiving any signal
20549if nginx was built with ngx_http_perl_module and perl
20550did not support multiplicity;
20551the bug had appeared in 0.5.9.
20552</para>
20553</change>
20554
20555<change type="bugfix">
20556<para lang="ru">
20557если perl не поддерживал multiplicity, то после переконфигурации
20558перловый код не работал;
20559ошибка появилась в 0.3.38.
20560</para>
20561<para lang="en">
20562if perl did not support multiplicity, then after reconfiguration
20563perl code did not work;
20564the bug had appeared in 0.3.38.
20565</para>
20566</change>
20567
20568</changes>
20569
20570
20571<changes ver="0.5.17" date="2007-04-02">
20572
20573<change type="change">
20574<para lang="ru">
20575теперь nginx для метода TRACE всегда возвращает код 405.
20576</para>
20577<para lang="en">
20578now nginx always returns the 405 status for the TRACE method.
20579</para>
20580</change>
20581
20582<change type="feature">
20583<para lang="ru">
20584теперь nginx поддерживает директиву include внутри блока types.
20585</para>
20586<para lang="en">
20587now nginx supports the "include" directive inside the "types" block.
20588</para>
20589</change>
20590
20591<change type="bugfix">
20592<para lang="ru">
20593использование переменной $document_root в директиве root и alias
20594запрещено: оно вызывало рекурсивное переполнение стека.
20595</para>
20596<para lang="en">
20597the $document_root variable usage in the "root" and "alias" directives
20598is disabled: this caused recursive stack overflow.
20599</para>
20600</change>
20601
20602<change type="bugfix">
20603<para lang="ru">
20604в использовании протокола HTTPS в директиве proxy_pass.
20605</para>
20606<para lang="en">
20607in the HTTPS protocol in the "proxy_pass" directive.
20608</para>
20609</change>
20610
20611<change type="bugfix">
20612<para lang="ru">
20613в некоторых случаях некэшируемые переменные (такие, как $uri)
20614возвращали старое закэшированное значение.
20615</para>
20616<para lang="en">
20617in some cases non-cacheable variables (such as $uri variable)
20618returned old cached value.
20619</para>
20620</change>
20621
20622</changes>
20623
20624
20625<changes ver="0.5.16" date="2007-03-26">
20626
20627<change type="bugfix">
20628<para lang="ru">
20629в качестве ключа для хэша в директиве ip_hash не использовалась сеть
20630класса С.<br/>
20631Спасибо Павлу Ярковому.
20632</para>
20633<para lang="en">
20634the C-class network was not used as hash key in the "ip_hash" directive.<br/>
20635Thanks to Pavel Yarkovoy.
20636</para>
20637</change>
20638
20639<change type="bugfix">
20640<para lang="ru">
20641если в строке "Content-Type" в заголовке ответа бэкенда был указан charset
20642и строка завершалась символом ";",
20643то в рабочем процессе мог произойти segmentation fault;
20644ошибка появилась в 0.3.50.
20645</para>
20646<para lang="en">
20647a segmentation fault might occur in worker process
20648if a charset was set in the "Content-Type" header line and the line
20649has trailing ";";
20650the bug had appeared in 0.3.50.
20651</para>
20652</change>
20653
20654<change type="bugfix">
20655<para lang="ru">
20656ошибки "[alert] zero size buf" при работе с FastCGI-сервером, если
20657тело запроса, записанное во временный файл, было кратно 32K.
20658</para>
20659<para lang="en">
20660the "[alert] zero size buf" error when FastCGI server was used and
20661a request body written in a temporary file was multiple of 32K.
20662</para>
20663</change>
20664
20665<change type="bugfix">
20666<para lang="ru">
20667nginx не собирался на Solaris без параметра --with-debug;
20668ошибка появилась в 0.5.15.
20669</para>
20670<para lang="en">
20671nginx could not be built on Solaris without the --with-debug option;
20672the bug had appeared in 0.5.15.
20673</para>
20674</change>
20675
20676</changes>
20677
20678
20679<changes ver="0.5.15" date="2007-03-19">
20680
20681<change type="feature">
20682<para lang="ru">
20683почтовый прокси-сервер поддерживает аутентифицированное SMTP-проксирование и
20684директивы smtp_auth, smtp_capabilities и xclient.<br/>
20685Спасибо Антону Южанинову и Максиму Дунину.
20686</para>
20687<para lang="en">
20688the mail proxy supports authenticated SMTP proxying and
20689the "smtp_auth", "smtp_capabilities", and "xclient" directives.<br/>
20690Thanks to Anton Yuzhaninov and Maxim Dounin.
20691</para>
20692</change>
20693
20694<change type="feature">
20695<para lang="ru">
20696теперь keep-alive соединения закрываются сразу же по получении сигнала
20697переконфигурации.
20698</para>
20699<para lang="en">
20700now the keep-alive connections are closed just after receiving
20701the reconfiguration signal.
20702</para>
20703</change>
20704
20705<change type="change">
20706<para lang="ru">
20707директивы imap и auth переименованы соответственно в mail и pop3_auth.
20708</para>
20709<para lang="en">
20710the "imap" and "auth" directives were renamed
20711to the "mail" and "pop3_auth" directives.
20712</para>
20713</change>
20714
20715<change type="bugfix">
20716<para lang="ru">
20717если использовался метод аутентификации CRAM-MD5 и не был разрешён метод APOP,
20718то в рабочем процессе происходил segmentation fault.
20719</para>
20720<para lang="en">
20721a segmentation fault occurred in worker process
20722if the CRAM-MD5 authentication method was used
20723and the APOP method was disabled.
20724</para>
20725</change>
20726
20727<change type="bugfix">
20728<para lang="ru">
20729при использовании директивы starttls only в протоколе POP3 nginx
20730разрешал аутентификацию без перехода в режим SSL.
20731</para>
20732<para lang="en">
20733if the "starttls only" directive was used in POP3 protocol,
20734then nginx allowed authentication without switching to the SSL mode.
20735</para>
20736</change>
20737
20738<change type="bugfix">
20739<para lang="ru">
20740рабочие процессы не выходили после переконфигурации и не переоткрывали логи,
20741если использовался метод eventport.
20742</para>
20743<para lang="en">
20744worker processes did not exit after reconfiguration and
20745did not rotate logs if the eventport method was used.
20746</para>
20747</change>
20748
20749<change type="bugfix">
20750<para lang="ru">
20751при использовании директивы ip_hash рабочий процесс мог зациклиться.
20752</para>
20753<para lang="en">
20754a worker process may got caught in an endless loop,
20755if the "ip_hash" directive was used.
20756</para>
20757</change>
20758
20759<change type="bugfix">
20760<para lang="ru">
20761теперь nginx не пишет в лог некоторые alert'ы,
20762если используются методы eventport или /dev/poll.
20763</para>
20764<para lang="en">
20765now nginx does not log some alerts if eventport or /dev/poll methods are used.
20766</para>
20767</change>
20768
20769</changes>
20770
20771
20772<changes ver="0.5.14" date="2007-02-23">
20773
20774<change type="bugfix">
20775<para lang="ru">
20776nginx игнорировал лишние закрывающие скобки "}" в конце
20777конфигурационного файла.
20778</para>
20779<para lang="en">
20780nginx ignored superfluous closing "}" in the end of configuration file.
20781</para>
20782</change>
20783
20784</changes>
20785
20786
20787<changes ver="0.5.13" date="2007-02-19">
20788
20789<change type="feature">
20790<para lang="ru">
20791методы COPY и MOVE.
20792</para>
20793<para lang="en">
20794the COPY and MOVE methods.
20795</para>
20796</change>
20797
20798<change type="bugfix">
20799<para lang="ru">
20800модуль ngx_http_realip_module устанавливал мусор для запросов,
20801переданных по keep-alive соединению.
20802</para>
20803<para lang="en">
20804the ngx_http_realip_module set garbage for requests passed via
20805keep-alive connection.
20806</para>
20807</change>
20808
20809<change type="bugfix">
20810<para lang="ru">
20811nginx не работал на 64-битном big-endian Linux.<br/>
20812Спасибо Андрею Нигматулину.
20813</para>
20814<para lang="en">
20815nginx did not work on big-endian 64-bit Linux.<br/>
20816Thanks to Andrei Nigmatulin.
20817</para>
20818</change>
20819
20820<change type="bugfix">
20821<para lang="ru">
20822при получении слишком длинной команды IMAP/POP3-прокси теперь сразу
20823закрывает соединение, а не по таймауту.
20824</para>
20825<para lang="en">
20826now when IMAP/POP3 proxy receives too long command it closes the connection
20827right away, but not after timeout.
20828</para>
20829</change>
20830
20831<change type="bugfix">
20832<para lang="ru">
20833если при использовании метода epoll клиент закрывал преждевременно
20834соединение со своей стороны, то nginx закрывал это соединение только
20835по истечении таймаута на передачу.
20836</para>
20837<para lang="en">
20838if the "epoll" method was used and a client closed a connection prematurely,
20839then nginx closed the connection after a send timeout only.
20840</para>
20841</change>
20842
20843<change type="bugfix">
20844<para lang="ru">
20845nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
20846ошибка появилась в 0.5.8.
20847</para>
20848<para lang="en">
20849nginx could not be built on platforms different from i386, amd64, sparc,
20850and ppc;
20851the bug had appeared in 0.5.8.
20852</para>
20853</change>
20854
20855</changes>
20856
20857
20858<changes ver="0.5.12" date="2007-02-12">
20859
20860<change type="bugfix">
20861<para lang="ru">
20862nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
20863ошибка появилась в 0.5.8.
20864</para>
20865<para lang="en">
20866nginx could not be built on platforms different from i386, amd64, sparc,
20867and ppc;
20868the bug had appeared in 0.5.8.
20869</para>
20870</change>
20871
20872<change type="bugfix">
20873<para lang="ru">
20874при использовании временных файлов в время работы с FastCGI-сервером
20875в рабочем процессе мог произойти segmentation fault;
20876ошибка появилась в 0.5.8.
20877</para>
20878<para lang="en">
20879a segmentation fault might occur in worker process
20880if the temporary files were used while working with FastCGI server;
20881the bug had appeared in 0.5.8.
20882</para>
20883</change>
20884
20885<change type="bugfix">
20886<para lang="ru">
20887если переменная $fastcgi_script_name записывалась в лог,
20888то в рабочем процессе мог произойти segmentation fault.
20889</para>
20890<para lang="en">
20891a segmentation fault might occur in worker process
20892if the $fastcgi_script_name variable was logged.
20893</para>
20894</change>
20895
20896<change type="bugfix">
20897<para lang="ru">
20898ngx_http_perl_module не собирался на Solaris.
20899</para>
20900<para lang="en">
20901ngx_http_perl_module could not be built on Solaris.
20902</para>
20903</change>
20904
20905</changes>
20906
20907
20908<changes ver="0.5.11" date="2007-02-05">
20909
20910<change type="feature">
20911<para lang="ru">
20912теперь configure определяет библиотеку PCRE в MacPorts.<br/>
20913Спасибо Chris McGrath.
20914</para>
20915<para lang="en">
20916now configure detects system PCRE library in MacPorts.<br/>
20917Thanks to Chris McGrath.
20918</para>
20919</change>
20920
20921<change type="bugfix">
20922<para lang="ru">
20923ответ был неверным, если запрашивалось несколько диапазонов;
20924ошибка появилась в 0.5.6.
20925</para>
20926<para lang="en">
20927the response was incorrect if several ranges were requested;
20928the bug had appeared in 0.5.6.
20929</para>
20930</change>
20931
20932<change type="bugfix">
20933<para lang="ru">
20934директива create_full_put_path не могла создавать промежуточные каталоги,
20935если не была установлена директива dav_access.<br/>
20936Спасибо Evan Miller.
20937</para>
20938<para lang="en">
20939the "create_full_put_path" directive could not create the intermediate
20940directories if no "dav_access" directive was set.<br/>
20941Thanks to Evan Miller.
20942</para>
20943</change>
20944
20945<change type="bugfix">
20946<para lang="ru">
20947вместо кодов ошибок "400" и "408" в access_log мог записываться код "0".
20948</para>
20949<para lang="en">
20950the "0" response code might be logged in the access_log instead of
20951the "400" and "408" error codes.
20952</para>
20953</change>
20954
20955<change type="bugfix">
20956<para lang="ru">
20957при сборке с оптимизацией -O2 в рабочем процессе мог произойти
20958segmentation fault.
20959</para>
20960<para lang="en">
20961a segmentation fault might occur in worker process
20962if nginx was built with -O2 optimization.
20963</para>
20964</change>
20965
20966</changes>
20967
20968
20969<changes ver="0.5.10" date="2007-01-26">
20970
20971<change type="bugfix">
20972<para lang="ru">
20973во время обновления исполняемого файла новый процесс не наследовал
20974слушающие сокеты;
20975ошибка появилась в 0.5.9.
20976</para>
20977<para lang="en">
20978while online executable file upgrade the new master process did not
20979inherit the listening sockets;
20980the bug had appeared in 0.5.9.
20981</para>
20982</change>
20983
20984<change type="bugfix">
20985<para lang="ru">
20986при сборке с оптимизацией -O2 в рабочем процессе мог произойти
20987segmentation fault;
20988ошибка появилась в 0.5.1.
20989</para>
20990<para lang="en">
20991a segmentation fault might occur in worker process
20992if nginx was built with -O2 optimization;
20993the bug had appeared in 0.5.1.
20994</para>
20995</change>
20996
20997</changes>
20998
20999
21000<changes ver="0.5.9" date="2007-01-25">
21001
21002<change type="change">
21003<para lang="ru">
21004модуль ngx_http_memcached_module теперь в качестве ключа использует
21005значение переменной $memcached_key.
21006</para>
21007<para lang="en">
21008now the ngx_http_memcached_module uses the $memcached_key variable value
21009as a key.
21010</para>
21011</change>
21012
21013<change type="feature">
21014<para lang="ru">
21015переменная $memcached_key.
21016</para>
21017<para lang="en">
21018the $memcached_key variable.
21019</para>
21020</change>
21021
21022<change type="feature">
21023<para lang="ru">
21024параметр clean в директиве client_body_in_file_only.
21025</para>
21026<para lang="en">
21027the "clean" parameter in the "client_body_in_file_only" directive.
21028</para>
21029</change>
21030
21031<change type="feature">
21032<para lang="ru">
21033директива env.
21034</para>
21035<para lang="en">
21036the "env" directive.
21037</para>
21038</change>
21039
21040<change type="feature">
21041<para lang="ru">
21042директива sendfile работает внутри блока if.
21043</para>
21044<para lang="en">
21045the "sendfile" directive is available inside the "if" block.
21046</para>
21047</change>
21048
21049<change type="feature">
21050<para lang="ru">
21051теперь при ошибке записи в access_log nginx записывает сообщение в error_log,
21052но не чаще одного раза в минуту.
21053</para>
21054<para lang="en">
21055now on failure of the writing to access nginx logs a message to error_log,
21056but not more often than once a minute.
21057</para>
21058</change>
21059
21060<change type="bugfix">
21061<para lang="ru">
21062директива "access_log off" не всегда запрещала запись в лог.
21063</para>
21064<para lang="en">
21065the "access_log off" directive did not always turn off the logging.
21066</para>
21067</change>
21068
21069</changes>
21070
21071
21072<changes ver="0.5.8" date="2007-01-19">
21073
21074<change type="bugfix">
21075<para lang="ru">
21076если использовалась директива <nobr>"client_body_in_file_only on"</nobr>
21077и тело запроса было небольшое, то мог произойти segmentation fault.
21078</para>
21079<para lang="en">
21080a segmentation fault might occur if
21081<nobr>"client_body_in_file_only on"</nobr> was used
21082and a request body was small.
21083</para>
21084</change>
21085
21086<change type="bugfix">
21087<para lang="ru">
21088происходил segmentation fault, если использовались директивы
21089<nobr>"client_body_in_file_only on"</nobr>
21090и <nobr>"proxy_pass_request_body off"</nobr>
21091или <nobr>"fastcgi_pass_request_body off"</nobr>,
21092и делался переход к следующему бэкенду.
21093</para>
21094<para lang="en">
21095a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr>
21096and <nobr>"proxy_pass_request_body off"</nobr>
21097or <nobr>"fastcgi_pass_request_body off"</nobr>
21098directives were used, and nginx switched to a next upstream.
21099</para>
21100</change>
21101
21102<change type="bugfix">
21103<para lang="ru">
21104если при использовании директивы "proxy_buffering off" соединение с клиентом
21105было неактивно, то оно закрывалось по таймауту, заданному директивой
21106send_timeout;
21107ошибка появилась в 0.4.7.
21108</para>
21109<para lang="en">
21110if the "proxy_buffering off" directive was used and a client connection
21111was non-active, then the connection was closed after send timeout;
21112the bug had appeared in 0.4.7.
21113</para>
21114</change>
21115
21116<change type="bugfix">
21117<para lang="ru">
21118если при использовании метода epoll клиент закрывал преждевременно
21119соединение со своей стороны, то nginx закрывал это соединение только
21120по истечении таймаута на передачу.
21121</para>
21122<para lang="en">
21123if the "epoll" method was used and a client closed a connection prematurely,
21124then nginx closed the connection after a send timeout only.
21125</para>
21126</change>
21127
21128<change type="bugfix">
21129<para lang="ru">
21130ошибки "[alert] zero size buf" при работе с FastCGI-сервером.
21131</para>
21132<para lang="en">
21133the "[alert] zero size buf" error when FastCGI server was used.
21134</para>
21135</change>
21136
21137<change>
21138<para lang="ru">
21139Исправление ошибок в директиве limit_zone.
21140</para>
21141<para lang="en">
21142Bugfixes in the "limit_zone" directive.
21143</para>
21144</change>
21145
21146</changes>
21147
21148
21149<changes ver="0.5.7" date="2007-01-15">
21150
21151<change type="feature">
21152<para lang="ru">
21153оптимизация использования памяти в ssl_session_cache.
21154</para>
21155<para lang="en">
21156the ssl_session_cache storage optimization.
21157</para>
21158</change>
21159
21160<change>
21161<para lang="ru">
21162Исправление ошибок в директивах ssl_session_cache и limit_zone.
21163</para>
21164<para lang="en">
21165Bugfixes in the "ssl_session_cache" and "limit_zone" directives.
21166</para>
21167</change>
21168
21169<change type="bugfix">
21170<para lang="ru">
21171на старте или во время переконфигурации происходил segmentation fault,
21172если директивы ssl_session_cache или limit_zone использовались
21173на 64-битных платформах.
21174</para>
21175<para lang="en">
21176the segmentation fault was occurred on start or while reconfiguration
21177if the "ssl_session_cache" or "limit_zone" directives were used
21178on 64-bit platforms.
21179</para>
21180</change>
21181
21182<change type="bugfix">
21183<para lang="ru">
21184при использовании директив add_before_body или add_after_body происходил
21185segmentation fault, если в заголовке ответа нет строки "Content-Type".
21186</para>
21187<para lang="en">
21188a segmentation fault occurred if the "add_before_body" or "add_after_body"
21189directives were used and there was no "Content-Type" header line in response.
21190</para>
21191</change>
21192
21193<change type="bugfix">
21194<para lang="ru">
21195библиотека OpenSSL всегда собиралась с поддержкой потоков.<br/>
21196Спасибо Дену Иванову.
21197</para>
21198<para lang="en">
21199the OpenSSL library was always built with the threads support.<br/>
21200Thanks to Den Ivanov.
21201</para>
21202</change>
21203
21204<change type="bugfix">
21205<para lang="ru">
21206совместимость библиотеки PCRE-6.5+ и компилятора icc.
21207</para>
21208<para lang="en">
21209the PCRE-6.5+ library and the icc compiler compatibility.
21210</para>
21211</change>
21212
21213</changes>
21214
21215
21216<changes ver="0.5.6" date="2007-01-09">
21217
21218<change type="change">
21219<para lang="ru">
21220теперь модуль ngx_http_index_module игнорирует все методы,
21221кроме GET, HEAD и POST.
21222</para>
21223<para lang="en">
21224now the ngx_http_index_module ignores all methods except the GET, HEAD, and
21225POST methods.
21226</para>
21227</change>
21228
21229<change type="feature">
21230<para lang="ru">
21231модуль ngx_http_limit_zone_module.
21232</para>
21233<para lang="en">
21234the ngx_http_limit_zone_module.
21235</para>
21236</change>
21237
21238<change type="feature">
21239<para lang="ru">
21240переменная $binary_remote_addr.
21241</para>
21242<para lang="en">
21243the $binary_remote_addr variable.
21244</para>
21245</change>
21246
21247<change type="feature">
21248<para lang="ru">
21249директивы ssl_session_cache модулей ngx_http_ssl_module и ngx_imap_ssl_module.
21250</para>
21251<para lang="en">
21252the "ssl_session_cache" directives
21253of the ngx_http_ssl_module and ngx_imap_ssl_module.
21254</para>
21255</change>
21256
21257<change type="feature">
21258<para lang="ru">
21259метод DELETE поддерживает рекурсивное удаление.
21260</para>
21261<para lang="en">
21262the DELETE method supports recursive removal.
21263</para>
21264</change>
21265
21266<change type="bugfix">
21267<para lang="ru">
21268при использовании $r->sendfile() byte-ranges передавались неверно.
21269</para>
21270<para lang="en">
21271the byte-ranges were transferred incorrectly if the $r->sendfile() was used.
21272</para>
21273</change>
21274
21275</changes>
21276
21277
21278<changes ver="0.5.5" date="2006-12-24">
21279
21280<change type="change">
21281<para lang="ru">
21282ключ -v больше не выводит информацию о компиляторе.
21283</para>
21284<para lang="en">
21285the -v switch does not show compiler information any more.
21286</para>
21287</change>
21288
21289<change type="feature">
21290<para lang="ru">
21291ключ -V.
21292</para>
21293<para lang="en">
21294the -V switch.
21295</para>
21296</change>
21297
21298<change type="feature">
21299<para lang="ru">
21300директива worker_rlimit_core поддерживает указание размера в K, M и G.
21301</para>
21302<para lang="en">
21303the "worker_rlimit_core" directive supports size in K, M, and G.
21304</para>
21305</change>
21306
21307<change type="bugfix">
21308<para lang="ru">
21309модуль nginx.pm теперь может устанавливаться непривилегированным пользователем.
21310</para>
21311<para lang="en">
21312the nginx.pm module now could be installed by an unprivileged user.
21313</para>
21314</change>
21315
21316<change type="bugfix">
21317<para lang="ru">
21318при использовании методов $r->request_body или $r->request_body_file мог
21319произойти segmentation fault.
21320</para>
21321<para lang="en">
21322a segmentation fault might occur if the $r->request_body or
21323$r->request_body_file methods were used.
21324</para>
21325</change>
21326
21327<change type="bugfix">
21328<para lang="ru">
21329ошибок, специфичных для платформы ppc.
21330</para>
21331<para lang="en">
21332the ppc platform specific bugs.
21333</para>
21334</change>
21335
21336</changes>
21337
21338
21339<changes ver="0.5.4" date="2006-12-15">
21340
21341<change type="feature">
21342<para lang="ru">
21343директиву perl можно использовать внутри блока limit_except.
21344</para>
21345<para lang="en">
21346the "perl" directive may be used inside the "limit_except" block.
21347</para>
21348</change>
21349
21350<change type="bugfix">
21351<para lang="ru">
21352модуль ngx_http_dav_module требовал строку "Date" в заголовке запроса
21353для метода DELETE.
21354</para>
21355<para lang="en">
21356the ngx_http_dav_module required the "Date" request header line
21357for the DELETE method.
21358</para>
21359</change>
21360
21361<change type="bugfix">
21362<para lang="ru">
21363при использовании одного параметра в директиве dav_access nginx мог
21364сообщить об ошибке в конфигурации.
21365</para>
21366<para lang="en">
21367if one only parameter was used in the "dav_access" directive, then
21368nginx might report about configuration error.
21369</para>
21370</change>
21371
21372<change type="bugfix">
21373<para lang="ru">
21374при использовании переменной $host мог произойти segmentation fault;
21375ошибка появилась в 0.4.14.
21376</para>
21377<para lang="en">
21378a segmentation fault might occur if the $host variable was used;
21379the bug had appeared in 0.4.14.
21380</para>
21381</change>
21382
21383</changes>
21384
21385
21386<changes ver="0.5.3" date="2006-12-13">
21387
21388<change type="feature">
21389<para lang="ru">
21390модуль ngx_http_perl_module поддерживает методы $r->status, $r->log_error
21391и $r->sleep.
21392</para>
21393<para lang="en">
21394the ngx_http_perl_module supports the $r->status, $r->log_error,
21395and $r->sleep methods.
21396</para>
21397</change>
21398
21399<change type="feature">
21400<para lang="ru">
21401метод $r->variable поддерживает переменные, неописанные в конфигурации nginx'а.
21402</para>
21403<para lang="en">
21404the $r->variable method supports variables that do not exist in nginx
21405configuration.
21406</para>
21407</change>
21408
21409<change type="bugfix">
21410<para lang="ru">
21411метод $r->has_request_body не работал.
21412</para>
21413<para lang="en">
21414the $r->has_request_body method did not work.
21415</para>
21416</change>
21417
21418</changes>
21419
21420
21421<changes ver="0.5.2" date="2006-12-11">
21422
21423<change type="bugfix">
21424<para lang="ru">
21425если в директивах proxy_pass использовалось имя, указанное в upstream,
21426то nginx пытался найти IP-адрес этого имени;
21427ошибка появилась в 0.5.1.
21428</para>
21429<para lang="en">
21430if the "proxy_pass" directive used the name of the "upstream" block,
21431then nginx tried to resolve the name;
21432the bug had appeared in 0.5.1.
21433</para>
21434</change>
21435
21436</changes>
21437
21438
21439<changes ver="0.5.1" date="2006-12-11">
21440
21441<change type="bugfix">
21442<para lang="ru">
21443директива post_action могла не работать после неудачного завершения запроса.
21444</para>
21445<para lang="en">
21446the "post_action" directive might not run after a unsuccessful completion
21447of a request.
21448</para>
21449</change>
21450
21451<change type="workaround">
21452<para lang="ru">
21453обход ошибки в Eudora для Mac;
21454ошибка появилась в 0.4.11.<br/>
21455Спасибо Bron Gondwana.
21456</para>
21457<para lang="en">
21458for Eudora for Mac;
21459the bug had appeared in 0.4.11.<br/>
21460Thanks to Bron Gondwana.
21461</para>
21462</change>
21463
21464<change type="bugfix">
21465<para lang="ru">
21466при указании в директиве fastcgi_pass имени описанного upstream'а выдавалось
21467сообщение "no port in upstream";
21468ошибка появилась в 0.5.0.
21469</para>
21470<para lang="en">
21471if the "upstream" name was used in the "fastcgi_pass", then the message
21472"no port in upstream" was issued;
21473the bug had appeared in 0.5.0.
21474</para>
21475</change>
21476
21477<change type="bugfix">
21478<para lang="ru">
21479если в директивах proxy_pass и fastcgi_pass использовались одинаковых имена
21480серверов, но с разными портами, то эти директивы использовали первый
21481описанный порт;
21482ошибка появилась в 0.5.0.
21483</para>
21484<para lang="en">
21485if the "proxy_pass" and "fastcgi_pass" directives used the same servers but
21486different ports, then these directives uses the first described port;
21487the bug had appeared in 0.5.0.
21488</para>
21489</change>
21490
21491<change type="bugfix">
21492<para lang="ru">
21493если в директивах proxy_pass и fastcgi_pass использовались unix domain сокеты,
21494то эти директивы использовали первый описанный сокет;
21495ошибка появилась в 0.5.0.
21496</para>
21497<para lang="en">
21498if the "proxy_pass" and "fastcgi_pass" directives used the unix domain sockets,
21499then these directives used first described socket;
21500the bug had appeared in 0.5.0.
21501</para>
21502</change>
21503
21504<change type="bugfix">
21505<para lang="ru">
21506ngx_http_auth_basic_module игнорировал пользователя, если он был указан
21507в последней строке файла паролей и после пароля не было перевода строки,
21508возврата каретки или символа ":".
21509</para>
21510<para lang="en">
21511ngx_http_auth_basic_module ignored the user if it was in the last line in
21512the password file and there was no the carriage return, the line feed,
21513or the ":" symbol after the password.
21514</para>
21515</change>
21516
21517<change type="bugfix">
21518<para lang="ru">
21519переменная $upstream_response_time могла быть равна "0.000", хотя время
21520обработки было больше 1 миллисекунды.
21521</para>
21522<para lang="en">
21523the $upstream_response_time variable might be equal to "0.000", although
21524response time was more than 1 millisecond.
21525</para>
21526</change>
21527
21528</changes>
21529
21530
21531<changes ver="0.5.0" date="2006-12-04">
21532
21533<change type="change">
21534<para lang="ru">
21535параметры в виде "%name" в директиве log_format больше не поддерживаются.
21536</para>
21537<para lang="en">
21538the parameters in the "%name" form in the "log_format" directive
21539are not supported anymore.
21540</para>
21541</change>
21542
21543<change type="change">
21544<para lang="ru">
21545директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout,
21546fastcgi_upstream_max_fails, и fastcgi_upstream_fail_timeout,
21547memcached_upstream_max_fails и memcached_upstream_fail_timeout
21548больше не поддерживаются.
21549</para>
21550<para lang="en">
21551the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout",
21552"fastcgi_upstream_max_fails", "fastcgi_upstream_fail_timeout",
21553"memcached_upstream_max_fails", and "memcached_upstream_fail_timeout"
21554directives are not supported anymore.
21555</para>
21556</change>
21557
21558<change type="feature">
21559<para lang="ru">
21560директива server в блоке upstream поддерживает параметры
21561max_fails, fail_timeout и down.
21562</para>
21563<para lang="en">
21564the "server" directive in the "upstream" context supports
21565the "max_fails", "fail_timeout", and "down" parameters.
21566</para>
21567</change>
21568
21569<change type="feature">
21570<para lang="ru">
21571директива ip_hash в блоке upstream.
21572</para>
21573<para lang="en">
21574the "ip_hash" directive inside the "upstream" block.
21575</para>
21576</change>
21577
21578<change type="feature">
21579<para lang="ru">
21580статус WAIT в строке "Auth-Status" в заголовке ответа сервера аутентификации
21581IMAP/POP3 прокси.
21582</para>
21583<para lang="en">
21584the WAIT status in the "Auth-Status" header line of the IMAP/POP3 proxy
21585authentication server response.
21586</para>
21587</change>
21588
21589<change type="bugfix">
21590<para lang="ru">
21591nginx не собирался на 64-битных платформах;
21592ошибка появилась в 0.4.14.
21593</para>
21594<para lang="en">
21595nginx could not be built on 64-bit platforms;
21596the bug had appeared in 0.4.14.
21597</para>
21598</change>
21599
21600</changes>
21601
21602
21603<changes ver="0.4.14" date="2006-11-27">
21604
21605<change type="feature">
21606<para lang="ru">
21607директива proxy_pass_error_message в IMAP/POP3 прокси.
21608</para>
21609<para lang="en">
21610the "proxy_pass_error_message" directive in IMAP/POP3 proxy.
21611</para>
21612</change>
21613
21614<change type="feature">
21615<para lang="ru">
21616теперь configure определяет библиотеку PCRE на FreeBSD, Linux и NetBSD.
21617</para>
21618<para lang="en">
21619now configure detects system PCRE library on FreeBSD, Linux, and NetBSD.
21620</para>
21621</change>
21622
21623<change type="bugfix">
21624<para lang="ru">
21625ngx_http_perl_module не работал с перлом, собранным с поддержкой потоков;
21626ошибка появилась в 0.3.38.
21627</para>
21628<para lang="en">
21629ngx_http_perl_module did not work with perl built with the threads support;
21630the bug had appeared in 0.3.38.
21631</para>
21632</change>
21633
21634<change type="bugfix">
21635<para lang="ru">
21636ngx_http_perl_module не работал корректно, если перл вызывался рекурсивно.
21637</para>
21638<para lang="en">
21639ngx_http_perl_module did not work if perl was called recursively.
21640</para>
21641</change>
21642
21643<change type="bugfix">
21644<para lang="ru">
21645nginx игнорировал имя сервера в строке запроса.
21646</para>
21647<para lang="en">
21648nginx ignored a host name in a request line.
21649</para>
21650</change>
21651
21652<change type="bugfix">
21653<para lang="ru">
21654если FastCGI сервер передавал много в stderr,
21655то рабочий процесс мог зациклиться.
21656</para>
21657<para lang="en">
21658a worker process may got caught in an endless loop,
21659if a FastCGI server sent too many data to the stderr.
21660</para>
21661</change>
21662
21663<change type="bugfix">
21664<para lang="ru">
21665при изменении системного времени переменная $upstream_response_time
21666могла быть отрицательной.
21667</para>
21668<para lang="en">
21669the $upstream_response_time variable may be negative if the system time
21670was changed backward.
21671</para>
21672</change>
21673
21674<change type="bugfix">
21675<para lang="ru">
21676при использовании POP3 серверу аутентификации IMAP/POP3 прокси
21677не передавался параметр Auth-Login-Attempt.
21678</para>
21679<para lang="en">
21680the "Auth-Login-Attempt" parameter was not sent to
21681IMAP/POP3 proxy authentication server when POP3 was used.
21682</para>
21683</change>
21684
21685<change type="bugfix">
21686<para lang="ru">
21687при ошибке соединения с сервером аутентификации IMAP/POP3 прокси
21688мог произойти segmentation fault.
21689</para>
21690<para lang="en">
21691a segmentation fault might occur if connect to IMAP/POP3 proxy
21692authentication server failed.
21693</para>
21694</change>
21695
21696</changes>
21697
21698
21699<changes ver="0.4.13" date="2006-11-15">
21700
21701<change type="feature">
21702<para lang="ru">
21703директиву proxy_pass можно использовать внутри блока limit_except.
21704</para>
21705<para lang="en">
21706the "proxy_pass" directive may be used inside the "limit_except" block.
21707</para>
21708</change>
21709
21710<change type="feature">
21711<para lang="ru">
21712директива limit_except поддерживает все WebDAV методы.
21713</para>
21714<para lang="en">
21715the "limit_except" directive supports all WebDAV methods.
21716</para>
21717</change>
21718
21719<change type="bugfix">
21720<para lang="ru">
21721при использовании директивы add_before_body без директивы add_after_body
21722ответ передавался не полностью.
21723</para>
21724<para lang="en">
21725if the "add_before_body" directive was used without
21726the "add_after_body" directive, then a response did not transferred complete.
21727</para>
21728</change>
21729
21730<change type="bugfix">
21731<para lang="ru">
21732большое тело запроса не принималось, если использовались метод epoll
21733и deferred accept().
21734</para>
21735<para lang="en">
21736a large request body did not receive if the epoll method
21737and the deferred accept() were used.
21738</para>
21739</change>
21740
21741<change type="bugfix">
21742<para lang="ru">
21743для ответов модуля ngx_http_autoindex_module не выставлялась кодировка;
21744ошибка появилась в 0.3.50.
21745</para>
21746<para lang="en">
21747a charset could not be set for ngx_http_autoindex_module responses;
21748the bug had appeared in 0.3.50.
21749</para>
21750</change>
21751
21752<change type="bugfix">
21753<para lang="ru">
21754ошибки "[alert] zero size buf" при работе с FastCGI-сервером;
21755</para>
21756<para lang="en">
21757the "[alert] zero size buf" error when FastCGI server was used;
21758</para>
21759</change>
21760
21761<change type="bugfix">
21762<para lang="ru">
21763параметр конфигурации --group= игнорировался.<br/>
21764Спасибо Thomas Moschny.
21765</para>
21766<para lang="en">
21767the --group= configuration parameter was ignored.<br/>
21768Thanks to Thomas Moschny.
21769</para>
21770</change>
21771
21772<change type="bugfix">
21773<para lang="ru">
2177450-й подзапрос в SSI ответе не работал;
21775ошибка появилась в 0.3.50.
21776</para>
21777<para lang="en">
21778the 50th subrequest in SSI response did not work;
21779the bug had appeared in 0.3.50.
21780</para>
21781</change>
21782
21783</changes>
21784
21785
21786<changes ver="0.4.12" date="2006-10-31">
21787
21788<change type="feature">
21789<para lang="ru">
21790модуль ngx_http_perl_module поддерживает метод $r->variable.
21791</para>
21792<para lang="en">
21793the ngx_http_perl_module supports the $r->variable method.
21794</para>
21795</change>
21796
21797<change type="bugfix">
21798<para lang="ru">
21799при включении в ответ большого статического файла с помощью SSI
21800ответ мог передаваться не полностью.
21801</para>
21802<para lang="en">
21803if a big static file was included using SSI in a response,
21804then the response may be transferred incomplete.
21805</para>
21806</change>
21807
21808<change type="bugfix">
21809<para lang="ru">
21810nginx не убирал "#fragment" в URI.
21811</para>
21812<para lang="en">
21813nginx did not omit the "#fragment" part in URI.
21814</para>
21815</change>
21816
21817</changes>
21818
21819
21820<changes ver="0.4.11" date="2006-10-25">
21821
21822<change type="feature">
21823<para lang="ru">
21824POP3 прокси поддерживает AUTH LOGIN PLAIN и CRAM-MD5.
21825</para>
21826<para lang="en">
21827the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5.
21828</para>
21829</change>
21830
21831<change type="feature">
21832<para lang="ru">
21833модуль ngx_http_perl_module поддерживает метод $r->allow_ranges.
21834</para>
21835<para lang="en">
21836the ngx_http_perl_module supports the $r->allow_ranges method.
21837</para>
21838</change>
21839
21840<change type="bugfix">
21841<para lang="ru">
21842при включённой поддержке команды APOP в POP3 прокси могли
21843не работать команды USER/PASS;
21844ошибка появилась в 0.4.10.
21845</para>
21846<para lang="en">
21847if the APOP was enabled in the POP3 proxy, then the USER/PASS commands
21848might not work;
21849the bug had appeared in 0.4.10.
21850</para>
21851</change>
21852
21853</changes>
21854
21855
21856<changes ver="0.4.10" date="2006-10-23">
21857
21858<change type="feature">
21859<para lang="ru">
21860POP3 прокси поддерживает APOP.
21861</para>
21862<para lang="en">
21863the POP3 proxy supports the APOP command.
21864</para>
21865</change>
21866
21867<change type="bugfix">
21868<para lang="ru">
21869при использовании методов select, poll и /dev/poll во время ожидания
21870ответа от сервера аутентификации IMAP/POP3 прокси нагружал процессор.
21871</para>
21872<para lang="en">
21873if the select, poll or /dev/poll methods were used, then while
21874waiting authentication server response the IMAP/POP3 proxy hogged CPU.
21875</para>
21876</change>
21877
21878<change type="bugfix">
21879<para lang="ru">
21880при использовании переменной $server_addr в директиве map мог
21881произойти segmentation fault.
21882</para>
21883<para lang="en">
21884a segmentation fault might occur if the $server_addr variable was used
21885in the "map" directive.
21886</para>
21887</change>
21888
21889<change type="bugfix">
21890<para lang="ru">
21891модуль ngx_http_flv_module не поддерживал byte ranges для полных ответов;
21892ошибка появилась в 0.4.7.
21893</para>
21894<para lang="en">
21895the ngx_http_flv_module did not support the byte ranges for full responses;
21896the bug had appeared in 0.4.7.
21897</para>
21898</change>
21899
21900<change type="bugfix">
21901<para lang="ru">
21902nginx не собирался на Debian amd64;
21903ошибка появилась в 0.4.9.
21904</para>
21905<para lang="en">
21906nginx could not be built on Debian amd64;
21907the bug had appeared in 0.4.9.
21908</para>
21909</change>
21910
21911</changes>
21912
21913
21914<changes ver="0.4.9" date="2006-10-13">
21915
21916<change type="feature">
21917<para lang="ru">
21918параметр set в команде SSI include.
21919</para>
21920<para lang="en">
21921the "set" parameter in the "include" SSI command.
21922</para>
21923</change>
21924
21925<change type="feature">
21926<para lang="ru">
21927модуль ngx_http_perl_module теперь проверяет версию модуля nginx.pm.
21928</para>
21929<para lang="en">
21930the ngx_http_perl_module now tests the nginx.pm module version.
21931</para>
21932</change>
21933
21934</changes>
21935
21936
21937<changes ver="0.4.8" date="2006-10-11">
21938
21939<change type="bugfix">
21940<para lang="ru">
21941если до команды SSI include с параметром wait выполнялась ещё
21942одна команда SSI include, то параметр wait мог не работать.
21943</para>
21944<para lang="en">
21945if an "include" SSI command were before another "include" SSI command
21946with a "wait" parameter, then the "wait" parameter might not work.
21947</para>
21948</change>
21949
21950<change type="bugfix">
21951<para lang="ru">
21952модуль ngx_http_flv_module добавлял FLV-заголовок для полных ответов.<br/>
21953Спасибо Алексею Ковырину.
21954</para>
21955<para lang="en">
21956the ngx_http_flv_module added the FLV header to the full responses.<br/>
21957Thanks to Alexey Kovyrin.
21958</para>
21959</change>
21960
21961</changes>
21962
21963
21964<changes ver="0.4.7" date="2006-10-10">
21965
21966<change type="feature">
21967<para lang="ru">
21968модуль ngx_http_flv_module.
21969</para>
21970<para lang="en">
21971the ngx_http_flv_module.
21972</para>
21973</change>
21974
21975<change type="feature">
21976<para lang="ru">
21977переменная $request_body_file.
21978</para>
21979<para lang="en">
21980the $request_body_file variable.
21981</para>
21982</change>
21983
21984<change type="feature">
21985<para lang="ru">
21986директивы charset и source_charset поддерживают переменные.
21987</para>
21988<para lang="en">
21989the "charset" and "source_charset" directives support the variables.
21990</para>
21991</change>
21992
21993<change type="bugfix">
21994<para lang="ru">
21995если до команды SSI include с параметром wait выполнялась ещё
21996одна команда SSI include, то параметр wait мог не работать.
21997</para>
21998<para lang="en">
21999if an "include" SSI command were before another "include" SSI command
22000with a "wait" parameter, then the "wait" parameter might not work.
22001</para>
22002</change>
22003
22004<change type="bugfix">
22005<para lang="ru">
22006при использовании директивы "proxy_buffering off" или при работе
22007с memcached соединения могли не закрываться по таймауту.
22008</para>
22009<para lang="en">
22010if the "proxy_buffering off" directive was used or while working with
22011memcached the connections might not be closed on timeout.
22012</para>
22013</change>
22014
22015<change type="bugfix">
22016<para lang="ru">
22017nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64.
22018</para>
22019<para lang="en">
22020nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64.
22021</para>
22022</change>
22023
22024</changes>
22025
22026
22027<changes ver="0.4.6" date="2006-10-06">
22028
22029<change type="bugfix">
22030<para lang="ru">
22031nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64.
22032</para>
22033<para lang="en">
22034nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64.
22035</para>
22036</change>
22037
22038<change type="bugfix">
22039<para lang="ru">
22040при запросе версии HTTP/1.1 nginx передавал ответ chunk'ами,
22041если длина ответа в методе $r->headers_out("Content-Length", ...)
22042была задана текстовой строкой.
22043</para>
22044<para lang="en">
22045nginx sent the chunked response for HTTP/1.1 request,<br/>
22046if its length was set by text string in
22047the $r->headers_out("Content-Length", ...) method.
22048</para>
22049</change>
22050
22051<change type="bugfix">
22052<para lang="ru">
22053после перенаправления ошибки с помощью директивы error_page любая директива
22054модуля ngx_http_rewrite_module возвращала эту ошибку;
22055ошибка появилась в 0.4.4.
22056</para>
22057<para lang="en">
22058after redirecting error by an "error_page" directive
22059any ngx_http_rewrite_module directive returned this error code;
22060the bug had appeared in 0.4.4.
22061</para>
22062</change>
22063
22064</changes>
22065
22066
22067<changes ver="0.4.5" date="2006-10-02">
22068
22069<change type="bugfix">
22070<para lang="ru">
22071nginx не собирался на Linux и Solaris;
22072ошибка появилась в 0.4.4.
22073</para>
22074<para lang="en">
22075nginx could not be built on Linux and Solaris;
22076the bug had appeared in 0.4.4.
22077</para>
22078</change>
22079
22080</changes>
22081
22082
22083<changes ver="0.4.4" date="2006-10-02">
22084
22085<change type="feature">
22086<para lang="ru">
22087переменная $scheme.
22088</para>
22089<para lang="en">
22090the $scheme variable.
22091</para>
22092</change>
22093
22094<change type="feature">
22095<para lang="ru">
22096директива expires поддерживает параметр max.
22097</para>
22098<para lang="en">
22099the "expires" directive supports the "max" parameter.
22100</para>
22101</change>
22102
22103<change type="feature">
22104<para lang="ru">
22105директива include поддерживает маску "*".<br/>
22106Спасибо Jonathan Dance.
22107</para>
22108<para lang="en">
22109the "include" directive supports the "*" mask.<br/>
22110Thanks to Jonathan Dance.
22111</para>
22112</change>
22113
22114<change type="bugfix">
22115<para lang="ru">
22116директива return всегда изменяла код ответа, перенаправленного
22117директивой error_page.
22118</para>
22119<para lang="en">
22120the "return" directive always overrode the "error_page" response code
22121redirected by the "error_page" directive.
22122</para>
22123</change>
22124
22125<change type="bugfix">
22126<para lang="ru">
22127происходил segmentation fault, если в методе PUT передавалось
22128тело нулевой длины.
22129</para>
22130<para lang="en">
22131a segmentation fault occurred if zero-length body was in PUT method.
22132</para>
22133</change>
22134
22135<change type="bugfix">
22136<para lang="ru">
22137при использовании переменных в директиве proxy_redirect редирект
22138изменялся неверно.
22139</para>
22140<para lang="en">
22141the redirect was changed incorrectly if the variables were used
22142in the "proxy_redirect" directive.
22143</para>
22144</change>
22145
22146</changes>
22147
22148
22149<changes ver="0.4.3" date="2006-09-26">
22150
22151<change type="change">
22152<para lang="ru">
22153ошибку 499 теперь нельзя перенаправить с помощью директивы error_page.
22154</para>
22155<para lang="en">
22156now the 499 error could not be redirected using an "error_page" directive.
22157</para>
22158</change>
22159
22160<change type="feature">
22161<para lang="ru">
22162поддержка Solaris 10 event ports.
22163</para>
22164<para lang="en">
22165the Solaris 10 event ports support.
22166</para>
22167</change>
22168
22169<change type="feature">
22170<para lang="ru">
22171модуль ngx_http_browser_module.
22172</para>
22173<para lang="en">
22174the ngx_http_browser_module.
22175</para>
22176</change>
22177
22178<change type="bugfix">
22179<para lang="ru">
22180при перенаправлении ошибки 400 проксированному серверу
22181помощью директивы error_page мог произойти segmentation fault.
22182</para>
22183<para lang="en">
22184a segmentation fault may occur while redirecting the 400 error
22185to the proxied server using a "proxy_pass" directive.
22186</para>
22187</change>
22188
22189<change type="bugfix">
22190<para lang="ru">
22191происходил segmentation fault, если в директиве proxy_pass использовался
22192unix domain сокет;
22193ошибка появилась в 0.3.47.
22194</para>
22195<para lang="en">
22196a segmentation fault occurred if an unix domain socket was used in
22197a "proxy_pass" directive;
22198the bug had appeared in 0.3.47.
22199</para>
22200</change>
22201
22202<change type="bugfix">
22203<para lang="ru">
22204SSI не работал с ответами memcached и небуферизированными проксированными
22205ответами.
22206</para>
22207<para lang="en">
22208SSI did work with memcached and nonbuffered responses.
22209</para>
22210</change>
22211
22212<change type="workaround">
22213<para lang="ru">
22214обход ошибки PAUSE hardware capability в Sun Studio.
22215</para>
22216<para lang="en">
22217of the Sun Studio PAUSE hardware capability bug.
22218</para>
22219</change>
22220
22221</changes>
22222
22223
22224<changes ver="0.4.2" date="2006-09-14">
22225
22226<change type="bugfix">
22227<para lang="ru">
22228убрана поддержка флага O_NOATIME на Linux;
22229ошибка появилась в 0.4.1.
22230</para>
22231<para lang="en">
22232the O_NOATIME flag support on Linux was canceled;
22233the bug had appeared in 0.4.1.
22234</para>
22235</change>
22236
22237</changes>
22238
22239
22240<changes ver="0.4.1" date="2006-09-14">
22241
22242<change type="bugfix">
22243<para lang="ru">
22244совместимость с DragonFlyBSD.<br/>
22245Спасибо Павлу Назарову.
22246</para>
22247<para lang="en">
22248the DragonFlyBSD compatibility.<br/>
22249Thanks to Pavel Nazarov.
22250</para>
22251</change>
22252
22253<change type="workaround">
22254<para lang="ru">
22255обход ошибки в sendfile() в 64-битном Linux при передаче файлов больше 2G.
22256</para>
22257<para lang="en">
22258of bug in 64-bit Linux sendfile(), when file is more than 2G.
22259</para>
22260</change>
22261
22262<change type="feature">
22263<para lang="ru">
22264теперь на Linux nginx для статических запросов использует флаг O_NOATIME.<br/>
22265Спасибо Yusuf Goolamabbas.
22266</para>
22267<para lang="en">
22268now on Linux nginx uses O_NOATIME flag for static requests.<br/>
22269Thanks to Yusuf Goolamabbas.
22270</para>
22271</change>
22272
22273</changes>
22274
22275
22276<changes ver="0.4.0" date="2006-08-30">
22277
22278<change>
22279<para lang="ru">
22280Изменение во внутреннем API: инициализация модулей HTTP перенесена из фазы
22281init module в фазу HTTP postconfiguration.
22282</para>
22283<para lang="en">
22284Change in internal API: the HTTP modules initialization was moved
22285from the init module phase to the HTTP postconfiguration phase.
22286</para>
22287</change>
22288
22289<change type="change">
22290<para lang="ru">
22291теперь тело запроса в модуле ngx_http_perl_module не считывается
22292заранее: нужно явно инициировать чтение с помощью метода $r->has_request_body.
22293</para>
22294<para lang="en">
22295now the request body is not read beforehand for the ngx_http_perl_module:
22296it's required to start the reading using the $r->has_request_body method.
22297</para>
22298</change>
22299
22300<change type="feature">
22301<para lang="ru">
22302модуль ngx_http_perl_module поддерживает код возврата DECLINED.
22303</para>
22304<para lang="en">
22305the ngx_http_perl_module supports the DECLINED return code.
22306</para>
22307</change>
22308
22309<change type="feature">
22310<para lang="ru">
22311модуль ngx_http_dav_module поддерживает входящую строку заголовка "Date"
22312для метода PUT.
22313</para>
22314<para lang="en">
22315the ngx_http_dav_module supports the incoming "Date" header line
22316for the PUT method.
22317</para>
22318</change>
22319
22320<change type="feature">
22321<para lang="ru">
22322директива ssi работает внутри блока if.
22323</para>
22324<para lang="en">
22325the "ssi" directive is available inside the "if" block.
22326</para>
22327</change>
22328
22329<change type="bugfix">
22330<para lang="ru">
22331происходил segmentation fault, если в директиве index использовалась
22332переменные и при этом первое имя индексного файла было без переменных;
22333ошибка появилась в 0.1.29.
22334</para>
22335<para lang="en">
22336a segmentation fault occurred if there was an "index" directive with
22337variables and the first index name was without variables;
22338the bug had appeared in 0.1.29.
22339</para>
22340</change>
22341
22342</changes>
22343
22344
22345<changes ver="0.3.61" date="2006-08-28">
22346
22347<change type="change">
22348<para lang="ru">
22349директива tcp_nodelay теперь по умолчанию включена.
22350</para>
22351<para lang="en">
22352now the "tcp_nodelay" directive is turned on by default.
22353</para>
22354</change>
22355
22356<change type="feature">
22357<para lang="ru">
22358директива msie_refresh.
22359</para>
22360<para lang="en">
22361the "msie_refresh" directive.
22362</para>
22363</change>
22364
22365<change type="feature">
22366<para lang="ru">
22367директива recursive_error_pages.
22368</para>
22369<para lang="en">
22370the "recursive_error_pages" directive.
22371</para>
22372</change>
22373
22374<change type="bugfix">
22375<para lang="ru">
22376директива rewrite возвращала неправильный редирект, если редирект
22377включал в себя выделенные закодированные символы из оригинального URI.
22378</para>
22379<para lang="en">
22380the "rewrite" directive returned incorrect redirect, if the redirect
22381had the captured escaped symbols from original URI.
22382</para>
22383</change>
22384
22385</changes>
22386
22387
22388<changes ver="0.3.60" date="2006-08-18">
22389
22390<change type="bugfix">
22391<para lang="ru">
22392во время перенаправления ошибки рабочий процесс мог зациклиться;
22393ошибка появилась в 0.3.59.
22394</para>
22395<para lang="en">
22396a worker process may got caught in an endless loop
22397while an error redirection;
22398the bug had appeared in 0.3.59.
22399</para>
22400</change>
22401
22402</changes>
22403
22404
22405<changes ver="0.3.59" date="2006-08-16">
22406
22407<change type="feature">
22408<para lang="ru">
22409теперь можно делать несколько перенаправлений через директиву error_page.
22410</para>
22411<para lang="en">
22412now is possible to do several redirection using the "error_page" directive.
22413</para>
22414</change>
22415
22416<change type="bugfix">
22417<para lang="ru">
22418директива dav_access не поддерживала три параметра.
22419</para>
22420<para lang="en">
22421the "dav_access" directive did not support three parameters.
22422</para>
22423</change>
22424
22425<change type="bugfix">
22426<para lang="ru">
22427директива error_page не изменяла строку "Content-Type"
22428после перенаправления с помощью "X-Accel-Redirect";
22429ошибка появилась в 0.3.58.
22430</para>
22431<para lang="en">
22432the "error_page" directive did not changes the "Content-Type" header line
22433after the "X-Accel-Redirect" was used;
22434the bug had appeared in 0.3.58.
22435</para>
22436</change>
22437
22438</changes>
22439
22440
22441<changes ver="0.3.58" date="2006-08-14">
22442
22443<change type="feature">
22444<para lang="ru">
22445директива error_page поддерживает переменные.
22446</para>
22447<para lang="en">
22448the "error_page" directive supports the variables.
22449</para>
22450</change>
22451
22452<change type="change">
22453<para lang="ru">
22454теперь на Linux используется интерфейс procfs вместо sysctl.
22455</para>
22456<para lang="en">
22457now the procfs interface instead of sysctl is used on Linux.
22458</para>
22459</change>
22460
22461<change type="change">
22462<para lang="ru">
22463теперь при использовании "X-Accel-Redirect" строка "Content-Type" наследуется
22464из первоначального ответа.
22465</para>
22466<para lang="en">
22467now the "Content-Type" header line is inherited from first response
22468when the "X-Accel-Redirect" was used.
22469</para>
22470</change>
22471
22472<change type="bugfix">
22473<para lang="ru">
22474директива error_page не перенаправляла ошибку 413.
22475</para>
22476<para lang="en">
22477the "error_page" directive did not redirect the 413 error.
22478</para>
22479</change>
22480
22481<change type="bugfix">
22482<para lang="ru">
22483завершающий "?" не удалял старые аргументы, если в переписанном URI
22484не было новых аргументов.
22485</para>
22486<para lang="en">
22487the trailing "?" did not remove old arguments if no new arguments
22488were added to a rewritten URI.
22489</para>
22490</change>
22491
22492<change type="bugfix">
22493<para lang="ru">
22494nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
22495</para>
22496<para lang="en">
22497nginx could not run on 64-bit FreeBSD 7.0-CURRENT.
22498</para>
22499</change>
22500
22501</changes>
22502
22503
22504<changes ver="0.3.57" date="2006-08-09">
22505
22506<change type="feature">
22507<para lang="ru">
22508переменная $ssl_client_serial.
22509</para>
22510<para lang="en">
22511the $ssl_client_serial variable.
22512</para>
22513</change>
22514
22515<change type="bugfix">
22516<para lang="ru">
22517в операторе "!-e" в директиве if.<br/>
22518Спасибо Андриану Буданцову.
22519</para>
22520<para lang="en">
22521in the "!-e" operator of the "if" directive.<br/>
22522Thanks to Andrian Budanstov.
22523</para>
22524</change>
22525
22526<change type="bugfix">
22527<para lang="ru">
22528при проверке клиентского сертификата nginx не передавал клиенту
22529информацию о требуемых сертификатах.
22530</para>
22531<para lang="en">
22532while a client certificate verification nginx did not send to a client
22533the required certificates information.
22534</para>
22535</change>
22536
22537<change type="bugfix">
22538<para lang="ru">
22539переменная $document_root не поддерживала переменные в директиве root.
22540</para>
22541<para lang="en">
22542the $document_root variable did not support the variables in the "root"
22543directive.
22544</para>
22545</change>
22546
22547</changes>
22548
22549
22550<changes ver="0.3.56" date="2006-08-04">
22551
22552<change type="feature">
22553<para lang="ru">
22554директива dav_access.
22555</para>
22556<para lang="en">
22557the "dav_access" directive.
22558</para>
22559</change>
22560
22561<change type="feature">
22562<para lang="ru">
22563директива if поддерживает операторы "-d", "!-d", "-e", "!-e", "-x" и "!-x".
22564</para>
22565<para lang="en">
22566the "if" directive supports the "-d", "!-d", "-e", "!-e", "-x", and "!-x"
22567operators.
22568</para>
22569</change>
22570
22571<change type="bugfix">
22572<para lang="ru">
22573при записи в access_log некоторых передаваемых клиенту строк заголовков
22574происходил segmentation fault, если запрос возвращал редирект.
22575</para>
22576<para lang="en">
22577a segmentation fault occurred if a request returned a redirect and
22578some sent to client header lines were logged in the access log.
22579</para>
22580</change>
22581
22582</changes>
22583
22584
22585<changes ver="0.3.55" date="2006-07-28">
22586
22587<change type="feature">
22588<para lang="ru">
22589параметр stub в команде SSI include.
22590</para>
22591<para lang="en">
22592the "stub" parameter in the "include" SSI command.
22593</para>
22594</change>
22595
22596<change type="feature">
22597<para lang="ru">
22598команда SSI block.
22599</para>
22600<para lang="en">
22601the "block" SSI command.
22602</para>
22603</change>
22604
22605<change type="feature">
22606<para lang="ru">
22607скрипт unicode2nginx добавлен в contrib.
22608</para>
22609<para lang="en">
22610the unicode2nginx script was added to contrib.
22611</para>
22612</change>
22613
22614<change type="bugfix">
22615<para lang="ru">
22616если root был задан только переменной, то корень задавался
22617относительно префикса сервера.
22618</para>
22619<para lang="en">
22620if a "root" was specified by variable only, then the root was relative
22621to a server prefix.
22622</para>
22623</change>
22624
22625<change type="bugfix">
22626<para lang="ru">
22627если в запросе был "//" или "/.", и после этого закодированные
22628символы в виде "%XX", то проксируемый запрос передавался незакодированным.
22629</para>
22630<para lang="en">
22631if the request contained "//" or "/./" and escaped symbols after them,
22632then the proxied request was sent unescaped.
22633</para>
22634</change>
22635
22636<change type="bugfix">
22637<para lang="ru">
22638метод $r->header_in("Cookie") модуля ngx_http_perl_module теперь возвращает
22639все строки "Cookie" в заголовке запроса.
22640</para>
22641<para lang="en">
22642the $r->header_in("Cookie") of the ngx_http_perl_module now returns
22643all "Cookie" header lines.
22644</para>
22645</change>
22646
22647<change type="bugfix">
22648<para lang="ru">
22649происходил segmentation fault, если использовался
22650<nobr>"client_body_in_file_only on"</nobr>
22651и делался переход к следующему бэкенду.
22652</para>
22653<para lang="en">
22654a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr>
22655was used and nginx switched to a next upstream.
22656</para>
22657</change>
22658
22659<change type="bugfix">
22660<para lang="ru">
22661при некоторых условиях во время переконфигурации коды символов
22662внутри директивы charset_map могли считаться неверными;
22663ошибка появилась в 0.3.50.
22664</para>
22665<para lang="en">
22666on some condition while reconfiguration character codes
22667inside the "charset_map" may be treated invalid;
22668the bug had appeared in 0.3.50.
22669</para>
22670</change>
22671
22672</changes>
22673
22674
22675<changes ver="0.3.54" date="2006-07-11">
22676
22677<change type="feature">
22678<para lang="ru">
22679nginx теперь записывает в лог информацию о подзапросах.
22680</para>
22681<para lang="en">
22682nginx now logs the subrequest information to the error log.
22683</para>
22684</change>
22685
22686<change type="feature">
22687<para lang="ru">
22688директивы proxy_next_upstream, fastcgi_next_upstream и memcached_next_upstream
22689поддерживают параметр off.
22690</para>
22691<para lang="en">
22692the "proxy_next_upstream", "fastcgi_next_upstream",
22693and "memcached_next_upstream" directives support the "off" parameter.
22694</para>
22695</change>
22696
22697<change type="feature">
22698<para lang="ru">
22699директива debug_connection поддерживает запись адресов в формате CIDR.
22700</para>
22701<para lang="en">
22702the "debug_connection" directive supports the CIDR address form.
22703</para>
22704</change>
22705
22706<change type="bugfix">
22707<para lang="ru">
22708при перекодировании ответа проксированного сервера или сервера FastCGI
22709в UTF-8 или наоборот ответ мог передаваться не полностью.
22710</para>
22711<para lang="en">
22712if a response of proxied server or FastCGI server was converted from UTF-8
22713or back, then it may be transferred incomplete.
22714</para>
22715</change>
22716
22717<change type="bugfix">
22718<para lang="ru">
22719переменная $upstream_response_time содержала время только первого
22720обращения к бэкенду.
22721</para>
22722<para lang="en">
22723the $upstream_response_time variable had the time of the first
22724request to a backend only.
22725</para>
22726</change>
22727
22728<change type="bugfix">
22729<para lang="ru">
22730nginx не собирался на платформе amd64;
22731ошибка появилась в 0.3.53.
22732</para>
22733<para lang="en">
22734nginx could not be built on amd64 platform;
22735the bug had appeared in 0.3.53.
22736</para>
22737</change>
22738
22739</changes>
22740
22741
22742<changes ver="0.3.53" date="2006-07-07">
22743
22744<change type="change">
22745<para lang="ru">
22746директива add_header добавляет строки в ответы с кодом 204, 301 и 302.
22747</para>
22748<para lang="en">
22749the "add_header" directive adds the string to 204, 301, and 302 responses.
22750</para>
22751</change>
22752
22753<change type="feature">
22754<para lang="ru">
22755директива server в блоке upstream поддерживает параметр weight.
22756</para>
22757<para lang="en">
22758the "server" directive in the "upstream" context supports
22759the "weight" parameter.
22760</para>
22761</change>
22762
22763<change type="feature">
22764<para lang="ru">
22765директива server_name поддерживает маску "*".
22766</para>
22767<para lang="en">
22768the "server_name" directive supports the "*" wildcard.
22769</para>
22770</change>
22771
22772<change type="feature">
22773<para lang="ru">
22774nginx поддерживает тело запроса больше 2G.
22775</para>
22776<para lang="en">
22777nginx supports the request body size more than 2G.
22778</para>
22779</change>
22780
22781<change type="bugfix">
22782<para lang="ru">
22783если при использовании "satisfy_any on" клиент успешно проходил аутентификацию,
22784в лог всё равно записалоcь сообщение "access forbidden by rule".
22785</para>
22786<para lang="en">
22787if a client was successfully authorized using "satisfy_any on", then anyway
22788the message "access forbidden by rule" was written in the log.
22789</para>
22790</change>
22791
22792<change type="bugfix">
22793<para lang="ru">
22794метод PUT мог ошибочно не создать файл и вернуть код 409.
22795</para>
22796<para lang="en">
22797the "PUT" method may erroneously not create a file and return the 409 code.
22798</para>
22799</change>
22800
22801<change type="bugfix">
22802<para lang="ru">
22803если во время аутентификации IMAP/POP3 бэкенд возвращал ошибку, nginx
22804продолжал проксирование.
22805</para>
22806<para lang="en">
22807if the IMAP/POP3 backend returned an error, then nginx continued proxying
22808anyway.
22809</para>
22810</change>
22811
22812</changes>
22813
22814
22815<changes ver="0.3.52" date="2006-07-03">
22816
22817<change type="change">
22818<para lang="ru">
22819восстановлено поведение модуля ngx_http_index_module для запросов "POST /":
22820как в версии до 0.3.40, модуль теперь не выдаёт ошибку 405.
22821</para>
22822<para lang="en">
22823the ngx_http_index_module behavior for the "POST /" requests is reverted
22824to the 0.3.40 version state: the module now does not return the 405 error.
22825</para>
22826</change>
22827
22828<change type="bugfix">
22829<para lang="ru">
22830при использовании ограничения скорости рабочий процесс мог зациклиться;
22831ошибка появилась в 0.3.37.
22832</para>
22833<para lang="en">
22834the worker process may got caught in an endless loop if the limit rate was used;
22835the bug had appeared in 0.3.37.
22836</para>
22837</change>
22838
22839<change type="bugfix">
22840<para lang="ru">
22841модуль ngx_http_charset_module записывал в лог ошибку "unknown charset",
22842даже если перекодировка не требовалась;
22843ошибка появилась в 0.3.50.
22844</para>
22845<para lang="en">
22846ngx_http_charset_module logged "unknown charset" alert, even if the recoding
22847was not needed;
22848the bug had appeared in 0.3.50.
22849</para>
22850</change>
22851
22852<change type="bugfix">
22853<para lang="ru">
22854если в результате запроса PUT возвращался код 409, то временный файл
22855не удалялся.
22856</para>
22857<para lang="en">
22858if a code response of the PUT request was 409, then a temporary file
22859was not removed.
22860</para>
22861</change>
22862
22863</changes>
22864
22865
22866<changes ver="0.3.51" date="2006-06-30">
22867
22868<change type="bugfix">
22869<para lang="ru">
22870при некоторых условиях в SSI мог пропадать символы "&lt;";
22871ошибка появилась в 0.3.50.
22872</para>
22873<para lang="en">
22874the "&lt;" symbols might disappeared some conditions in the SSI;
22875the bug had appeared in 0.3.50.
22876</para>
22877</change>
22878
22879</changes>
22880
22881
22882<changes ver="0.3.50" date="2006-06-28">
22883
22884<change type="change">
22885<para lang="ru">
22886директивы proxy_redirect_errors и fastcgi_redirect_errors
22887переименованы соответственно в proxy_intercept_errors и
22888fastcgi_intercept_errors.
22889</para>
22890<para lang="en">
22891the "proxy_redirect_errors" and "fastcgi_redirect_errors" directives
22892was renamed to the "proxy_intercept_errors" and
22893"fastcgi_intercept_errors" directives.
22894</para>
22895</change>
22896
22897<change type="feature">
22898<para lang="ru">
22899модуль ngx_http_charset_module поддерживает перекодирование из
22900однобайтных кодировок в UTF-8 и обратно.
22901</para>
22902<para lang="en">
22903the ngx_http_charset_module supports the recoding from the single byte
22904encodings to the UTF-8 encoding and back.
22905</para>
22906</change>
22907
22908<change type="feature">
22909<para lang="ru">
22910в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Charset"
22911в ответе бэкенда.
22912</para>
22913<para lang="en">
22914the "X-Accel-Charset" response header line is supported in proxy
22915and FastCGI mode.
22916</para>
22917</change>
22918
22919<change type="bugfix">
22920<para lang="ru">
22921символ "\" в парах "\"" и "\'" в SSI командах убирался, только если
22922также использовался символ "$".
22923</para>
22924<para lang="en">
22925the "\" escape symbol in the "\"" and "\'" pairs in the SSI command
22926was removed only if the command also has the "$" symbol.
22927</para>
22928</change>
22929
22930<change type="bugfix">
22931<para lang="ru">
22932при некоторых условиях в SSI после вставки могла быть добавлена
22933строка "&lt;!--".
22934</para>
22935<para lang="en">
22936the "&lt;!--" string might be added on some conditions
22937in the SSI after inclusion.
22938</para>
22939</change>
22940
22941<change type="bugfix">
22942<para lang="ru">
22943если в заголовке ответа была строка <nobr>"Content-Length: 0",</nobr>
22944то при использовании небуферизированного проксировании не закрывалось соединение
22945с клиентом.
22946</para>
22947<para lang="en">
22948if the "Content-Length: 0" header line was in response, then
22949in nonbuffered proxying mode the client connection was not closed.
22950</para>
22951</change>
22952
22953</changes>
22954
22955
22956<changes ver="0.3.49" date="2006-05-31">
22957
22958<change type="bugfix">
22959<para lang="ru">
22960в директиве set.
22961</para>
22962<para lang="en">
22963in the "set" directive.
22964</para>
22965</change>
22966
22967<change type="bugfix">
22968<para lang="ru">
22969при включении в ssi двух и более подзапросов, обрабатываемых через FastCGI,
22970вместо вывода второго и остальных подзапросов в ответ включался вывод
22971первого подзапроса.
22972</para>
22973<para lang="en">
22974if two or more FastCGI subrequests was in SSI, then first subrequest output
22975was included instead of second and following subrequests.
22976</para>
22977</change>
22978
22979</changes>
22980
22981
22982<changes ver="0.3.48" date="2006-05-29">
22983
22984<change type="change">
22985<para lang="ru">
22986теперь модуль ngx_http_charset_module работает для подзапросов,
22987в ответах которых нет строки заголовка "Content-Type".
22988</para>
22989<para lang="en">
22990now the ngx_http_charset_module works for subrequests,
22991if the response has no "Content-Type" header line.
22992</para>
22993</change>
22994
22995<change type="bugfix">
22996<para lang="ru">
22997если в директиве proxy_pass не было URI,
22998то директива "proxy_redirect  default" добавляла в переписанный
22999редирект в начало лишний слэш.
23000</para>
23001<para lang="en">
23002if the "proxy_pass" directive has no URI part,
23003then the "proxy_redirect  default" directive add the unnecessary slash
23004in start of the rewritten redirect.
23005</para>
23006</change>
23007
23008<change type="bugfix">
23009<para lang="ru">
23010внутренний редирект всегда превращал любой HTTP-метод в GET,
23011теперь это делается только для редиректов, выполняемых с помощью
23012X-Accel-Redirect, и у которых метод не равен HEAD;
23013ошибка появилась в 0.3.42.
23014</para>
23015<para lang="en">
23016the internal redirect always transform client's HTTP method to GET,
23017now the transformation is made for the "X-Accel-Redirect" redirects only
23018and if the method is not HEAD;
23019the bug had appeared in 0.3.42.
23020</para>
23021</change>
23022
23023<change type="bugfix">
23024<para lang="ru">
23025модуль ngx_http_perl_module не собирался, если перл был с поддержкой потоков;
23026ошибка появилась в 0.3.46.
23027</para>
23028<para lang="en">
23029the ngx_http_perl_module could not be built, if the perl was built
23030with the threads support;
23031the bug had appeared in 0.3.46.
23032</para>
23033</change>
23034
23035</changes>
23036
23037
23038<changes ver="0.3.47" date="2006-05-23">
23039
23040<change type="feature">
23041<para lang="ru">
23042директива upstream.
23043</para>
23044<para lang="en">
23045the "upstream" directive.
23046</para>
23047</change>
23048
23049<change type="change">
23050<para lang="ru">
23051символ "\" в парах "\"" и "\'" в SSI командах теперь всегда убирается.
23052</para>
23053<para lang="en">
23054now the "\" escape symbol in the "\"" and "\'" pairs in the SSI command
23055is always removed.
23056</para>
23057</change>
23058
23059</changes>
23060
23061
23062<changes ver="0.3.46" date="2006-05-11">
23063
23064<change type="feature">
23065<para lang="ru">
23066директивы proxy_hide_header, proxy_pass_header, fastcgi_hide_header
23067и fastcgi_pass_header.
23068</para>
23069<para lang="en">
23070the "proxy_hide_header", "proxy_pass_header", "fastcgi_hide_header",
23071and "fastcgi_pass_header" directives.
23072</para>
23073</change>
23074
23075<change type="change">
23076<para lang="ru">
23077директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и proxy_pass_server
23078упразднены.
23079</para>
23080<para lang="en">
23081the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and "proxy_pass_server"
23082directives were canceled.
23083</para>
23084</change>
23085
23086<change type="feature">
23087<para lang="ru">
23088в режиме прокси поддерживается строка заголовка "X-Accel-Buffering"
23089в ответе бэкенда.
23090</para>
23091<para lang="en">
23092the "X-Accel-Buffering" response header line is supported in proxy mode.
23093</para>
23094</change>
23095
23096<change type="bugfix">
23097<para lang="ru">
23098ошибок и утечек памяти при переконфигурации в модуле ngx_http_perl_module.
23099</para>
23100<para lang="en">
23101the reconfiguration bug and memory leaks in the ngx_http_perl_module.
23102</para>
23103</change>
23104
23105</changes>
23106
23107
23108<changes ver="0.3.45" date="2006-05-06">
23109
23110<change type="feature">
23111<para lang="ru">
23112директивы ssl_verify_client, ssl_verify_depth и ssl_client_certificate.
23113</para>
23114<para lang="en">
23115the "ssl_verify_client", "ssl_verify_depth", and "ssl_client_certificate"
23116directives.
23117</para>
23118</change>
23119
23120<change type="change">
23121<para lang="ru">
23122теперь переменная $request_method возвращает метод только основного запроса.
23123</para>
23124<para lang="en">
23125the $request_method variable now returns the main request method.
23126</para>
23127</change>
23128
23129<change type="change">
23130<para lang="ru">
23131в таблице перекодировки koi-win изменены коды символа &amp;deg;.
23132</para>
23133<para lang="en">
23134the &amp;deg; symbol codes were changed in koi-win conversion table.
23135</para>
23136</change>
23137
23138<change type="feature">
23139<para lang="ru">
23140в таблицу перекодировки koi-win добавлены символы евро и номера.
23141</para>
23142<para lang="en">
23143the euro and N symbols were added to koi-win conversion table.
23144</para>
23145</change>
23146
23147<change type="bugfix">
23148<para lang="ru">
23149если nginx распределял запросы на несколько машин, то при падении
23150одной из них запросы, предназначенные для этой машины, перенаправлялись только
23151на одну машину вместо того, чтобы равномерно распределяться между остальными.
23152</para>
23153<para lang="en">
23154if nginx distributed the requests among several backends and some backend
23155failed, then requests intended for this backend was directed to one live
23156backend only instead of being distributed among the rest.
23157</para>
23158</change>
23159
23160</changes>
23161
23162
23163<changes ver="0.3.44" date="2006-05-04">
23164
23165<change type="feature">
23166<para lang="ru">
23167параметр wait в команде SSI include.
23168</para>
23169<para lang="en">
23170the "wait" parameter in the "include" SSI command.
23171</para>
23172</change>
23173
23174<change type="feature">
23175<para lang="ru">
23176в таблицу перекодировки koi-win добавлены украинские и белорусские символы.
23177</para>
23178<para lang="en">
23179the Ukrainian and Byelorussian characters were added to koi-win conversion
23180table.
23181</para>
23182</change>
23183
23184<change type="bugfix">
23185<para lang="ru">
23186в SSI.
23187</para>
23188<para lang="en">
23189in the SSI.
23190</para>
23191</change>
23192
23193</changes>
23194
23195
23196<changes ver="0.3.43" date="2006-04-26">
23197
23198<change type="bugfix">
23199<para lang="ru">
23200в SSI.
23201</para>
23202<para lang="en">
23203in the SSI.
23204</para>
23205</change>
23206
23207</changes>
23208
23209
23210<changes ver="0.3.42" date="2006-04-26">
23211
23212<change type="feature">
23213<para lang="ru">
23214параметр bind в директиве listen в IMAP/POP3 прокси.
23215</para>
23216<para lang="en">
23217the "bind" option of the "listen" directive in IMAP/POP3 proxy.
23218</para>
23219</change>
23220
23221<change type="bugfix">
23222<para lang="ru">
23223ошибки при использовании в директиве rewrite одного и того же
23224выделения более одного раза.
23225</para>
23226<para lang="en">
23227if the same capture in the "rewrite" directive was used more then once.
23228</para>
23229</change>
23230
23231<change type="bugfix">
23232<para lang="ru">
23233в лог не записывались переменные
23234$sent_http_content_type, $sent_http_content_length, $sent_http_last_modified,
23235$sent_http_connection, $sent_http_keep_alive и $sent_http_transfer_encoding.
23236</para>
23237<para lang="en">
23238the $sent_http_content_type, $sent_http_content_length,
23239$sent_http_last_modified, $sent_http_connection, $sent_http_keep_alive,
23240and $sent_http_transfer_encoding variables were not written to access log.
23241</para>
23242</change>
23243
23244<change type="bugfix">
23245<para lang="ru">
23246переменная $sent_http_cache_control возвращала содержимое только одной
23247строки "Cache-Control" в заголовке ответа.
23248</para>
23249<para lang="en">
23250the $sent_http_cache_control returned value of the single "Cache-Control"
23251response header line.
23252</para>
23253</change>
23254
23255</changes>
23256
23257
23258<changes ver="0.3.41" date="2006-04-21">
23259
23260<change type="feature">
23261<para lang="ru">
23262ключ -v.
23263</para>
23264<para lang="en">
23265the -v switch.
23266</para>
23267</change>
23268
23269<change type="bugfix">
23270<para lang="ru">
23271при включении в SSI удалённых подзапросов
23272мог произойти segmentation fault.
23273</para>
23274<para lang="en">
23275the segmentation fault may occurred if the SSI page has remote subrequests.
23276</para>
23277</change>
23278
23279<change type="bugfix">
23280<para lang="ru">
23281в обработке FastCGI.
23282</para>
23283<para lang="en">
23284in FastCGI handling.
23285</para>
23286</change>
23287
23288<change type="bugfix">
23289<para lang="ru">
23290если путь к перловым модулям не был указан с помощью
23291--with-perl_modules_path=PATH или директивы perl_modules,
23292то на старте происходил segmentation fault.
23293</para>
23294<para lang="en">
23295if the perl modules path was not set using
23296--with-perl_modules_path=PATH or the "perl_modules", then
23297the segmentation fault was occurred.
23298</para>
23299</change>
23300
23301</changes>
23302
23303
23304<changes ver="0.3.40" date="2006-04-19">
23305
23306<change type="feature">
23307<para lang="ru">
23308модуль ngx_http_dav_module поддерживает метод MKCOL.
23309</para>
23310<para lang="en">
23311the ngx_http_dav_module supports the MKCOL method.
23312</para>
23313</change>
23314
23315<change type="feature">
23316<para lang="ru">
23317директива create_full_put_path.
23318</para>
23319<para lang="en">
23320the "create_full_put_path" directive.
23321</para>
23322</change>
23323
23324<change type="feature">
23325<para lang="ru">
23326переменная $limit_rate.
23327</para>
23328<para lang="en">
23329the "$limit_rate" variable.
23330</para>
23331</change>
23332
23333</changes>
23334
23335
23336<changes ver="0.3.39" date="2006-04-17">
23337
23338<change type="feature">
23339<para lang="ru">
23340директива uninitialized_variable_warn; уровень логгирования сообщения
23341о неинициализированной переменной понижен с уровня alert на warn.
23342</para>
23343<para lang="en">
23344the "uninitialized_variable_warn" directive; the logging level of the
23345"uninitialized variable" message was lowered from "alert" to "warn".
23346</para>
23347</change>
23348
23349<change type="feature">
23350<para lang="ru">
23351директива override_charset.
23352</para>
23353<para lang="en">
23354the "override_charset" directive.
23355</para>
23356</change>
23357
23358<change type="change">
23359<para lang="ru">
23360при использовании неизвестной переменной в SSI-командах echo и if expr='$name'
23361теперь не записывается в лог сообщение о неизвестной переменной.
23362</para>
23363<para lang="en">
23364now if the unknown variable is used in the "echo" and "if expr='$name'"
23365SSI-commands, then the "unknown variable" message is not logged.
23366</para>
23367</change>
23368
23369<change type="bugfix">
23370<para lang="ru">
23371счётчик активных соединений рос при превышении лимита соединений,
23372заданного директивой worker_connections;
23373ошибка появилась в 0.2.0.
23374</para>
23375<para lang="en">
23376the active connection counter increased on the exceeding of the connection
23377limit specified by the "worker_connections" directive;
23378the bug had appeared in 0.2.0.
23379</para>
23380</change>
23381
23382<change type="bugfix">
23383<para lang="ru">
23384при некоторых условия ограничение скорости соединения могло не работать;
23385ошибка появилась в 0.3.38.
23386</para>
23387<para lang="en">
23388the limit rate might not work on some condition;
23389the bug had appeared in 0.3.38.
23390</para>
23391</change>
23392
23393</changes>
23394
23395
23396<changes ver="0.3.38" date="2006-04-14">
23397
23398<change type="feature">
23399<para lang="ru">
23400модуль ngx_http_dav_module.
23401</para>
23402<para lang="en">
23403the ngx_http_dav_module.
23404</para>
23405</change>
23406
23407<change type="change">
23408<para lang="ru">
23409оптимизация модуля ngx_http_perl_module.<br/>
23410Спасибо Сергею Скворцову.
23411</para>
23412<para lang="en">
23413the ngx_http_perl_module optimizations.<br/>
23414Thanks to Sergey Skvortsov.
23415</para>
23416</change>
23417
23418<change type="feature">
23419<para lang="ru">
23420модуль ngx_http_perl_module поддерживает метод $r->request_body_file.
23421</para>
23422<para lang="en">
23423the ngx_http_perl_module supports the $r->request_body_file method.
23424</para>
23425</change>
23426
23427<change type="feature">
23428<para lang="ru">
23429директива client_body_in_file_only.
23430</para>
23431<para lang="en">
23432the "client_body_in_file_only" directive.
23433</para>
23434</change>
23435
23436<change type="workaround">
23437<para lang="ru">
23438теперь при переполнении диска nginx пытается писать access_log'и только
23439раз в секунду.<br/>
23440Спасибо Антону Южанинову и Максиму Дунину.
23441</para>
23442<para lang="en">
23443now on disk overflow nginx tries to write access logs once a second only.<br/>
23444Thanks to Anton Yuzhaninov and Maxim Dounin.
23445</para>
23446</change>
23447
23448<change type="bugfix">
23449<para lang="ru">
23450теперь директива limit_rate точнее ограничивает скорость при значениях
23451больше <nobr>100 Kbyte/s.</nobr><br/>
23452Спасибо ForJest.
23453</para>
23454<para lang="en">
23455now the "limit_rate" directive more precisely limits rate if rate is more
23456than <nobr>100 Kbyte/s.</nobr><br/>
23457Thanks to ForJest.
23458</para>
23459</change>
23460
23461<change type="bugfix">
23462<para lang="ru">
23463IMAP/POP3 прокси теперь передаёт серверу авторизации символы "\r" и "\n"
23464в логине и пароле в закодированном виде.<br/>
23465Спасибо Максиму Дунину.
23466</para>
23467<para lang="en">
23468now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and
23469password to pass authorization server.<br/>
23470Thanks to Maxim Dounin.
23471</para>
23472</change>
23473
23474</changes>
23475
23476
23477<changes ver="0.3.37" date="2006-04-07">
23478
23479<change type="feature">
23480<para lang="ru">
23481директива limit_except.
23482</para>
23483<para lang="en">
23484the "limit_except" directive.
23485</para>
23486</change>
23487
23488<change type="feature">
23489<para lang="ru">
23490директива if поддерживает операторы "!~", "!~*", "-f" и "!-f".
23491</para>
23492<para lang="en">
23493the "if" directive supports the "!~", "!~*", "-f", and "!-f" operators.
23494</para>
23495</change>
23496
23497<change type="feature">
23498<para lang="ru">
23499модуль ngx_http_perl_module поддерживает метод $r->request_body.
23500</para>
23501<para lang="en">
23502the ngx_http_perl_module supports the $r->request_body method.
23503</para>
23504</change>
23505
23506<change type="bugfix">
23507<para lang="ru">
23508в модуле ngx_http_addition_filter_module.
23509</para>
23510<para lang="en">
23511in the ngx_http_addition_filter_module.
23512</para>
23513</change>
23514
23515</changes>
23516
23517
23518<changes ver="0.3.36" date="2006-04-05">
23519
23520<change type="feature">
23521<para lang="ru">
23522модуль ngx_http_addition_filter_module.
23523</para>
23524<para lang="en">
23525the ngx_http_addition_filter_module.
23526</para>
23527</change>
23528
23529<change type="feature">
23530<para lang="ru">
23531директивы proxy_pass и fastcgi_pass можно использовать внутри блока if.
23532</para>
23533<para lang="en">
23534the "proxy_pass" and "fastcgi_pass" directives may be used inside
23535the "if" block.
23536</para>
23537</change>
23538
23539<change type="feature">
23540<para lang="ru">
23541директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort.
23542</para>
23543<para lang="en">
23544the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives.
23545</para>
23546</change>
23547
23548<change type="feature">
23549<para lang="ru">
23550переменная $request_completion.
23551</para>
23552<para lang="en">
23553the "$request_completion" variable.
23554</para>
23555</change>
23556
23557<change type="feature">
23558<para lang="ru">
23559модуль ngx_http_perl_module поддерживает методы $r->request_method и
23560$r->remote_addr.
23561</para>
23562<para lang="en">
23563the ngx_http_perl_module supports the $r->request_method and $r->remote_addr.
23564</para>
23565</change>
23566
23567<change type="feature">
23568<para lang="ru">
23569модуль ngx_http_ssi_module поддерживает команду elif.
23570</para>
23571<para lang="en">
23572the ngx_http_ssi_module supports the "elif" command.
23573</para>
23574</change>
23575
23576<change type="bugfix">
23577<para lang="ru">
23578строка "\/" в начале выражения команды if модуля ngx_http_ssi_module
23579воспринималась неверно.
23580</para>
23581<para lang="en">
23582the "\/" string in the expression of the "if" command of the
23583ngx_http_ssi_module was treated incorrectly.
23584</para>
23585</change>
23586
23587<change type="bugfix">
23588<para lang="ru">
23589в использовании регулярных выражениях в команде if модуля ngx_http_ssi_module.
23590</para>
23591<para lang="en">
23592in the regular expressions in the "if" command of the ngx_http_ssi_module.
23593</para>
23594</change>
23595
23596<change type="bugfix">
23597<para lang="ru">
23598при задании относительного пути в директивах
23599client_body_temp_path, proxy_temp_path, fastcgi_temp_path и perl_modules
23600использовался каталог относительно текущего каталога, а не относительно
23601префикса сервера.
23602</para>
23603<para lang="en">
23604if the relative path was specified in the "client_body_temp_path",
23605"proxy_temp_path", "fastcgi_temp_path", and "perl_modules" directives,
23606then the directory was used relatively to a current path but not
23607to a server prefix.
23608</para>
23609</change>
23610
23611</changes>
23612
23613
23614<changes ver="0.3.35" date="2006-03-22">
23615
23616<change type="bugfix">
23617<para lang="ru">
23618accept-фильтр и TCP_DEFER_ACCEPT устанавливались только для первой
23619директивы listen;
23620ошибка появилась в 0.3.31.
23621</para>
23622<para lang="en">
23623the accept-filter and the TCP_DEFER_ACCEPT option were set for first "listen"
23624directive only;
23625the bug had appeared in 0.3.31.
23626</para>
23627</change>
23628
23629<change type="bugfix">
23630<para lang="ru">
23631в директиве proxy_pass без URI при использовании в подзапросе.
23632</para>
23633<para lang="en">
23634in the "proxy_pass" directive without the URI part in a subrequest.
23635</para>
23636</change>
23637
23638</changes>
23639
23640
23641<changes ver="0.3.34" date="2006-03-21">
23642
23643<change type="feature">
23644<para lang="ru">
23645директива add_header поддерживает переменные.
23646</para>
23647<para lang="en">
23648the "add_header" directive supports the variables.
23649</para>
23650</change>
23651
23652</changes>
23653
23654
23655<changes ver="0.3.33" date="2006-03-15">
23656
23657<change type="feature">
23658<para lang="ru">
23659параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream.
23660</para>
23661<para lang="en">
23662the "http_503" parameter of the "proxy_next_upstream" or
23663"fastcgi_next_upstream" directives.
23664</para>
23665</change>
23666
23667<change type="bugfix">
23668<para lang="ru">
23669ngx_http_perl_module не работал со встроенным в конфигурационный файл кодом,
23670если он не начинался сразу же с "sub".
23671</para>
23672<para lang="en">
23673ngx_http_perl_module did not work with inlined in the configuration code,
23674if it was not started with the "sub" word.
23675</para>
23676</change>
23677
23678<change type="bugfix">
23679<para lang="ru">
23680в директиве post_action.
23681</para>
23682<para lang="en">
23683in the "post_action" directive.
23684</para>
23685</change>
23686
23687</changes>
23688
23689
23690<changes ver="0.3.32" date="2006-03-11">
23691
23692<change type="bugfix">
23693<para lang="ru">
23694удаление отладочного логгирования на старте и при переконфигурации;
23695ошибка появилась в 0.3.31.
23696</para>
23697<para lang="en">
23698the debug logging on startup and reconfiguration time was removed;
23699the bug had appeared in 0.3.31.
23700</para>
23701</change>
23702
23703</changes>
23704
23705
23706<changes ver="0.3.31" date="2006-03-10">
23707
23708<change type="change">
23709<para lang="ru">
23710теперь nginx передаёт неверные ответы проксированного бэкенда.
23711</para>
23712<para lang="en">
23713now nginx passes the malformed proxied backend responses.
23714</para>
23715</change>
23716
23717<change type="feature">
23718<para lang="ru">
23719директивы listen поддерживают адрес в виде "*:порт".
23720</para>
23721<para lang="en">
23722the "listen" directives support the address in the "*:port" form.
23723</para>
23724</change>
23725
23726<change type="feature">
23727<para lang="ru">
23728поддержка EVFILER_TIMER в MacOSX 10.4.
23729</para>
23730<para lang="en">
23731the EVFILER_TIMER support in MacOSX 10.4.
23732</para>
23733</change>
23734
23735<change type="workaround">
23736<para lang="ru">
23737обход ошибки обработки миллисекундных таймаутов kqueue в 64-битном ядре
23738MacOSX.<br/>
23739Спасибо Андрею Нигматулину.
23740</para>
23741<para lang="en">
23742for MacOSX 64-bit kernel kqueue millisecond timeout bug.<br/>
23743Thanks to Andrei Nigmatulin.
23744</para>
23745</change>
23746
23747<change type="bugfix">
23748<para lang="ru">
23749если внутри одного сервера описаны несколько директив listen, слушающих на
23750разных адресах, то имена серверов вида "*.domain.tld" работали только
23751для первого адреса;
23752ошибка появилась в 0.3.18.
23753</para>
23754<para lang="en">
23755if there were several "listen" directives listening one various addresses
23756inside one server, then server names like "*.domain.tld" worked for first
23757address only;
23758the bug had appeared in 0.3.18.
23759</para>
23760</change>
23761
23762<change type="bugfix">
23763<para lang="ru">
23764при использовании протокола HTTPS в директиве proxy_pass не передавались
23765запросы с телом, записанным во временный файл.
23766</para>
23767<para lang="en">
23768if the HTTPS protocol was used in the "proxy_pass" directive and
23769the request body was in temporary file then the request was not transferred.
23770</para>
23771</change>
23772
23773<change type="bugfix">
23774<para lang="ru">
23775совместимость с perl 5.8.8.
23776</para>
23777<para lang="en">
23778perl 5.8.8 compatibility.
23779</para>
23780</change>
23781
23782</changes>
23783
23784
23785<changes ver="0.3.30" date="2006-02-22">
23786
23787<change type="change">
23788<para lang="ru">
23789уровень записи в лог ошибки ECONNABORTED изменён на error с уровня crit.
23790</para>
23791<para lang="en">
23792the ECONNABORTED error log level was changed to "error" from "crit".
23793</para>
23794</change>
23795
23796<change type="bugfix">
23797<para lang="ru">
23798модуль ngx_http_perl_module не собирался без модуля ngx_http_ssi_filter_module.
23799</para>
23800<para lang="en">
23801the ngx_http_perl_module could not be build without
23802the ngx_http_ssi_filter_module.
23803</para>
23804</change>
23805
23806<change type="bugfix">
23807<para lang="ru">
23808nginx не собирался на i386 платформе, если использовался PIC;
23809ошибка появилась в 0.3.27.
23810</para>
23811<para lang="en">
23812nginx could not be built on i386 platform, if the PIC was used;
23813the bug had appeared in 0.3.27.
23814</para>
23815</change>
23816
23817</changes>
23818
23819
23820<changes ver="0.3.29" date="2006-02-20">
23821
23822<change type="feature">
23823<para lang="ru">
23824теперь nginx использует меньше памяти, если PHP в режиме FastCGI передаёт
23825большое количество предупреждений перед ответом.
23826</para>
23827<para lang="en">
23828now nginx uses less memory, if PHP in FastCGI mode sends many warnings
23829before the response.
23830</para>
23831</change>
23832
23833<change type="bugfix">
23834<para lang="ru">
23835в ответах 204 для запросов версии HTTP/1.1 выдавалась строка заголовка
23836"Transfer-Encoding: chunked".
23837</para>
23838<para lang="en">
23839the "Transfer-Encoding: chunked" header line was issued in the 204 responses
23840for the HTTP/1.1 requests.
23841</para>
23842</change>
23843
23844<change type="bugfix">
23845<para lang="ru">
23846nginx возвращал 502 код ответа, если FastCGI сервер передавал полные строки
23847заголовка ответа в отдельных FastCGI записях.
23848</para>
23849<para lang="en">
23850nginx returned the 502 response, if the complete response header lines
23851were transferred in a separate FastCGI records.
23852</para>
23853</change>
23854
23855<change type="bugfix">
23856<para lang="ru">
23857если в директиве post_action был указан проксируемый URI, то он выполнялся
23858только после успешного завершения запроса.
23859</para>
23860<para lang="en">
23861if the proxied URI was specified in the "post_action" directive, then it ran
23862only after a successful completion of a request.
23863</para>
23864</change>
23865
23866</changes>
23867
23868
23869<changes ver="0.3.28" date="2006-02-16">
23870
23871<change type="feature">
23872<para lang="ru">
23873директива restrict_host_names упразднена.
23874</para>
23875<para lang="en">
23876the "restrict_host_names" directive was canceled.
23877</para>
23878</change>
23879
23880<change type="feature">
23881<para lang="ru">
23882параметр конфигурации --with-cpu-opt=ppc64.
23883</para>
23884<para lang="en">
23885the --with-cpu-opt=ppc64 configuration parameter.
23886</para>
23887</change>
23888
23889<change type="bugfix">
23890<para lang="ru">
23891при некоторых условиях проксированное соединение с клиентом завершалось
23892преждевременно.<br/>
23893Спасибо Владимиру Шутову.
23894</para>
23895<para lang="en">
23896on some condition the proxied connection with a client was terminated
23897prematurely.<br/>
23898Thanks to Vladimir Shutoff.
23899</para>
23900</change>
23901
23902<change type="bugfix">
23903<para lang="ru">
23904строка заголовка "X-Accel-Limit-Rate" не учитывалась для запросов,
23905перенаправленных с помощью строки "X-Accel-Redirect".
23906</para>
23907<para lang="en">
23908the "X-Accel-Limit-Rate" header line was not taken into account
23909if the request was redirected using the "X-Accel-Redirect" header line.
23910</para>
23911</change>
23912
23913<change type="bugfix">
23914<para lang="ru">
23915директива post_action работала только после успешного завершения запроса.
23916</para>
23917<para lang="en">
23918the "post_action" directive ran only after a successful completion of a request.
23919</para>
23920</change>
23921
23922<change type="bugfix">
23923<para lang="ru">
23924тело проксированного ответа, создаваемого директивой post_action,
23925передавалось клиенту.
23926</para>
23927<para lang="en">
23928the proxied response body generated by the "post_action" directive
23929was transferred to a client.
23930</para>
23931</change>
23932
23933</changes>
23934
23935
23936<changes ver="0.3.27" date="2006-02-08">
23937
23938<change type="change">
23939<para lang="ru">
23940директивы variables_hash_max_size и variables_hash_bucket_size.
23941</para>
23942<para lang="en">
23943the "variables_hash_max_size" and "variables_hash_bucket_size" directives.
23944</para>
23945</change>
23946
23947<change type="feature">
23948<para lang="ru">
23949переменная $body_bytes_sent доступна не только в директиве log_format.
23950</para>
23951<para lang="en">
23952the $body_bytes_sent variable can be used not only in the "log_format"
23953directive.
23954</para>
23955</change>
23956
23957<change type="feature">
23958<para lang="ru">
23959переменные $ssl_protocol и $ssl_cipher.
23960</para>
23961<para lang="en">
23962the $ssl_protocol and $ssl_cipher variables.
23963</para>
23964</change>
23965
23966<change type="feature">
23967<para lang="ru">
23968определение размера строки кэша распространённых процессоров при старте.
23969</para>
23970<para lang="en">
23971the cache line size detection for widespread CPUs at start time.
23972</para>
23973</change>
23974
23975<change type="feature">
23976<para lang="ru">
23977директива accept_mutex теперь поддерживается посредством fcntl(2)
23978на платформах, отличных от i386, amd64, sparc64 и ppc.
23979</para>
23980<para lang="en">
23981now the "accept_mutex" directive is supported using fcntl(2)
23982on platforms different from i386, amd64, sparc64, and ppc.
23983</para>
23984</change>
23985
23986<change type="feature">
23987<para lang="ru">
23988директива lock_file и параметр автоконфигурации --with-lock-path=PATH.
23989</para>
23990<para lang="en">
23991the "lock_file" directive and the --with-lock-path=PATH autoconfiguration
23992directive.
23993</para>
23994</change>
23995
23996<change type="bugfix">
23997<para lang="ru">
23998при использовании протокола HTTPS в директиве proxy_pass не передавались
23999запросы с телом.
24000</para>
24001<para lang="en">
24002if the HTTPS protocol was used in the "proxy_pass" directive then
24003the requests with the body was not transferred.
24004</para>
24005</change>
24006
24007</changes>
24008
24009
24010<changes ver="0.3.26" date="2006-02-03">
24011
24012<change type="change">
24013<para lang="ru">
24014директива optimize_host_names переименована в optimize_server_names.
24015</para>
24016<para lang="en">
24017the "optimize_host_names" directive was renamed to the "optimize_server_names".
24018</para>
24019</change>
24020
24021<change type="bugfix">
24022<para lang="ru">
24023при проксировании подзапроса в SSI бэкенду передавался URI основного запроса,
24024если в директиве proxy_pass отсутствовал URI.
24025</para>
24026<para lang="en">
24027if in the "proxy_pass" directive was no the URI part, then the main request
24028URI was transferred to a backend while proxying the SSI subrequest.
24029</para>
24030</change>
24031
24032</changes>
24033
24034
24035<changes ver="0.3.25" date="2006-02-01">
24036
24037<change type="bugfix">
24038<para lang="ru">
24039при неверной конфигурации на старте или во время переконфигурации происходил
24040segmentation fault;
24041ошибка появилась в 0.3.24.
24042</para>
24043<para lang="en">
24044the segmentation fault was occurred on start or while reconfiguration
24045if there was invalid configuration;
24046the bug had appeared in 0.3.24.
24047</para>
24048</change>
24049
24050</changes>
24051
24052
24053<changes ver="0.3.24" date="2006-02-01">
24054
24055<change type="workaround">
24056<para lang="ru">
24057обход ошибки в kqueue во FreeBSD.
24058</para>
24059<para lang="en">
24060for bug in FreeBSD kqueue.
24061</para>
24062</change>
24063
24064<change type="bugfix">
24065<para lang="ru">
24066ответ, создаваемый директивой post_action, теперь не передаётся клиенту.
24067</para>
24068<para lang="en">
24069now a response generated by the "post_action" directive is not transferred
24070to a client.
24071</para>
24072</change>
24073
24074<change type="bugfix">
24075<para lang="ru">
24076при использовании большого количества лог-файлов происходила утечка памяти.
24077</para>
24078<para lang="en">
24079the memory leaks were occurring if many log files were used.
24080</para>
24081</change>
24082
24083<change type="bugfix">
24084<para lang="ru">
24085внутри одного location работала только первая директива proxy_redirect.
24086</para>
24087<para lang="en">
24088the first "proxy_redirect" directive was working inside one location.
24089</para>
24090</change>
24091
24092<change type="bugfix">
24093<para lang="ru">
24094на 64-битных платформах при старте мог произойти segmentation fault,
24095если использовалось большое количество имён в директивах server_name;
24096ошибка появилась в 0.3.18.
24097</para>
24098<para lang="en">
24099on 64-bit platforms segmentation fault may occurred on start
24100if the many names were used in the "server_name" directives;
24101the bug had appeared in 0.3.18.
24102</para>
24103</change>
24104
24105</changes>
24106
24107
24108<changes ver="0.3.23" date="2006-01-24">
24109
24110<change type="feature">
24111<para lang="ru">
24112директива optimize_host_names.
24113</para>
24114<para lang="en">
24115the "optimize_host_names" directive.
24116</para>
24117</change>
24118
24119<change type="bugfix">
24120<para lang="ru">
24121ошибки при использовании переменных в директивах path и alias.
24122</para>
24123<para lang="en">
24124in using of the variables in the "path" and "alias" directives.
24125</para>
24126</change>
24127
24128<change type="bugfix">
24129<para lang="ru">
24130модуль ngx_http_perl_module неправильно собирался на Linux и Solaris.
24131</para>
24132<para lang="en">
24133the ngx_http_perl_module was incorrectly built on Linux and Solaris.
24134</para>
24135</change>
24136
24137</changes>
24138
24139
24140<changes ver="0.3.22" date="2006-01-17">
24141
24142<change type="feature">
24143<para lang="ru">
24144модуль ngx_http_perl_module поддерживает методы $r->args и $r->unescape.
24145</para>
24146<para lang="en">
24147the ngx_http_perl_module supports the $r->args and $r->unescape methods.
24148</para>
24149</change>
24150
24151<change type="feature">
24152<para lang="ru">
24153метод $r->query_string в модуле ngx_http_perl_module упразднён.
24154</para>
24155<para lang="en">
24156the method $r->query_string of ngx_http_perl_module was canceled.
24157</para>
24158</change>
24159
24160<change type="bugfix">
24161<para lang="ru">
24162если в директиве valid_referers указаны только none или blocked, то
24163происходил segmentation fault;
24164ошибка появилась в 0.3.18.
24165</para>
24166<para lang="en">
24167segmentation fault was occurred if the "none" or "blocked" values was
24168specified in the "valid_referers" directive;
24169the bug had appeared in 0.3.18.
24170</para>
24171</change>
24172
24173</changes>
24174
24175
24176<changes ver="0.3.21" date="2006-01-16">
24177
24178<change type="feature">
24179<para lang="ru">
24180модуль ngx_http_perl_module.
24181</para>
24182<para lang="en">
24183the ngx_http_perl_module.
24184</para>
24185</change>
24186
24187<change type="change">
24188<para lang="ru">
24189директива valid_referers разрешает использовать рефереры совсем без URI.
24190</para>
24191<para lang="en">
24192the "valid_referers" directive allows the referrers without URI part.
24193</para>
24194</change>
24195
24196</changes>
24197
24198
24199<changes ver="0.3.20" date="2006-01-11">
24200
24201<change type="bugfix">
24202<para lang="ru">
24203ошибки в обработке SSI.
24204</para>
24205<para lang="en">
24206in SSI handling.
24207</para>
24208</change>
24209
24210<change type="bugfix">
24211<para lang="ru">
24212модуль ngx_http_memcached_module не поддерживал ключи в виде /uri?args.
24213</para>
24214<para lang="en">
24215the ngx_http_memcached_module did not support the keys in the "/usr?args" form.
24216</para>
24217</change>
24218
24219</changes>
24220
24221<changes ver="0.3.19" date="2005-12-28">
24222
24223<change type="feature">
24224<para lang="ru">
24225директивы path и alias поддерживают переменные.
24226</para>
24227<para lang="en">
24228the "path" and "alias" directives support the variables.
24229</para>
24230</change>
24231
24232<change type="change">
24233<para lang="ru">
24234теперь директива valid_referers опять учитывает URI.
24235</para>
24236<para lang="en">
24237now the "valid_referers" directive again checks the URI part.
24238</para>
24239</change>
24240
24241<change type="bugfix">
24242<para lang="ru">
24243ошибки в обработке SSI.
24244</para>
24245<para lang="en">
24246in SSI handling.
24247</para>
24248</change>
24249
24250</changes>
24251
24252
24253<changes ver="0.3.18" date="2005-12-26">
24254
24255<change type="feature">
24256<para lang="ru">
24257директива server_names поддерживает имена вида ".domain.tld".
24258</para>
24259<para lang="en">
24260the "server_names" directive supports the ".domain.tld" names.
24261</para>
24262</change>
24263
24264<change type="feature">
24265<para lang="ru">
24266директива server_names использует хэш для имён вида "*.domain.tld"
24267и более эффективный хэш для обычных имён.
24268</para>
24269<para lang="en">
24270the "server_names" directive uses the hash for the "*.domain.tld" names
24271and more effective hash for usual names.
24272</para>
24273</change>
24274
24275<change type="change">
24276<para lang="ru">
24277директивы server_names_hash_max_size и server_names_hash_bucket_size.
24278</para>
24279<para lang="en">
24280the "server_names_hash_max_size" and "server_names_hash_bucket_size" directives.
24281</para>
24282</change>
24283
24284<change type="change">
24285<para lang="ru">
24286директивы server_names_hash и server_names_hash_threshold упразднены.
24287</para>
24288<para lang="en">
24289the "server_names_hash" and "server_names_hash_threshold" directives
24290were canceled.
24291</para>
24292</change>
24293
24294<change type="feature">
24295<para lang="ru">
24296директива valid_referers использует хэш для имён сайтов.
24297</para>
24298<para lang="en">
24299the "valid_referers" directive uses the hash site names.
24300</para>
24301</change>
24302
24303<change type="change">
24304<para lang="ru">
24305теперь директива valid_referers проверяет только имена сайтов без учёта URI.
24306</para>
24307<para lang="en">
24308now the "valid_referers" directive checks the site names only without
24309the URI part.
24310</para>
24311</change>
24312
24313<change type="bugfix">
24314<para lang="ru">
24315некоторые имена вида ".domain.tld" неверно обрабатывались модулем
24316ngx_http_map_module.
24317</para>
24318<para lang="en">
24319some ".domain.tld" names incorrectly processed by the ngx_http_map_module.
24320</para>
24321</change>
24322
24323<change type="bugfix">
24324<para lang="ru">
24325если конфигурационного файла не было, то происходил segmentation fault;
24326ошибка появилась в 0.3.12.
24327</para>
24328<para lang="en">
24329segmentation fault was occurred if configuration file did not exist;
24330the bug had appeared in 0.3.12.
24331</para>
24332</change>
24333
24334<change type="bugfix">
24335<para lang="ru">
24336на 64-битных платформах при старте мог произойти segmentation fault;
24337ошибка появилась в 0.3.16.
24338</para>
24339<para lang="en">
24340on 64-bit platforms segmentation fault may occurred on start;
24341the bug had appeared in 0.3.16.
24342</para>
24343</change>
24344
24345</changes>
24346
24347
24348<changes ver="0.3.17" date="2005-12-18">
24349
24350<change type="change">
24351<para lang="ru">
24352на Linux configure теперь проверяет наличие epoll и sendfile64() в ядре.
24353</para>
24354<para lang="en">
24355now on Linux configure checks the presence of epoll and sendfile64() in kernel.
24356</para>
24357</change>
24358
24359<change type="feature">
24360<para lang="ru">
24361директива map поддерживает доменные имена в формате ".domain.tld".
24362</para>
24363<para lang="en">
24364the "map" directive supports domain names in the ".domain.tld" form.
24365</para>
24366</change>
24367
24368<change type="bugfix">
24369<para lang="ru">
24370во время SSL handshake не иcпользовались таймауты;
24371ошибка появилась в 0.2.4.
24372</para>
24373<para lang="en">
24374the timeouts were not used in SSL handshake;
24375the bug had appeared in 0.2.4.
24376</para>
24377</change>
24378
24379<change type="bugfix">
24380<para lang="ru">
24381в использовании протокола HTTPS в директиве proxy_pass.
24382</para>
24383<para lang="en">
24384in the HTTPS protocol in the "proxy_pass" directive.
24385</para>
24386</change>
24387
24388<change type="bugfix">
24389<para lang="ru">
24390при использовании протокола HTTPS в директиве proxy_pass по умолчанию
24391использовался порт 80.
24392</para>
24393<para lang="en">
24394when the HTTPS protocol was used in the "proxy_pass" directive the port 80
24395was used by default.
24396</para>
24397</change>
24398
24399</changes>
24400
24401
24402<changes ver="0.3.16" date="2005-12-16">
24403
24404<change type="feature">
24405<para lang="ru">
24406модуль ngx_http_map_module.
24407</para>
24408<para lang="en">
24409the ngx_http_map_module.
24410</para>
24411</change>
24412
24413<change type="feature">
24414<para lang="ru">
24415директивы types_hash_max_size и types_hash_bucket_size.
24416</para>
24417<para lang="en">
24418the "types_hash_max_size" and "types_hash_bucket_size" directives.
24419</para>
24420</change>
24421
24422<change type="feature">
24423<para lang="ru">
24424директива ssi_value_length.
24425</para>
24426<para lang="en">
24427the "ssi_value_length" directive.
24428</para>
24429</change>
24430
24431<change type="feature">
24432<para lang="ru">
24433директива worker_rlimit_core.
24434</para>
24435<para lang="en">
24436the "worker_rlimit_core" directive.
24437</para>
24438</change>
24439
24440<change type="workaround">
24441<para lang="ru">
24442при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
24443<nobr>Pentium 4</nobr> номер соединения в логах всегда был равен 1.
24444</para>
24445<para lang="en">
24446the connection number in logs was always 1 if nginx was built by the
24447icc 8.1 or 9.0 compilers with optimization for <nobr>Pentium 4.</nobr>
24448</para>
24449</change>
24450
24451<change type="bugfix">
24452<para lang="ru">
24453команда config timefmt в SSI задавала неверный формат времени.
24454</para>
24455<para lang="en">
24456the "config timefmt" SSI command set incorrect time format.
24457</para>
24458</change>
24459
24460<change type="bugfix">
24461<para lang="ru">
24462nginx не закрывал соединения с IMAP/POP3 бэкендом при использовании SSL
24463соединений;
24464ошибка появилась в 0.3.13.<br/>
24465Спасибо Rob Mueller.
24466</para>
24467<para lang="en">
24468nginx did not close connection to IMAP/POP3 backend for the SSL
24469connections;
24470the bug had appeared in 0.3.13.<br/>
24471Thanks to Rob Mueller.
24472</para>
24473</change>
24474
24475<change type="bugfix">
24476<para lang="ru">
24477segmentation fault мог произойти во время SSL shutdown;
24478ошибка появилась в 0.3.13.
24479</para>
24480<para lang="en">
24481segmentation fault may occurred in at SSL shutdown;
24482the bug had appeared in 0.3.13.
24483</para>
24484</change>
24485
24486</changes>
24487
24488
24489<changes ver="0.3.15" date="2005-12-07">
24490
24491<change type="feature">
24492<para lang="ru">
24493новой код 444 в директиве return для закрытия соединения.
24494</para>
24495<para lang="en">
24496the new 444 code of the "return" directive to close connection.
24497</para>
24498</change>
24499
24500<change type="feature">
24501<para lang="ru">
24502директива so_keepalive в IMAP/POP3 прокси.
24503</para>
24504<para lang="en">
24505the "so_keepalive" directive in IMAP/POP3 proxy.
24506</para>
24507</change>
24508
24509<change type="bugfix">
24510<para lang="ru">
24511nginx теперь вызывает abort() при обнаружении незакрытых соединений
24512только при плавном выходе и включённой директиве debug_points.
24513</para>
24514<para lang="en">
24515if there are unclosed connection nginx now calls abort() only on graceful
24516quit and active "debug_points" directive.
24517</para>
24518</change>
24519
24520</changes>
24521
24522
24523<changes ver="0.3.14" date="2005-12-05">
24524
24525<change type="bugfix">
24526<para lang="ru">
24527в ответе 304 передавалось тело ответа;
24528ошибка появилась в 0.3.13.
24529</para>
24530<para lang="en">
24531in the 304 response the body was transferred;
24532the bug had appeared in 0.3.13.
24533</para>
24534</change>
24535
24536</changes>
24537
24538
24539<changes ver="0.3.13" date="2005-12-05">
24540
24541<change type="feature">
24542<para lang="ru">
24543IMAP/POP3 прокси поддерживает STARTTLS и STLS.
24544</para>
24545<para lang="en">
24546the IMAP/POP3 proxy supports STARTTLS and STLS.
24547</para>
24548</change>
24549
24550<change type="bugfix">
24551<para lang="ru">
24552IMAP/POP3 прокси не работала с методами select, poll и /dev/poll.
24553</para>
24554<para lang="en">
24555the IMAP/POP3 proxy did not work with the select, poll, and /dev/poll methods.
24556</para>
24557</change>
24558
24559<change type="bugfix">
24560<para lang="ru">
24561ошибки в обработке SSI.
24562</para>
24563<para lang="en">
24564in SSI handling.
24565</para>
24566</change>
24567
24568<change type="bugfix">
24569<para lang="ru">
24570sendfilev() в Solaris теперь не используется при передаче тела запроса
24571FastCGI-серверу через unix domain сокет.
24572</para>
24573<para lang="en">
24574now Solaris sendfilev() is not used to transfer the client request body
24575to FastCGI-server via the unix domain socket.
24576</para>
24577</change>
24578
24579<change type="bugfix">
24580<para lang="ru">
24581директива auth_basic не запрещала аутентификацию;
24582ошибка появилась в 0.3.11.
24583</para>
24584<para lang="en">
24585the "auth_basic" directive did not disable the authorization;
24586the bug had appeared in 0.3.11.
24587</para>
24588</change>
24589
24590</changes>
24591
24592
24593<changes ver="0.3.12" date="2005-11-26">
24594
24595<change type="security">
24596<para lang="ru">
24597если nginx был собран с модулем ngx_http_realip_module, то при использовании
24598директивы "satisfy_any on" директивы доступа и аутентификации не работали.
24599Модуль ngx_http_realip_module не собирался и не собирается по умолчанию.
24600</para>
24601<para lang="en">
24602if nginx was built with the ngx_http_realip_module and the "satisfy_any on"
24603directive was used, then access and authorization directives did not work.
24604The ngx_http_realip_module was not built and is not built by default.
24605</para>
24606</change>
24607
24608<change type="change">
24609<para lang="ru">
24610имя переменной "$time_gmt" изменено на "$time_local".
24611</para>
24612<para lang="en">
24613the "$time_gmt" variable name was changed to "$time_local".
24614</para>
24615</change>
24616
24617<change type="change">
24618<para lang="ru">
24619директивы proxy_header_buffer_size и fastcgi_header_buffer_size
24620переименованы соответственно в proxy_buffer_size и fastcgi_buffer_size.
24621</para>
24622<para lang="en">
24623the "proxy_header_buffer_size" and "fastcgi_header_buffer_size" directives
24624was renamed to the "proxy_buffer_size" and "fastcgi_buffer_size" directives.
24625</para>
24626</change>
24627
24628<change type="feature">
24629<para lang="ru">
24630модуль ngx_http_memcached_module.
24631</para>
24632<para lang="en">
24633the ngx_http_memcached_module.
24634</para>
24635</change>
24636
24637<change type="feature">
24638<para lang="ru">
24639директива proxy_buffering.
24640</para>
24641<para lang="en">
24642the "proxy_buffering" directive.
24643</para>
24644</change>
24645
24646<change type="bugfix">
24647<para lang="ru">
24648изменение в работе с accept mutex при использовании метода rtsig;
24649ошибка появилась в 0.3.0.
24650</para>
24651<para lang="en">
24652the changes in accept mutex  handling when the "rtsig" method was used;
24653the bug had appeared in 0.3.0.
24654</para>
24655</change>
24656
24657<change type="bugfix">
24658<para lang="ru">
24659если клиент передал строку "Transfer-Encoding: chunked" в заголовке
24660запроса, то nginx теперь выдаёт ошибку 411.
24661</para>
24662<para lang="en">
24663if the client sent the "Transfer-Encoding: chunked" header line, then
24664nginx returns the 411 error.
24665</para>
24666</change>
24667
24668<change type="bugfix">
24669<para lang="ru">
24670при наследовании директивы auth_basic с уровня http в строке
24671"WWW-Authenticate" заголовка ответа выводился realm без текста "Basic realm".
24672</para>
24673<para lang="en">
24674if the "auth_basic" directive was inherited from the http level,
24675then the realm in the "WWW-Authenticate" header line was without
24676the "Basic realm" text.
24677</para>
24678</change>
24679
24680<change type="bugfix">
24681<para lang="ru">
24682если в директиве access_log был явно указан формат combined, то в лог
24683записывались пустые строки;
24684ошибка появилась в 0.3.8.
24685</para>
24686<para lang="en">
24687if the "combined" format was explicitly specified in the "access_log" directive,
24688then the empty lines was written to the log;
24689the bug had appeared in 0.3.8.
24690</para>
24691</change>
24692
24693<change type="bugfix">
24694<para lang="ru">
24695nginx не работал на платформе sparc под любыми OS, кроме Solaris.
24696</para>
24697<para lang="en">
24698nginx did not run on the sparc platform under any OS except Solaris.
24699</para>
24700</change>
24701
24702<change type="bugfix">
24703<para lang="ru">
24704в директиве if теперь не нужно разделять пробелом строку в кавычках и
24705закрывающую скобку.
24706</para>
24707<para lang="en">
24708now it is not necessary to place space between the quoted string and closing
24709bracket in the "if" directive.
24710</para>
24711</change>
24712
24713</changes>
24714
24715
24716<changes ver="0.3.11" date="2005-11-15">
24717
24718<change type="bugfix">
24719<para lang="ru">
24720nginx не передавал при проксировании тело запроса и строки заголовка клиента;
24721ошибка появилась в 0.3.10.
24722</para>
24723<para lang="en">
24724nginx did not pass the client request headers and body while proxying;
24725the bug had appeared in 0.3.10.
24726</para>
24727</change>
24728
24729</changes>
24730
24731
24732<changes ver="0.3.10" date="2005-11-15">
24733
24734<change type="change">
24735<para lang="ru">
24736директива valid_referers и переменная $invalid_referer перенесены
24737из модуля ngx_http_rewrite_module в новый модуль ngx_http_referer_module.
24738</para>
24739<para lang="en">
24740the "valid_referers" directive and the "$invalid_referer" variable
24741were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module.
24742</para>
24743</change>
24744
24745<change type="change">
24746<para lang="ru">
24747имя переменной "$apache_bytes_sent" изменено на "$body_bytes_sent".
24748</para>
24749<para lang="en">
24750the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent".
24751</para>
24752</change>
24753
24754<change type="feature">
24755<para lang="ru">
24756переменные "$sent_http_...".
24757</para>
24758<para lang="en">
24759the "$sent_http_..." variables.
24760</para>
24761</change>
24762
24763<change type="feature">
24764<para lang="ru">
24765директива if поддерживает операции "=" и "!=".
24766</para>
24767<para lang="en">
24768the "if" directive supports the "=" and "!=" operations.
24769</para>
24770</change>
24771
24772<change type="feature">
24773<para lang="ru">
24774директива proxy_pass поддерживает протокол HTTPS.
24775</para>
24776<para lang="en">
24777the "proxy_pass" directive supports the HTTPS protocol.
24778</para>
24779</change>
24780
24781<change type="feature">
24782<para lang="ru">
24783директива proxy_set_body.
24784</para>
24785<para lang="en">
24786the "proxy_set_body" directive.
24787</para>
24788</change>
24789
24790<change type="feature">
24791<para lang="ru">
24792директива post_action.
24793</para>
24794<para lang="en">
24795the "post_action" directive.
24796</para>
24797</change>
24798
24799<change type="feature">
24800<para lang="ru">
24801модуль ngx_http_empty_gif_module.
24802</para>
24803<para lang="en">
24804the ngx_http_empty_gif_module.
24805</para>
24806</change>
24807
24808<change type="feature">
24809<para lang="ru">
24810директива worker_cpu_affinity для Linux.
24811</para>
24812<para lang="en">
24813the "worker_cpu_affinity" directive for Linux.
24814</para>
24815</change>
24816
24817<change type="bugfix">
24818<para lang="ru">
24819директива rewrite не раскодировала символы в редиректах в URI,
24820теперь символы раскодируются, кроме символов %00-%25 и %7F-%FF.
24821</para>
24822<para lang="en">
24823the "rewrite" directive did not unescape URI part in redirect,
24824now it is unescaped except the %00-%25 and %7F-%FF characters.
24825</para>
24826</change>
24827
24828<change type="bugfix">
24829<para lang="ru">
24830nginx не собирался компилятором icc 9.0.
24831</para>
24832<para lang="en">
24833nginx could not be built by the icc 9.0 compiler.
24834</para>
24835</change>
24836
24837<change type="bugfix">
24838<para lang="ru">
24839если для статического файла нулевого размера был разрешён SSI,
24840то ответ передавался неверно при кодировании chunk'ами.
24841</para>
24842<para lang="en">
24843if the SSI was enabled for zero size static file, then the chunked
24844response was encoded incorrectly.
24845</para>
24846</change>
24847
24848</changes>
24849
24850
24851<changes ver="0.3.9" date="2005-11-10">
24852
24853<change type="bugfix">
24854<para lang="ru">
24855nginx считал небезопасными URI, в которых между двумя слэшами
24856находилось два любых символа;
24857ошибка появилась в 0.3.8.
24858</para>
24859<para lang="en">
24860nginx considered URI as unsafe if two any symbols was between two slashes;
24861the bug had appeared in 0.3.8.
24862</para>
24863</change>
24864
24865</changes>
24866
24867
24868<changes ver="0.3.8" date="2005-11-09">
24869
24870<change type="security">
24871<para lang="ru">
24872nginx теперь проверят URI, полученные от бэкенда в строке "X-Accel-Redirect"
24873в заголовке ответа, или в SSI файле на наличие путей "/../" и нулей.
24874</para>
24875<para lang="en">
24876nginx now checks URI got from a backend in "X-Accel-Redirect" header line
24877or in SSI file for the "/../" paths and zeroes.
24878</para>
24879</change>
24880
24881<change type="change">
24882<para lang="ru">
24883nginx теперь не воспринимает пустое имя как правильное
24884в строке "Authorization" в заголовке запроса.
24885</para>
24886<para lang="en">
24887nginx now does not treat the empty user name in the "Authorization" header
24888line as valid one.
24889</para>
24890</change>
24891
24892<change type="feature">
24893<para lang="ru">
24894директива ssl_session_timeout модулей
24895ngx_http_ssl_module и ngx_imap_ssl_module.
24896</para>
24897<para lang="en">
24898the "ssl_session_timeout" directives
24899of the ngx_http_ssl_module and ngx_imap_ssl_module.
24900</para>
24901</change>
24902
24903<change type="feature">
24904<para lang="ru">
24905директива auth_http_header модуля ngx_imap_auth_http_module.
24906</para>
24907<para lang="en">
24908the "auth_http_header" directive of the ngx_imap_auth_http_module.
24909</para>
24910</change>
24911
24912<change type="feature">
24913<para lang="ru">
24914директива add_header.
24915</para>
24916<para lang="en">
24917the "add_header" directive.
24918</para>
24919</change>
24920
24921<change type="feature">
24922<para lang="ru">
24923модуль ngx_http_realip_module.
24924</para>
24925<para lang="en">
24926the ngx_http_realip_module.
24927</para>
24928</change>
24929
24930<change type="feature">
24931<para lang="ru">
24932новые переменные для использования в директиве log_format:
24933$bytes_sent, $apache_bytes_sent, $status, $time_gmt,
24934$uri, $request_time, $request_length,
24935$upstream_status, $upstream_response_time,
24936$gzip_ratio,
24937$uid_got, $uid_set,
24938$connection, $pipe и $msec.
24939Параметры в виде "%name" скоро будут упразднены.
24940</para>
24941<para lang="en">
24942the new variables to use in the "log_format" directive:
24943$bytes_sent, $apache_bytes_sent, $status, $time_gmt,
24944$uri, $request_time, $request_length,
24945$upstream_status, $upstream_response_time,
24946$gzip_ratio,
24947$uid_got, $uid_set,
24948$connection, $pipe, and $msec.
24949The parameters in the "%name" form will be canceled soon.
24950</para>
24951</change>
24952
24953<change type="change">
24954<para lang="ru">
24955в директиве "if" ложными значениями переменных теперь являются
24956пустая строка "" и строки, начинающиеся на "0".
24957</para>
24958<para lang="en">
24959now the false variable values in the "if" directive are the empty string ""
24960and string starting with "0".
24961</para>
24962</change>
24963
24964<change type="bugfix">
24965<para lang="ru">
24966при работает с проксированными или FastCGI-серверами nginx мог оставлять
24967открытыми соединения и временные файлы с запросами клиентов.
24968</para>
24969<para lang="en">
24970while using proxied or FastCGI-server nginx may leave connections
24971and temporary files with client requests in open state.
24972</para>
24973</change>
24974
24975<change type="bugfix">
24976<para lang="ru">
24977рабочие процессы не сбрасывали буферизированные логи при плавном выходе.
24978</para>
24979<para lang="en">
24980the worker processes did not flush the buffered logs on graceful exit.
24981</para>
24982</change>
24983
24984<change type="bugfix">
24985<para lang="ru">
24986если URI запроса изменялось с помощью rewrite, а затем запрос проксировался
24987в location, заданном регулярным выражением, то бэкенду передавался
24988неверный запрос;
24989ошибка появилась в 0.2.6.
24990</para>
24991<para lang="en">
24992if the request URI was changes by the "rewrite" directive and the request
24993was proxied in location given by regular expression, then the incorrect
24994request was transferred to backend;
24995the bug had appeared in 0.2.6.
24996</para>
24997</change>
24998
24999<change type="bugfix">
25000<para lang="ru">
25001директива expires не удаляла уже установленную строку заголовка "Expires".
25002</para>
25003<para lang="en">
25004the "expires" directive did not remove the previous "Expires" header.
25005</para>
25006</change>
25007
25008<change type="bugfix">
25009<para lang="ru">
25010при использовании метода rtsig и нескольких рабочих процессах nginx
25011мог перестать принимать запросы.
25012</para>
25013<para lang="en">
25014nginx may stop to accept requests if the "rtsig" method and several worker
25015processes were used.
25016</para>
25017</change>
25018
25019<change type="bugfix">
25020<para lang="ru">
25021в SSI командах неверно обрабатывались строки "\"" и "\'".
25022</para>
25023<para lang="en">
25024the "\"" and "\'" escape symbols were incorrectly handled in SSI commands.
25025</para>
25026</change>
25027
25028<change type="bugfix">
25029<para lang="ru">
25030если ответ заканчивался сразу же после SSI команды, то при использовании
25031сжатия ответ передавался не до конца или не передавался вообще.
25032</para>
25033<para lang="en">
25034if the response was ended just after the SSI command and gzipping was used,
25035then the response did not transferred complete or did not transferred at all.
25036</para>
25037</change>
25038
25039</changes>
25040
25041
25042<changes ver="0.3.7" date="2005-10-27">
25043
25044<change type="feature">
25045<para lang="ru">
25046директива access_log поддерживает параметр buffer=.
25047</para>
25048<para lang="en">
25049the "access_log" supports the "buffer=" parameter.
25050</para>
25051</change>
25052
25053<change type="bugfix">
25054<para lang="ru">
25055nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
25056ошибка появилась в 0.3.2.
25057</para>
25058<para lang="en">
25059nginx could not be built on platforms different from i386, amd64, sparc,
25060and ppc;
25061the bug had appeared in 0.3.2.
25062</para>
25063</change>
25064
25065</changes>
25066
25067
25068<changes ver="0.3.6" date="2005-10-24">
25069
25070<change type="change">
25071<para lang="ru">
25072IMAP/POP3 прокси теперь не передаёт серверу авторизации пустой логин.
25073</para>
25074<para lang="en">
25075now the IMAP/POP3 proxy do not send the empty login to authorization server.
25076</para>
25077</change>
25078
25079<change type="feature">
25080<para lang="ru">
25081директива log_format поддерживает переменные в виде $name.
25082</para>
25083<para lang="en">
25084the "log_format" supports the variables in the $name form.
25085</para>
25086</change>
25087
25088<change type="bugfix">
25089<para lang="ru">
25090если хотя бы в одном сервере не было описано ни одной директивы listen, то
25091nginx не слушал на 80 порту;
25092ошибка появилась в 0.3.3.
25093</para>
25094<para lang="en">
25095if at least in one server was no the "listen" directive, then nginx did not
25096listen on the 80 port;
25097the bug had appeared in 0.3.3.
25098</para>
25099</change>
25100
25101<change type="bugfix">
25102<para lang="ru">
25103если в директиве proxy_pass отсутствовал URI, то всегда использовался порт 80.
25104</para>
25105<para lang="en">
25106if the URI part is omitted in "proxy_pass" directive, the 80 port was
25107always used.
25108</para>
25109</change>
25110
25111</changes>
25112
25113
25114<changes ver="0.3.5" date="2005-10-21">
25115
25116<change type="bugfix">
25117<para lang="ru">
25118если логин IMAP/POP3 менялся сервером авторизации, то мог произойти
25119segmentation fault;
25120ошибка появилась в 0.2.2.
25121</para>
25122<para lang="en">
25123the segmentation fault may occurred if the IMAP/POP3 login was changed
25124by authorization server;
25125the bug had appeared in 0.2.2.
25126</para>
25127</change>
25128
25129<change type="bugfix">
25130<para lang="ru">
25131accept mutex не работал, все соединения обрабатывались одним рабочим процессом;
25132ошибка появилась в 0.3.3.
25133</para>
25134<para lang="en">
25135the accept mutex did not work and all connections were handled by one process;
25136the bug had appeared in 0.3.3.
25137</para>
25138</change>
25139
25140<change type="bugfix">
25141<para lang="ru">
25142при использовании метода rtsig и директивы timer_resolution
25143не работали таймауты.
25144</para>
25145<para lang="en">
25146the timeout did not work if the "rtsig" method and the "timer_resolution"
25147directive were used.
25148</para>
25149</change>
25150
25151</changes>
25152
25153
25154<changes ver="0.3.4" date="2005-10-19">
25155
25156<change type="bugfix">
25157<para lang="ru">
25158nginx не собирался на Linux 2.4+ и MacOS X;
25159ошибка появилась в 0.3.3.
25160</para>
25161<para lang="en">
25162nginx could not be built on Linux 2.4+ and MacOS X;
25163the bug had appeared in 0.3.3.
25164</para>
25165</change>
25166
25167</changes>
25168
25169
25170<changes ver="0.3.3" date="2005-10-19">
25171
25172<change type="change">
25173<para lang="ru">
25174параметры "bl" и "af" директивы listen переименованы в "backlog"
25175и "accept_filter".
25176</para>
25177<para lang="en">
25178the "bl" and "af" parameters of the "listen" directive was renamed to
25179the "backlog" and "accept_filter".
25180</para>
25181</change>
25182
25183<change type="feature">
25184<para lang="ru">
25185параметры "rcvbuf" и "sndbuf" в директиве listen.
25186</para>
25187<para lang="en">
25188the "rcvbuf" and "sndbuf" parameters of the "listen" directive.
25189</para>
25190</change>
25191
25192<change type="change">
25193<para lang="ru">
25194параметр лога $msec теперь не требует дополнительного системного
25195вызова gettimeofday().
25196</para>
25197<para lang="en">
25198the "$msec" log parameter does not require now the additional
25199the gettimeofday() system call.
25200</para>
25201</change>
25202
25203<change type="feature">
25204<para lang="ru">
25205ключ -t теперь проверяет директивы listen.
25206</para>
25207<para lang="en">
25208the -t switch now tests the "listen" directives.
25209</para>
25210</change>
25211
25212<change type="bugfix">
25213<para lang="ru">
25214если в директиве listen был указан неверный адрес, то nginx после
25215сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
25216</para>
25217<para lang="en">
25218if the invalid address was specified in the "listen" directive, then
25219after the -HUP signal nginx left an open socket in the CLOSED state.
25220</para>
25221</change>
25222
25223<change type="bugfix">
25224<para lang="ru">
25225для индексных файлов, содержащих в имени переменную, мог неверно выставляться
25226тип mime по умолчанию;
25227ошибка появилась в 0.3.0.
25228</para>
25229<para lang="en">
25230the mime type may be incorrectly set to default value for index file with
25231variable in the name;
25232the bug had appeared in 0.3.0.
25233</para>
25234</change>
25235
25236<change type="feature">
25237<para lang="ru">
25238директива timer_resolution.
25239</para>
25240<para lang="en">
25241the "timer_resolution" directive.
25242</para>
25243</change>
25244
25245<change type="feature">
25246<para lang="ru">
25247параметр лога $upstream_response_time в миллисекундах.
25248</para>
25249<para lang="en">
25250the millisecond "$upstream_response_time" log parameter.
25251</para>
25252</change>
25253
25254<change type="bugfix">
25255<para lang="ru">
25256временный файл с телом запроса клиента теперь удаляется сразу после того,
25257как клиенту передан заголовок ответа.
25258</para>
25259<para lang="en">
25260a temporary file with client request body now is removed just after
25261the response header was transferred to a client.
25262</para>
25263</change>
25264
25265<change type="bugfix">
25266<para lang="ru">
25267совместимость с OpenSSL 0.9.6.
25268</para>
25269<para lang="en">
25270OpenSSL 0.9.6 compatibility.
25271</para>
25272</change>
25273
25274<change type="bugfix">
25275<para lang="ru">
25276пути к файлам с SSL сертификатом и ключом не могли быть относительными.
25277</para>
25278<para lang="en">
25279the SSL certificate and key file paths could not be relative.
25280</para>
25281</change>
25282
25283<change type="bugfix">
25284<para lang="ru">
25285директива ssl_prefer_server_ciphers не работала для модуля ngx_imap_ssl_module.
25286</para>
25287<para lang="en">
25288the "ssl_prefer_server_ciphers" directive did not work in
25289the ngx_imap_ssl_module.
25290</para>
25291</change>
25292
25293<change type="bugfix">
25294<para lang="ru">
25295директива ssl_protocols позволяла задать только один протокол.
25296</para>
25297<para lang="en">
25298the "ssl_protocols" directive allowed to specify the single protocol only.
25299</para>
25300</change>
25301
25302</changes>
25303
25304
25305<changes ver="0.3.2" date="2005-10-12">
25306
25307<change type="feature">
25308<para lang="ru">
25309поддержка Sun Studio 10 C compiler.
25310</para>
25311<para lang="en">
25312the Sun Studio 10 C compiler support.
25313</para>
25314</change>
25315
25316<change type="feature">
25317<para lang="ru">
25318директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout,
25319fastcgi_upstream_max_fails и fastcgi_upstream_fail_timeout.
25320</para>
25321<para lang="en">
25322the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout",
25323"fastcgi_upstream_max_fails", and "fastcgi_upstream_fail_timeout"
25324directives.
25325</para>
25326</change>
25327
25328</changes>
25329
25330
25331<changes ver="0.3.1" date="2005-10-10">
25332
25333<change type="bugfix">
25334<para lang="ru">
25335во время переполнения очереди сигналов при использовании метода rtsig
25336происходил segmentation fault;
25337ошибка появилась в 0.2.0.
25338</para>
25339<para lang="en">
25340the segmentation fault occurred when the signal queue overflowed
25341if the "rtsig" method was used;
25342the bug had appeared in 0.2.0.
25343</para>
25344</change>
25345
25346<change type="change">
25347<para lang="ru">
25348корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
25349</para>
25350<para lang="en">
25351correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI.
25352</para>
25353</change>
25354
25355</changes>
25356
25357
25358<changes ver="0.3.0" date="2005-10-07">
25359
25360<change type="change">
25361<para lang="ru">
25362убрано десятидневное ограничение времени работы рабочего процесса.
25363Ограничение было введено из-за переполнения миллисекундных таймеров.
25364</para>
25365<para lang="en">
25366the 10-days live time limit of worker process was eliminated.
25367The limit was introduced because of millisecond timers overflow.
25368</para>
25369</change>
25370
25371</changes>
25372
25373
25374<changes ver="0.2.6" date="2005-10-05">
25375
25376<change type="change">
25377<para lang="ru">
25378с 60 до 10 секунд уменьшено время повторного обращения к бэкенду
25379при использовании распределения нагрузки.
25380</para>
25381<para lang="en">
25382while using load-balancing the time before the failed backend retry
25383was decreased from 60 to 10 seconds.
25384</para>
25385</change>
25386
25387<change type="change">
25388<para lang="ru">
25389директива proxy_pass_unparsed_uri упразднена, оригинальный запрос теперь
25390передаётся, если в директиве proxy_pass отсутствует URI.
25391</para>
25392<para lang="en">
25393the "proxy_pass_unparsed_uri" was canceled, the original URI now passed,
25394if the URI part is omitted in "proxy_pass" directive.
25395</para>
25396</change>
25397
25398<change type="feature">
25399<para lang="ru">
25400директива error_page поддерживает редиректы и позволяет более гибко
25401менять код ошибки.
25402</para>
25403<para lang="en">
25404the "error_page" directive supports redirects and allows more flexible
25405to change an error code.
25406</para>
25407</change>
25408
25409<change type="change">
25410<para lang="ru">
25411в проксированных подзапросах теперь игнорируется переданный charset.
25412</para>
25413<para lang="en">
25414the charset in the "Content-Type" header line now is ignored
25415in proxied subrequests.
25416</para>
25417</change>
25418
25419<change type="bugfix">
25420<para lang="ru">
25421если после изменения URI в блоке if для запроса не находилась
25422новая конфигурация, то правила модуля ngx_http_rewrite_module выполнялись
25423снова.
25424</para>
25425<para lang="en">
25426if the URI was changed in the "if" block and request did not found
25427new configuration, then the ngx_http_rewrite_module rules ran again.
25428</para>
25429</change>
25430
25431<change type="bugfix">
25432<para lang="ru">
25433если директива set устанавливала переменную модуля ngx_http_geo_module
25434в какой-либо части конфигурации, то эта переменная не была доступна в
25435других частях конфигурации и выдавалась ошибка "using uninitialized variable";
25436ошибка появилась в 0.2.2.
25437</para>
25438<para lang="en">
25439if the "set" directive set the ngx_http_geo_module variable in some
25440configuration part, the this variable was not available in other
25441configuration parts and the "using uninitialized variable" error was occurred;
25442the bug had appeared in 0.2.2.
25443</para>
25444</change>
25445
25446</changes>
25447
25448
25449<changes ver="0.2.5" date="2005-10-04">
25450
25451<change type="change">
25452<para lang="ru">
25453дублирующее значение переменной модуля ngx_http_geo_module теперь
25454выдаёт предупреждение и изменяет старое значение.
25455</para>
25456<para lang="en">
25457the duplicate value of the ngx_http_geo_module variable now causes
25458the warning and changes old value.
25459</para>
25460</change>
25461
25462<change type="feature">
25463<para lang="ru">
25464модуль ngx_http_ssi_module поддерживает команду set.
25465</para>
25466<para lang="en">
25467the ngx_http_ssi_module supports the "set" command.
25468</para>
25469</change>
25470
25471<change type="feature">
25472<para lang="ru">
25473модуль ngx_http_ssi_module поддерживает параметр file в команде include.
25474</para>
25475<para lang="en">
25476the ngx_http_ssi_module supports the "file" parameter in the "include" command.
25477</para>
25478</change>
25479
25480<change type="feature">
25481<para lang="ru">
25482модуль ngx_http_ssi_module поддерживает подстановку значений переменных
25483в выражениях команды if.
25484</para>
25485<para lang="en">
25486the ngx_http_ssi_module supports the variable value substitutions in
25487expressions of the "if" command.
25488</para>
25489</change>
25490
25491</changes>
25492
25493
25494<changes ver="0.2.4" date="2005-10-03">
25495
25496<change type="feature">
25497<para lang="ru">
25498модуль ngx_http_ssi_module поддерживает выражения
25499"$var=text", "$var!=text", "$var=/text/" и "$var!=/text/"
25500в команде if.
25501</para>
25502<para lang="en">
25503the ngx_http_ssi_module supports
25504"$var=text", "$var!=text", "$var=/text/", and "$var!=/text/" expressions
25505in the "if" command.
25506</para>
25507</change>
25508
25509<change type="bugfix">
25510<para lang="ru">
25511ошибки при проксировании location без слэша в конце;
25512ошибка появилась в 0.1.44.
25513</para>
25514<para lang="en">
25515in proxying location without trailing slash;
25516the bug had appeared in 0.1.44.
25517</para>
25518</change>
25519
25520<change type="bugfix">
25521<para lang="ru">
25522при использовании метода rtsig мог произойти segmentation fault;
25523ошибка появилась в 0.2.0.
25524</para>
25525<para lang="en">
25526the segmentation fault may occurred if the "rtsig" method was used;
25527the bug had appeared in 0.2.0.
25528</para>
25529</change>
25530
25531</changes>
25532
25533
25534<changes ver="0.2.3" date="2005-09-30">
25535
25536<change type="bugfix">
25537<para lang="ru">
25538nginx не собирался без параметра --with-debug;
25539ошибка появилась в 0.2.2.
25540</para>
25541<para lang="en">
25542nginx could not be built without the --with-debug option;
25543the bug had appeared in 0.2.2.
25544</para>
25545</change>
25546
25547</changes>
25548
25549
25550<changes ver="0.2.2" date="2005-09-30">
25551
25552<change type="feature">
25553<para lang="ru">
25554команда config errmsg в модуле ngx_http_ssi_module.
25555</para>
25556<para lang="en">
25557the "config errmsg" command of the ngx_http_ssi_module.
25558</para>
25559</change>
25560
25561<change type="change">
25562<para lang="ru">
25563переменные модуля ngx_http_geo_module можно переопределять директивой set.
25564</para>
25565<para lang="en">
25566the ngx_http_geo_module variables can be overridden by the "set" directive.
25567</para>
25568</change>
25569
25570<change type="feature">
25571<para lang="ru">
25572директивы ssl_protocols и ssl_prefer_server_ciphers модулей
25573ngx_http_ssl_module и ngx_imap_ssl_module.
25574</para>
25575<para lang="en">
25576the "ssl_protocols" and "ssl_prefer_server_ciphers" directives
25577of the ngx_http_ssl_module and ngx_imap_ssl_module.
25578</para>
25579</change>
25580
25581<change type="bugfix">
25582<para lang="ru">
25583ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов;
25584</para>
25585<para lang="en">
25586the ngx_http_autoindex_module did not show correctly the long file names;
25587</para>
25588</change>
25589
25590<change type="bugfix">
25591<para lang="ru">
25592модуль ngx_http_autoindex_module теперь не показывает файлы,
25593начинающиеся на точку.
25594</para>
25595<para lang="en">
25596the ngx_http_autoindex_module now do not show the files starting by dot.
25597</para>
25598</change>
25599
25600<change type="bugfix">
25601<para lang="ru">
25602если SSL handshake завершался с ошибкой, то это могло привести также
25603к закрытию другого соединения.<br/>
25604Спасибо Rob Mueller.
25605</para>
25606<para lang="en">
25607if the SSL handshake failed then another connection may be closed too.<br/>
25608Thanks to Rob Mueller.
25609</para>
25610</change>
25611
25612<change type="bugfix">
25613<para lang="ru">
25614экспортные версии MSIE 5.x не могли соединиться по HTTPS.
25615</para>
25616<para lang="en">
25617the export versions of MSIE 5.x could not connect via HTTPS.
25618</para>
25619</change>
25620
25621</changes>
25622
25623
25624<changes ver="0.2.1" date="2005-09-23">
25625
25626<change type="bugfix">
25627<para lang="ru">
25628если все бэкенды, используемые для балансировки нагрузки, оказывались
25629в нерабочем состоянии после одной ошибки, то nginx мог зациклится;
25630ошибка появилась в 0.2.0.
25631</para>
25632<para lang="en">
25633if all backend using in load-balancing failed after one error, then
25634nginx may got caught in an endless loop;
25635the bug had appeared in 0.2.0.
25636</para>
25637</change>
25638
25639</changes>
25640
25641
25642<changes ver="0.2.0" date="2005-09-23">
25643
25644<change>
25645<para lang="ru">
25646Изменились имена pid-файлов, используемые во время обновления исполняемого
25647файла. Ручное переименование теперь не нужно.
25648Старый основной процесс добавляет к своему pid-файл суффикс ".oldbin"
25649и запускает новый исполняемый файл.
25650Новый основной процесс создаёт обычный pid-файл без суффикса ".newbin".
25651Если новый основной процесс выходит, то старый процесс переименовывает свой
25652pid-файл c суффиксом ".oldbin" в pid-файл без суффикса.
25653При обновлении с версии 0.1.х до 0.2.0 нужно учитывать, что оба
25654процесса&mdash;старый 0.1.x и новый 0.2.0&mdash;используют pid-файл
25655без суффиксов.
25656</para>
25657<para lang="en">
25658The pid-file names used during online upgrade was changed and now is not
25659required a manual rename operation.
25660The old master process adds the ".oldbin" suffix to its pid-file and
25661executes a new binary file.
25662The new master process creates usual pid-file without the ".newbin" suffix.
25663If the master process exits, then old master process renames back
25664its pid-file with the ".oldbin" suffix to the pid-file without suffix.
25665</para>
25666</change>
25667
25668<change type="change">
25669<para lang="ru">
25670директива worker_connections, новое название директивы connections;
25671директива теперь задаёт максимальное число соединений,
25672а не максимально возможный номер дескриптора для сокета.
25673</para>
25674<para lang="en">
25675the "worker_connections" directive, new name of the "connections" directive;
25676now the directive specifies maximum number of connections,
25677but not maximum socket descriptor number.
25678</para>
25679</change>
25680
25681<change type="feature">
25682<para lang="ru">
25683SSL поддерживает кэширование сессий в пределах одного рабочего процесса.
25684</para>
25685<para lang="en">
25686SSL supports the session cache inside one worker process.
25687</para>
25688</change>
25689
25690<change type="feature">
25691<para lang="ru">
25692директива satisfy_any.
25693</para>
25694<para lang="en">
25695the "satisfy_any" directive.
25696</para>
25697</change>
25698
25699<change type="change">
25700<para lang="ru">
25701модули ngx_http_access_module и ngx_http_auth_basic_module не работают
25702для подзапросов.
25703</para>
25704<para lang="en">
25705the ngx_http_access_module and ngx_http_auth_basic_module do not run
25706for subrequests.
25707</para>
25708</change>
25709
25710<change type="feature">
25711<para lang="ru">
25712директивы worker_rlimit_nofile и worker_rlimit_sigpending.
25713</para>
25714<para lang="en">
25715the "worker_rlimit_nofile" and "worker_rlimit_sigpending" directives.
25716</para>
25717</change>
25718
25719<change type="bugfix">
25720<para lang="ru">
25721если все бэкенды, используемые для балансировки нагрузки, оказывались
25722в нерабочем состоянии после одной ошибки, то nginx не обращался к ним
25723в течение 60 секунд.
25724</para>
25725<para lang="en">
25726if all backend using in load-balancing failed after one error, then
25727nginx did not try do connect to them during 60 seconds.
25728</para>
25729</change>
25730
25731<change type="bugfix">
25732<para lang="ru">
25733в парсинге аргументов IMAP/POP3 команд.<br/>
25734Спасибо Rob Mueller.
25735</para>
25736<para lang="en">
25737in IMAP/POP3 command argument parsing.<br/>
25738Thanks to Rob Mueller.
25739</para>
25740</change>
25741
25742<change type="bugfix">
25743<para lang="ru">
25744ошибки при использовании SSL в IMAP/POP3 прокси.
25745</para>
25746<para lang="en">
25747errors while using SSL in IMAP/POP3 proxy.
25748</para>
25749</change>
25750
25751<change type="bugfix">
25752<para lang="ru">
25753ошибки при использовании SSI и сжатия.
25754</para>
25755<para lang="en">
25756errors while using SSI and gzipping.
25757</para>
25758</change>
25759
25760<change type="bugfix">
25761<para lang="ru">
25762в ответах 304 не добавлялись строки заголовка ответа "Expires" и
25763"Cache-Control".<br/>
25764Спасибо Александру Кукушкину.
25765</para>
25766<para lang="en">
25767the "Expires" and "Cache-Control" header lines were omitted
25768from the 304 responses.<br/>
25769Thanks to Alexandr Kukushkin.
25770</para>
25771</change>
25772
25773</changes>
25774
25775
25776<changes ver="0.1.45" date="2005-09-08">
25777
25778<change type="change">
25779<para lang="ru">
25780директива ssl_engine упразднена в модуле ngx_http_ssl_module и
25781перенесена на глобальный уровень.
25782</para>
25783<para lang="en">
25784the "ssl_engine" directive was canceled in the ngx_http_ssl_module
25785and now is introduced at global level.
25786</para>
25787</change>
25788
25789<change type="bugfix">
25790<para lang="ru">
25791ответы с подзапросами, включённые с помощью SSI, не передавались
25792через SSL соединение.
25793</para>
25794<para lang="en">
25795the responses with SSI subrequests did not transferred via SSL connection.
25796</para>
25797</change>
25798
25799<change>
25800<para lang="ru">
25801Разные исправления в IMAP/POP3 прокси.
25802</para>
25803<para lang="en">
25804Various bug fixes in the IMAP/POP3 proxy.
25805</para>
25806</change>
25807
25808</changes>
25809
25810
25811<changes ver="0.1.44" date="2005-09-06">
25812
25813<change type="feature">
25814<para lang="ru">
25815IMAP/POP3 прокси поддерживает SSL.
25816</para>
25817<para lang="en">
25818the IMAP/POP3 proxy supports SSL.
25819</para>
25820</change>
25821
25822<change type="feature">
25823<para lang="ru">
25824директива proxy_timeout модуля ngx_imap_proxy_module.
25825</para>
25826<para lang="en">
25827the "proxy_timeout" directive of the ngx_imap_proxy_module.
25828</para>
25829</change>
25830
25831<change type="feature">
25832<para lang="ru">
25833директива userid_mark.
25834</para>
25835<para lang="en">
25836the "userid_mark" directive.
25837</para>
25838</change>
25839
25840<change type="feature">
25841<para lang="ru">
25842значение переменной $remote_user определяется независимо от того,
25843используется ли авторизация или нет.
25844</para>
25845<para lang="en">
25846the $remote_user variable value is determined independently of
25847authorization use.
25848</para>
25849</change>
25850
25851</changes>
25852
25853
25854<changes ver="0.1.43" date="2005-08-30">
25855
25856<change type="feature">
25857<para lang="ru">
25858listen(2) backlog в директиве listen можно менять по сигналу -HUP.
25859</para>
25860<para lang="en">
25861the listen(2) backlog in the "listen" directive
25862can be changed using the -HUP signal.
25863</para>
25864</change>
25865
25866<change type="feature">
25867<para lang="ru">
25868скрипт geo2nginx.pl добавлен в contrib.
25869</para>
25870<para lang="en">
25871the geo2nginx.pl script was added to contrib.
25872</para>
25873</change>
25874
25875<change type="change">
25876<para lang="ru">
25877параметры FastCGI с пустым значениями теперь передаются серверу.
25878</para>
25879<para lang="en">
25880the FastCGI parameters with the empty values now are passed to a server.
25881</para>
25882</change>
25883
25884<!--
25885
25886<change type="bugfix">
25887<para lang="ru">
25888при ошибках в работе с проксированным сервером или FastCGI сервером
25889мог произойти segmentation fault;
25890в режиме прокси ошибка появилась в 0.1.29.
25891</para>
25892<para lang="en">
25893the segmentation fault may occurred if there were errors while
25894working with proxied or FastCGI server;
25895in the proxied mode the bug had appeared in 0.1.29.
25896</para>
25897</change>
25898
25899-->
25900
25901<change type="bugfix">
25902<para lang="ru">
25903если в ответе проксированного сервера или FastCGI сервера была строка
25904"Cache-Control", то при использовании директивы expires происходил
25905segmentation fault или рабочий процесс мог зациклится;
25906в режиме прокси ошибка появилась в 0.1.29.
25907</para>
25908<para lang="en">
25909the segmentation fault occurred or the worker process may got caught
25910in an endless loop if the proxied or FastCGI server sent the "Cache-Control"
25911header line and the "expires" directive was used;
25912in the proxied mode the bug had appeared in 0.1.29.
25913</para>
25914</change>
25915
25916</changes>
25917
25918
25919<changes ver="0.1.42" date="2005-08-23">
25920
25921<change type="bugfix">
25922<para lang="ru">
25923если URI запроса получался нулевой длины после обработки модулем
25924ngx_http_rewrite_module, то в модуле ngx_http_proxy_module происходил
25925segmentation fault или bus error.
25926</para>
25927<para lang="en">
25928if the request URI had a zero length after the processing in
25929the ngx_http_proxy_module, then the segmentation fault or bus error occurred
25930in the ngx_http_proxy_module.
25931</para>
25932</change>
25933
25934<change type="bugfix">
25935<para lang="ru">
25936директива limit_rate не работала внутри блока if;
25937ошибка появилась в 0.1.38.
25938</para>
25939<para lang="en">
25940the "limit_rate" directive did not work inside the "if" block;
25941the bug had appeared in 0.1.38.
25942</para>
25943</change>
25944
25945</changes>
25946
25947
25948<changes ver="0.1.41" date="2005-07-25">
25949
25950<change type="bugfix">
25951<para lang="ru">
25952если переменная использовалась в файле конфигурации,
25953то она не могла использоваться в SSI.
25954</para>
25955<para lang="en">
25956if the variable was used in the configuration file,
25957then it can not be used in SSI.
25958</para>
25959</change>
25960
25961</changes>
25962
25963
25964<changes ver="0.1.40" date="2005-07-22">
25965
25966<change type="bugfix">
25967<para lang="ru">
25968если клиент слал очень длинную строку заголовка, то в логе не помещалась
25969информация, связанная с этим запросом.
25970</para>
25971<para lang="en">
25972if a client sent too long header line, then the request information
25973did not logged in the error log.
25974</para>
25975</change>
25976
25977<change type="bugfix">
25978<para lang="ru">
25979при использовании "X-Accel-Redirect" не передавалась строка "Set-Cookie";
25980ошибка появилась в 0.1.39.
25981</para>
25982<para lang="en">
25983the "Set-Cookie" header line was not transferred when the "X-Accel-Redirect"
25984was used;
25985the bug had appeared in 0.1.39.
25986</para>
25987</change>
25988
25989<change type="bugfix">
25990<para lang="ru">
25991при использовании "X-Accel-Redirect" не передавалась строка
25992"Content-Disposition".
25993</para>
25994<para lang="en">
25995the "Content-Disposition" header line was not transferred when
25996the "X-Accel-Redirect" was used.
25997</para>
25998</change>
25999
26000<change type="bugfix">
26001<para lang="ru">
26002по сигналу SIGQUIT основной процесс не закрывал сокеты, на которых он слушал.
26003</para>
26004<para lang="en">
26005the master process did not close the listen socket on the SIGQUIT signal.
26006</para>
26007</change>
26008
26009<change type="bugfix">
26010<para lang="ru">
26011после обновления исполняемого файла на лету на Linux и Solaris
26012название процесса в команде ps становилось короче.
26013</para>
26014<para lang="en">
26015after on-line upgrade on Linux and Solaris the process name
26016became shorter in the "ps" command.
26017</para>
26018</change>
26019
26020</changes>
26021
26022
26023<changes ver="0.1.39" date="2005-07-14">
26024
26025<change>
26026<para lang="ru">
26027Изменения в модуле ngx_http_charset_module:
26028директива default_charset упразднена;
26029директива charset задаёт кодировку ответа;
26030директива source_charset задаёт только исходную кодировку.
26031</para>
26032<para lang="en">
26033The changes in the ngx_http_charset_module:
26034the "default_charset" directive was canceled;
26035the "charset" directive sets the response charset;
26036the "source_charset" directive sets the source charset only.
26037</para>
26038</change>
26039
26040<change type="bugfix">
26041<para lang="ru">
26042при перенаправлении ошибки 401, полученной от бэкенда, не передавалась
26043строка заголовка "WWW-Authenticate".
26044</para>
26045<para lang="en">
26046the backend "WWW-Authenticate" header line did not transferred while
26047the 401 response code redirecting.
26048</para>
26049</change>
26050
26051<change type="bugfix">
26052<para lang="ru">
26053модули ngx_http_proxy_module и ngx_http_fastcgi_module могли закрыть
26054соединение до того, как что-нибудь было передано клиенту;
26055ошибка появилась в 0.1.38.
26056</para>
26057<para lang="en">
26058the ngx_http_proxy_module and ngx_http_fastcgi_module may close
26059a connection before anything was transferred to a client;
26060the bug had appeared in 0.1.38.
26061</para>
26062</change>
26063
26064<change type="workaround">
26065<para lang="ru">
26066обработка ошибки инициализации в crypt_r() в Linux glibc.
26067</para>
26068<para lang="en">
26069the Linux glibc crypt_r() initialization bug.
26070</para>
26071</change>
26072
26073<change type="bugfix">
26074<para lang="ru">
26075модуль ngx_http_ssi_module не поддерживал относительные URI в
26076команде include virtual.
26077</para>
26078<para lang="en">
26079the ngx_http_ssi_module did not support the relative URI in
26080the "include virtual" command.
26081</para>
26082</change>
26083
26084<change type="bugfix">
26085<para lang="ru">
26086если в строке заголовка ответа бэкенда была строка "Location",
26087которую nginx не должен был изменять, то в ответе передавалось тело 500 ошибки;
26088ошибка появилась в 0.1.29.
26089</para>
26090<para lang="en">
26091if the backend response had the "Location" header line and nginx
26092should not rewrite this line, then the 500 code response body was transferred;
26093the bug had appeared in 0.1.29.
26094</para>
26095</change>
26096
26097<change type="bugfix">
26098<para lang="ru">
26099некоторые директивы модулей ngx_http_proxy_module и ngx_http_fastcgi_module
26100не наследовались с уровня server на уровень location;
26101ошибка появилась в 0.1.29.
26102</para>
26103<para lang="en">
26104some directives of the ngx_http_proxy_module and ngx_http_fastcgi_module
26105were not inherited from the server to the location level;
26106the bug had appeared in 0.1.29.
26107</para>
26108</change>
26109
26110<change type="bugfix">
26111<para lang="ru">
26112модуль ngx_http_ssl_module не поддерживал цепочки сертификатов.
26113</para>
26114<para lang="en">
26115the ngx_http_ssl_module did not support the certificate chain.
26116</para>
26117</change>
26118
26119<change type="bugfix">
26120<para lang="ru">
26121ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов;
26122ошибка появилась в 0.1.38.
26123</para>
26124<para lang="en">
26125the ngx_http_autoindex_module did not show correctly the long file names;
26126the bug had appeared in 0.1.38.
26127</para>
26128</change>
26129
26130<change>
26131<para lang="ru">
26132Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на стадии login.
26133</para>
26134<para lang="en">
26135Bugfixes in IMAP/POP3 proxy in interaction with a backend at the login state.
26136</para>
26137</change>
26138
26139</changes>
26140
26141
26142<changes ver="0.1.38" date="2005-07-08">
26143
26144<change type="feature">
26145<para lang="ru">
26146директива limit_rate поддерживается в режиме прокси и FastCGI.
26147</para>
26148<para lang="en">
26149the "limit_rate" directive is supported in proxy and FastCGI mode.
26150</para>
26151</change>
26152
26153<change type="feature">
26154<para lang="ru">
26155в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Limit-Rate"
26156в ответе бэкенда.
26157</para>
26158<para lang="en">
26159the "X-Accel-Limit-Rate" response header line is supported in proxy
26160and FastCGI mode.
26161</para>
26162</change>
26163
26164<change type="feature">
26165<para lang="ru">
26166директива break.
26167</para>
26168<para lang="en">
26169the "break" directive.
26170</para>
26171</change>
26172
26173<change type="feature">
26174<para lang="ru">
26175директива log_not_found.
26176</para>
26177<para lang="en">
26178the "log_not_found" directive.
26179</para>
26180</change>
26181
26182<change type="bugfix">
26183<para lang="ru">
26184при перенаправлении запроса с помощью строки заголовка "X-Accel-Redirect"
26185не изменялся код ответа.
26186</para>
26187<para lang="en">
26188the response status code was not changed when request was redirected
26189by the ""X-Accel-Redirect" header line.
26190</para>
26191</change>
26192
26193<change type="bugfix">
26194<para lang="ru">
26195переменные, установленные директивой set не могли использоваться в SSI.
26196</para>
26197<para lang="en">
26198the variables set by the "set" directive could not be used in SSI.
26199</para>
26200</change>
26201
26202<change type="bugfix">
26203<para lang="ru">
26204при включении в SSI более одного удалённого подзапроса
26205мог произойти segmentation fault.
26206</para>
26207<para lang="en">
26208the segmentation fault may occurred if the SSI page has more than one
26209remote subrequest.
26210</para>
26211</change>
26212
26213<change type="bugfix">
26214<para lang="ru">
26215если статусная строка в ответе бэкенда передавалась в двух пакетах, то
26216nginx считал ответ неверным;
26217ошибка появилась в 0.1.29.
26218</para>
26219<para lang="en">
26220nginx treated the backend response as invalid if the status line in the
26221header was transferred in two packets;
26222the bug had appeared in 0.1.29.
26223</para>
26224</change>
26225
26226<change type="feature">
26227<para lang="ru">
26228директива ssi_types.
26229</para>
26230<para lang="en">
26231the "ssi_types" directive.
26232</para>
26233</change>
26234
26235<change type="feature">
26236<para lang="ru">
26237директива autoindex_exact_size.
26238</para>
26239<para lang="en">
26240the "autoindex_exact_size" directive.
26241</para>
26242</change>
26243
26244<change type="bugfix">
26245<para lang="ru">
26246модуль ngx_http_autoindex_module не поддерживал длинные имена файлов в UTF-8.
26247</para>
26248<para lang="en">
26249the ngx_http_autoindex_module did not support the long file names in UTF-8.
26250</para>
26251</change>
26252
26253<change type="feature">
26254<para lang="ru">
26255IMAP/POP3 прокси.
26256</para>
26257<para lang="en">
26258the IMAP/POP3 proxy.
26259</para>
26260</change>
26261
26262</changes>
26263
26264
26265<changes ver="0.1.37" date="2005-06-23">
26266
26267<change type="change">
26268<para lang="ru">
26269в конце файла nginx.pid теперь добавляется "\n".
26270</para>
26271<para lang="en">
26272now the "\n" is added to the end of the "nginx.pid" file.
26273</para>
26274</change>
26275
26276<change type="bugfix">
26277<para lang="ru">
26278при включении большого количества вставок или нескольких больших вставок
26279с помощью SSI ответ мог передаваться не полностью.
26280</para>
26281<para lang="en">
26282the responses may be transferred not completely,
26283if many parts or the big parts were included by SSI.
26284</para>
26285</change>
26286
26287<change type="bugfix">
26288<para lang="ru">
26289если все бэкенды возвращали ответ 404, то при использовании параметра http_404
26290в директивах proxy_next_upstream или fastcgi_next_upstream, nginx
26291начинал запрашивать все бэкенды снова.
26292</para>
26293<para lang="en">
26294if all backends had returned the 404 response and the "http_404" parameter of
26295the "proxy_next_upstream" or "fastcgi_next_upstream" directives was used,
26296then nginx started to request all backends again.
26297</para>
26298</change>
26299
26300</changes>
26301
26302
26303<changes ver="0.1.36" date="2005-06-15">
26304
26305<change type="change">
26306<para lang="ru">
26307если в заголовке запроса есть дублирующиеся строки "Host", "Connection",
26308"Content-Length" и "Authorization", то nginx теперь выдаёт ошибку 400.
26309</para>
26310<para lang="en">
26311if the request header has duplicate the "Host", "Connection", "Content-Length",
26312or "Authorization" lines, then nginx now returns the 400 error.
26313</para>
26314</change>
26315
26316<change type="change">
26317<para lang="ru">
26318директива post_accept_timeout упразднена.
26319</para>
26320<para lang="en">
26321the "post_accept_timeout" directive was canceled.
26322</para>
26323</change>
26324
26325<change type="feature">
26326<para lang="ru">
26327параметры default, af=, bl=, deferred и bind в директиве listen.
26328</para>
26329<para lang="en">
26330the "default", "af=", "bl=", "deferred", and "bind" parameters
26331of the "listen" directive.
26332</para>
26333</change>
26334
26335<change type="feature">
26336<para lang="ru">
26337поддержка accept фильтров во FreeBSD.
26338</para>
26339<para lang="en">
26340the FreeBSD accept filters support.
26341</para>
26342</change>
26343
26344<change type="feature">
26345<para lang="ru">
26346поддержка TCP_DEFER_ACCEPT в Linux.
26347</para>
26348<para lang="en">
26349the Linux TCP_DEFER_ACCEPT support.
26350</para>
26351</change>
26352
26353<change type="bugfix">
26354<para lang="ru">
26355модуль ngx_http_autoindex_module не поддерживал имена файлов в UTF-8.
26356</para>
26357<para lang="en">
26358the ngx_http_autoindex_module did not support the file names in UTF-8.
26359</para>
26360</change>
26361
26362<change type="bugfix">
26363<para lang="ru">
26364после добавления новый лог-файл ротация этого лога по сигналу -USR1
26365выполнялась, только если переконфигурировать nginx два раза по сигналу -HUP.
26366</para>
26367<para lang="en">
26368the new log file can be rotated by the -USR1 signal only if
26369the reconfiguration by the -HUP signal was made twice.
26370</para>
26371</change>
26372
26373</changes>
26374
26375
26376<changes ver="0.1.35" date="2005-06-07">
26377
26378<change type="feature">
26379<para lang="ru">
26380директива working_directory.
26381</para>
26382<para lang="en">
26383the "working_directory" directive.
26384</para>
26385</change>
26386
26387<change type="feature">
26388<para lang="ru">
26389директива port_in_redirect.
26390</para>
26391<para lang="en">
26392the "port_in_redirect" directive.
26393</para>
26394</change>
26395
26396<change type="bugfix">
26397<para lang="ru">
26398если заголовок ответа бэкенда не помещался в один пакет, то
26399происходил segmentation fault;
26400ошибка появилась в 0.1.29.
26401</para>
26402<para lang="en">
26403the segmentation fault was occurred if the backend response header was in
26404several packets;
26405the bug had appeared in 0.1.29.
26406</para>
26407</change>
26408
26409<change type="bugfix">
26410<para lang="ru">
26411если было сконфигурировано более 10 серверов или в сервере не описана
26412директива "listen",
26413то при запуске мог произойти segmentation fault.
26414</para>
26415<para lang="en">
26416if more than 10 servers were configured or some server did not use the
26417"listen" directive, then the segmentation fault was occurred on the start.
26418</para>
26419</change>
26420
26421<change type="bugfix">
26422<para lang="ru">
26423если ответ не помещался во временный файл,
26424то мог произойти segmentation fault.
26425</para>
26426<para lang="en">
26427the segmentation fault might occur if the response was bigger than
26428the temporary file.
26429</para>
26430</change>
26431
26432<change type="bugfix">
26433<para lang="ru">
26434nginx возвращал ошибку 400 на запросы вида
26435<nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>;
26436ошибка появилась в 0.1.28.
26437</para>
26438<para lang="en">
26439nginx returned the 400 response on requests like
26440<nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>;
26441the bug had appeared in 0.1.28.
26442</para>
26443</change>
26444
26445</changes>
26446
26447
26448<changes ver="0.1.34" date="2005-05-26">
26449
26450<change type="bugfix">
26451<para lang="ru">
26452при включении больших ответов с помощью SSI рабочий процесс мог зациклиться.
26453</para>
26454<para lang="en">
26455the worker process may got caught in an endless loop if the big response
26456part were include by SSI.
26457</para>
26458</change>
26459
26460<change type="bugfix">
26461<para lang="ru">
26462переменные, устанавливаемые директивой "set", не были доступны в SSI.
26463</para>
26464<para lang="en">
26465the variables set by the "set" directive were not available in SSI.
26466</para>
26467</change>
26468
26469<change type="feature">
26470<para lang="ru">
26471директива autoindex_localtime.
26472</para>
26473<para lang="en">
26474the "autoindex_localtime" directive.
26475</para>
26476</change>
26477
26478<change type="bugfix">
26479<para lang="ru">
26480пустое значение в директиве proxy_set_header запрещает передачу заголовка.
26481</para>
26482<para lang="en">
26483the empty value of the "proxy_set_header" directive forbids the client
26484request header line passing.
26485</para>
26486</change>
26487
26488</changes>
26489
26490
26491<changes ver="0.1.33" date="2005-05-23">
26492
26493<change type="bugfix">
26494<para lang="ru">
26495nginx не собирался с параметром --without-pcre;
26496ошибка появилась в 0.1.29.
26497</para>
26498<para lang="en">
26499nginx could not be built with the --without-pcre parameter;
26500the bug had appeared in 0.1.29.
26501</para>
26502</change>
26503
26504<change type="bugfix">
26505<para lang="ru">
265063, 5, 7 и 8 директив proxy_set_header на одном уровне вызывали
26507bus fault при запуске.
26508</para>
26509<para lang="en">
265103, 4, 7, and 8 the "proxy_set_header" directives in one level cause
26511the bus fault on start up.
26512</para>
26513</change>
26514
26515<change type="bugfix">
26516<para lang="ru">
26517в редиректах внутри HTTPS сервера был указан протокол HTTP.
26518</para>
26519<para lang="en">
26520the HTTP protocol was specified in the HTTPS redirects.
26521</para>
26522</change>
26523
26524<change type="bugfix">
26525<para lang="ru">
26526если директива rewrite использовала выделения внутри директивы if, то
26527возвращалась ошибка 500.
26528</para>
26529<para lang="en">
26530if the "rewrite" directive used the captures inside the "if" directive, then
26531the 500 error code was returned.
26532</para>
26533</change>
26534
26535</changes>
26536
26537
26538<changes ver="0.1.32" date="2005-05-19">
26539
26540<change type="bugfix">
26541<para lang="ru">
26542в редиректах, выдаваемых с помощью директивы rewrite, не передавались аргументы;
26543ошибка появилась в 0.1.29.
26544</para>
26545<para lang="en">
26546the arguments were omitted in the redirects, issued by the "rewrite" directive;
26547the bug had appeared in 0.1.29.
26548</para>
26549</change>
26550
26551<change type="feature">
26552<para lang="ru">
26553директива if поддерживает выделения в регулярных выражениях.
26554</para>
26555<para lang="en">
26556the "if" directive supports the captures in regular expressions.
26557</para>
26558</change>
26559
26560<change type="feature">
26561<para lang="ru">
26562директива set поддерживает переменные и выделения из регулярных выражений.
26563</para>
26564<para lang="en">
26565the "set" directive supports the variables and the captures of regular
26566expressions.
26567</para>
26568</change>
26569
26570<change type="feature">
26571<para lang="ru">
26572в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Redirect"
26573в ответе бэкенда.
26574</para>
26575<para lang="en">
26576the "X-Accel-Redirect" response header line is supported in proxy and FastCGI
26577mode.
26578</para>
26579</change>
26580
26581</changes>
26582
26583
26584<changes ver="0.1.31" date="2005-05-16">
26585
26586<change type="bugfix">
26587<para lang="ru">
26588при использовании SSL ответ мог передаваться не до конца.
26589</para>
26590<para lang="en">
26591the response encrypted by SSL may not transferred complete.
26592</para>
26593</change>
26594
26595<change type="bugfix">
26596<para lang="ru">
26597ошибки при обработке SSI в ответе, полученного от FastCGI-сервера.
26598</para>
26599<para lang="en">
26600errors while processing FastCGI response by SSI.
26601</para>
26602</change>
26603
26604<change type="bugfix">
26605<para lang="ru">
26606ошибки при использовании SSI и сжатия.
26607</para>
26608<para lang="en">
26609errors while using SSI and gzipping.
26610</para>
26611</change>
26612
26613<change type="bugfix">
26614<para lang="ru">
26615редирект с кодом 301 передавался без тела ответа;
26616ошибка появилась в 0.1.30.
26617</para>
26618<para lang="en">
26619the redirect with the 301 code was transferred without response body;
26620the bug had appeared in 0.1.30.
26621</para>
26622</change>
26623
26624</changes>
26625
26626
26627<changes ver="0.1.30" date="2005-05-14">
26628
26629<change type="bugfix">
26630<para lang="ru">
26631при использовании SSI рабочий процесс мог зациклиться.
26632</para>
26633<para lang="en">
26634the worker process may got caught in an endless loop if the SSI was used.
26635</para>
26636</change>
26637
26638<change type="bugfix">
26639<para lang="ru">
26640при использовании SSL ответ мог передаваться не до конца.
26641</para>
26642<para lang="en">
26643the response encrypted by SSL may not transferred complete.
26644</para>
26645</change>
26646
26647<change type="bugfix">
26648<para lang="ru">
26649если длина части ответа, полученного за один раз от проксируемого или
26650FastCGI сервера была равна 500 байт, то nginx возвращал код ответа 500;
26651в режиме прокси ошибка появилась только в 0.1.29.
26652</para>
26653<para lang="en">
26654if the length of the response part received at once from proxied
26655or FastCGI server was equal to 500, then nginx returns the 500 response code;
26656in proxy mode the bug had appeared in 0.1.29 only.
26657</para>
26658</change>
26659
26660<change type="bugfix">
26661<para lang="ru">
26662nginx не считал неверными директивы с 8-ю или 9-ю параметрами.
26663</para>
26664<para lang="en">
26665nginx did not consider the directives with 8 or 9 parameters as invalid.
26666</para>
26667</change>
26668
26669<change type="feature">
26670<para lang="ru">
26671директива return может возвращать код ответа 204.
26672</para>
26673<para lang="en">
26674the "return" directive can return the 204 response code.
26675</para>
26676</change>
26677
26678<change type="feature">
26679<para lang="ru">
26680директива ignore_invalid_headers.
26681</para>
26682<para lang="en">
26683the "ignore_invalid_headers" directive.
26684</para>
26685</change>
26686
26687</changes>
26688
26689
26690<changes ver="0.1.29" date="2005-05-12">
26691
26692<change type="feature">
26693<para lang="ru">
26694модуль ngx_http_ssi_module поддерживает команду include virtual.
26695</para>
26696<para lang="en">
26697the ngx_http_ssi_module supports "include virtual" command.
26698</para>
26699</change>
26700
26701<change type="feature">
26702<para lang="ru">
26703модуль ngx_http_ssi_module поддерживает условную команду вида
26704'if expr="$NAME"' и команды else и endif.
26705Допускается только один уровень вложенности.
26706</para>
26707<para lang="en">
26708the ngx_http_ssi_module supports the condition command like
26709'if expr="$NAME"' and "else" and "endif" commands.
26710Only one nested level is supported.
26711</para>
26712</change>
26713
26714<change type="feature">
26715<para lang="ru">
26716модуль ngx_http_ssi_module поддерживает две переменные DATE_LOCAL и DATE_GMT
26717и команду config timefmt.
26718</para>
26719<para lang="en">
26720the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables
26721and "config timefmt" command.
26722</para>
26723</change>
26724
26725<change type="feature">
26726<para lang="ru">
26727директива ssi_ignore_recycled_buffers.
26728</para>
26729<para lang="en">
26730the "ssi_ignore_recycled_buffers" directive.
26731</para>
26732</change>
26733
26734<change type="bugfix">
26735<para lang="ru">
26736если переменная QUERY_STRING не была определена, то в команде echo
26737не ставилось значение по умолчанию.
26738</para>
26739<para lang="en">
26740the "echo" command did not show the default value for the empty QUERY_STRING
26741variable.
26742</para>
26743</change>
26744
26745<change type="change">
26746<para lang="ru">
26747модуль ngx_http_proxy_module полностью переписан.
26748</para>
26749<para lang="en">
26750the ngx_http_proxy_module was rewritten.
26751</para>
26752</change>
26753
26754<change type="feature">
26755<para lang="ru">
26756директивы proxy_redirect, proxy_pass_request_headers,
26757proxy_pass_request_body и proxy_method.
26758</para>
26759<para lang="en">
26760the "proxy_redirect", "proxy_pass_request_headers",
26761"proxy_pass_request_body", and "proxy_method" directives.
26762</para>
26763</change>
26764
26765<change type="feature">
26766<para lang="ru">
26767директива proxy_set_header.
26768Директива proxy_x_var упразднена и должна быть заменена директивой
26769proxy_set_header.
26770</para>
26771<para lang="en">
26772the "proxy_set_header" directive.
26773The "proxy_x_var" was canceled and must be replaced with the proxy_set_header
26774directive.
26775</para>
26776</change>
26777
26778<change type="change">
26779<para lang="ru">
26780директива proxy_preserve_host упразднена и должна быть заменена директивами
26781"proxy_set_header Host $host" и "proxy_redirect off"
26782или директивой <nobr>"proxy_set_header Host $host:$proxy_port"</nobr>
26783и соответствующими ей директивами proxy_redirect.
26784</para>
26785<para lang="en">
26786the "proxy_preserve_host" is canceled and must be replaced with
26787the "proxy_set_header Host $host" and the "proxy_redirect off" directives,
26788the <nobr>"proxy_set_header Host $host:$proxy_port" directive</nobr>
26789and the appropriate proxy_redirect directives.
26790</para>
26791</change>
26792
26793<change type="change">
26794<para lang="ru">
26795директива proxy_set_x_real_ip упразднена и должна быть заменена директивой
26796"proxy_set_header X-Real-IP $remote_addr".
26797</para>
26798<para lang="en">
26799the "proxy_set_x_real_ip" is canceled and must be replaced with
26800the "proxy_set_header X-Real-IP $remote_addr" directive.
26801</para>
26802</change>
26803
26804<change type="change">
26805<para lang="ru">
26806директива proxy_add_x_forwarded_for упразднена и должна быть заменена
26807директивой
26808<nobr>"proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".</nobr>
26809</para>
26810<para lang="en">
26811the "proxy_add_x_forwarded_for" is canceled and must be replaced with
26812<nobr>the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"</nobr>
26813directive.
26814</para>
26815</change>
26816
26817<change type="change">
26818<para lang="ru">
26819директива proxy_set_x_url упразднена и должна быть заменена директивой
26820<nobr>"proxy_set_header X-URL http://$host:$server_port$request_uri".</nobr>
26821</para>
26822<para lang="en">
26823the "proxy_set_x_url" is canceled and must be replaced with
26824the "proxy_set_header X-URL http://$host:$server_port$request_uri"
26825directive.
26826</para>
26827</change>
26828
26829<change type="feature">
26830<para lang="ru">
26831директива fastcgi_param.
26832</para>
26833<para lang="en">
26834the "fastcgi_param" directive.
26835</para>
26836</change>
26837
26838<change type="change">
26839<para lang="ru">
26840директивы fastcgi_root, fastcgi_set_var и fastcgi_params упразднены
26841и должны быть замены директивами fastcgi_param.
26842</para>
26843<para lang="en">
26844the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive
26845are canceled and must be replaced with the fastcgi_param directives.
26846</para>
26847</change>
26848
26849<change type="feature">
26850<para lang="ru">
26851директива index может использовать переменные.
26852</para>
26853<para lang="en">
26854the "index" directive can use the variables.
26855</para>
26856</change>
26857
26858<change type="feature">
26859<para lang="ru">
26860директива index может быть указана на уровне http и server.
26861</para>
26862<para lang="en">
26863the "index" directive can be used at http and server levels.
26864</para>
26865</change>
26866
26867<change type="change">
26868<para lang="ru">
26869только последний параметр в директиве index может быть абсолютным.
26870</para>
26871<para lang="en">
26872the last index only in the "index" directive can be absolute.
26873</para>
26874</change>
26875
26876<change type="feature">
26877<para lang="ru">
26878в директиве rewrite могут использоваться переменные.
26879</para>
26880<para lang="en">
26881the "rewrite" directive can use the variables.
26882</para>
26883</change>
26884
26885<change type="feature">
26886<para lang="ru">
26887директива internal.
26888</para>
26889<para lang="en">
26890the "internal" directive.
26891</para>
26892</change>
26893
26894<change type="feature">
26895<para lang="ru">
26896переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
26897SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
26898REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
26899</para>
26900<para lang="en">
26901the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
26902SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
26903REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
26904</para>
26905</change>
26906
26907<change type="change">
26908<para lang="ru">
26909nginx теперь передаёт неверные строки в заголовках запроса клиента и
26910ответа бэкенда.
26911</para>
26912<para lang="en">
26913nginx now passes the invalid lines in a client request headers
26914or a backend response header.
26915</para>
26916</change>
26917
26918<change type="bugfix">
26919<para lang="ru">
26920если бэкенд долго не передавал ответ и send_timeout был меньше, чем
26921proxy_read_timeout, то клиенту возвращался ответ 408.
26922</para>
26923<para lang="en">
26924if the backend did not transfer response for a long time and
26925the "send_timeout" was less than "proxy_read_timeout", then nginx
26926returned the 408 response.
26927</para>
26928</change>
26929
26930<change type="bugfix">
26931<para lang="ru">
26932если бэкенд передавал неверную строку в заголовке ответа, то происходил
26933segmentation fault;
26934ошибка появилась в 0.1.26.
26935</para>
26936<para lang="en">
26937the segmentation fault was occurred if the backend sent an invalid line
26938in response header;
26939the bug had appeared in 0.1.26.
26940</para>
26941</change>
26942
26943<change type="bugfix">
26944<para lang="ru">
26945при использовании отказоустойчивой конфигурации в FastCGI мог
26946происходить segmentation fault.
26947</para>
26948<para lang="en">
26949the segmentation fault may occurred in FastCGI fault tolerance configuration.
26950</para>
26951</change>
26952
26953<change type="bugfix">
26954<para lang="ru">
26955директива expires не удаляла уже установленные строки заголовка
26956"Expires" и "Cache-Control".
26957</para>
26958<para lang="en">
26959the "expires" directive did not remove the previous "Expires" and
26960"Cache-Control" headers.
26961</para>
26962</change>
26963
26964<change type="bugfix">
26965<para lang="ru">
26966nginx не учитывал завершающую точку в строке заголовка запроса "Host".
26967</para>
26968<para lang="en">
26969nginx did not take into account trailing dot in "Host" header line.
26970</para>
26971</change>
26972
26973<change type="bugfix">
26974<para lang="ru">
26975модуль ngx_http_auth_module не работал на Linux.
26976</para>
26977<para lang="en">
26978the ngx_http_auth_module did not work under Linux.
26979</para>
26980</change>
26981
26982<change type="bugfix">
26983<para lang="ru">
26984директива rewrite неверно работала, если в запросе присутствовали аргументы.
26985</para>
26986<para lang="en">
26987the rewrite directive worked incorrectly, if the arguments were in a request.
26988</para>
26989</change>
26990
26991<change type="bugfix">
26992<para lang="ru">
26993nginx не собирался на MacOS X.
26994</para>
26995<para lang="en">
26996nginx could not be built on MacOS X.
26997</para>
26998</change>
26999
27000</changes>
27001
27002
27003<changes ver="0.1.28" date="2005-04-08">
27004
27005<change type="bugfix">
27006<para lang="ru">
27007при проксировании больших файлов nginx сильно нагружал процессор.
27008</para>
27009<para lang="en">
27010nginx hogs CPU while proxying the huge files.
27011</para>
27012</change>
27013
27014<change type="bugfix">
27015<para lang="ru">
27016nginx не собирался gcc 4.0 на Linux.
27017</para>
27018<para lang="en">
27019nginx could not be built by gcc 4.0 on Linux.
27020</para>
27021</change>
27022
27023</changes>
27024
27025
27026<changes ver="0.1.27" date="2005-03-28">
27027
27028<change type="feature">
27029<para lang="ru">
27030параметр blocked в директиве valid_referers.
27031</para>
27032<para lang="en">
27033the "blocked" parameter of the "valid_referers" directive.
27034</para>
27035</change>
27036
27037<change type="change">
27038<para lang="ru">
27039ошибки обработки заголовка запроса теперь записываются на уровне
27040info, в лог также записывается имя сервера и строки заголовка
27041запроса "Host" и "Referer".
27042</para>
27043<para lang="en">
27044the errors while handling the request header now logged at "info" level.
27045The server name and the "Host" and "Referer" header lines also logged.
27046</para>
27047</change>
27048
27049<change type="change">
27050<para lang="ru">
27051при записи ошибок в лог записывается также строка заголовка запроса "Host".
27052</para>
27053<para lang="en">
27054the "Host" header line is also logged in error log.
27055</para>
27056</change>
27057
27058<change type="feature">
27059<para lang="ru">
27060директива proxy_pass_unparsed_uri.
27061Специальная обработка символов "://" в URI, введённая в версии 0.1.11,
27062теперь упразднена.
27063</para>
27064<para lang="en">
27065the proxy_pass_unparsed_uri directive.
27066The special handling of the "://" symbols in URI, appeared in 0.1.11 version,
27067now is canceled.
27068</para>
27069</change>
27070
27071<change type="bugfix">
27072<para lang="ru">
27073nginx не собирался на FreeBSD и Linux, если был указан параметр конфигурации
27074--without-ngx_http_auth_basic_module.
27075</para>
27076<para lang="en">
27077nginx could not be built on FreeBSD and Linux, if the
27078--without-ngx_http_auth_basic_module configuration parameter was used.
27079</para>
27080</change>
27081
27082</changes>
27083
27084
27085<changes ver="0.1.26" date="2005-03-22">
27086
27087<change type="change">
27088<para lang="ru">
27089неверные строки заголовка, переданные клиентом, теперь игнорируется и
27090записываются в error_log на уровне info.
27091</para>
27092<para lang="en">
27093the invalid client header lines are now ignored and logged at the info level.
27094</para>
27095</change>
27096
27097<change type="change">
27098<para lang="ru">
27099при записи ошибок в лог записывается также имя сервера, при обращении
27100к которому произошла ошибка.
27101</para>
27102<para lang="en">
27103the server name is also logged in error log.
27104</para>
27105</change>
27106
27107<change type="feature">
27108<para lang="ru">
27109модуль ngx_http_auth_basic_module и директивы auth_basic и
27110auth_basic_user_file.
27111</para>
27112<para lang="en">
27113the ngx_http_auth_basic_module module and the auth_basic and
27114auth_basic_user_file directives.
27115</para>
27116</change>
27117
27118</changes>
27119
27120
27121<changes ver="0.1.25" date="2005-03-19">
27122
27123<change type="bugfix">
27124<para lang="ru">
27125nginx не работал на Linux parisc.
27126</para>
27127<para lang="en">
27128nginx did run on Linux parisc.
27129</para>
27130</change>
27131
27132<change type="feature">
27133<para lang="ru">
27134nginx теперь не запускается под FreeBSD, если значение
27135sysctl kern.ipc.somaxconn слишком большое.
27136</para>
27137<para lang="en">
27138nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn
27139value is too big.
27140</para>
27141</change>
27142
27143<change type="bugfix">
27144<para lang="ru">
27145если модуль ngx_http_index_module делал внутреннее перенаправление запроса
27146в модули ngx_http_proxy_module или ngx_http_fastcgi_module, то файл индекса
27147не закрывался после обслуживания запроса.
27148</para>
27149<para lang="en">
27150if a request was internally redirected by the ngx_http_index_module
27151module to the ngx_http_proxy_module or ngx_http_fastcgi_module modules,
27152then the index file was not closed after request completion.
27153</para>
27154</change>
27155
27156<change type="feature">
27157<para lang="ru">
27158директива proxy_pass может использоваться в location, заданных регулярным
27159выражением.
27160</para>
27161<para lang="en">
27162the "proxy_pass" can be used in location with regular expression.
27163</para>
27164</change>
27165
27166<change type="feature">
27167<para lang="ru">
27168модуль ngx_http_rewrite_filter_module поддерживает условия вида
27169"if ($HTTP_USER_AGENT ~ MSIE)".
27170</para>
27171<para lang="en">
27172the ngx_http_rewrite_filter_module module supports the condition like
27173"if ($HTTP_USER_AGENT ~ MSIE)".
27174</para>
27175</change>
27176
27177<change type="bugfix">
27178<para lang="ru">
27179nginx очень медленно запускался при большом количестве адресов и
27180использовании текстовых значений в директиве geo.
27181</para>
27182<para lang="en">
27183nginx started too slow if the large number of addresses and text values
27184were used in the "geo" directive.
27185</para>
27186</change>
27187
27188<change type="change">
27189<para lang="ru">
27190имя переменной в директиве geo нужно указывать, как $name.
27191Прежний вариант без "$" пока работает, но вскоре будет убран.
27192</para>
27193<para lang="en">
27194a variable name must be declared as "$name" in the "geo" directive.
27195The previous variant without "$" is still supported, but will be removed soon.
27196</para>
27197</change>
27198
27199<change type="feature">
27200<para lang="ru">
27201параметр лога "%{VARIABLE}v".
27202</para>
27203<para lang="en">
27204the "%{VARIABLE}v" logging parameter.
27205</para>
27206</change>
27207
27208<change type="feature">
27209<para lang="ru">
27210директива "set $name value".
27211</para>
27212<para lang="en">
27213the "set $name value" directive.
27214</para>
27215</change>
27216
27217<change type="bugfix">
27218<para lang="ru">
27219совместимость с gcc 4.0.
27220</para>
27221<para lang="en">
27222gcc 4.0 compatibility.
27223</para>
27224</change>
27225
27226<change type="feature">
27227<para lang="ru">
27228параметр автоконфигурации --with-openssl-opt=OPTIONS.
27229</para>
27230<para lang="en">
27231the --with-openssl-opt=OPTIONS autoconfiguration directive.
27232</para>
27233</change>
27234
27235</changes>
27236
27237
27238<changes ver="0.1.24" date="2005-03-04">
27239
27240<change type="feature">
27241<para lang="ru">
27242модуль ngx_http_ssi_filter_module поддерживает переменные
27243QUERY_STRING и DOCUMENT_URI.
27244</para>
27245<para lang="en">
27246the ngx_http_ssi_filter_module supports the QUERY_STRING and DOCUMENT_URI
27247variables.
27248</para>
27249</change>
27250
27251<change type="bugfix">
27252<para lang="ru">
27253модуль ngx_http_autoindex_module мог выдавать ответ 404
27254на существующий каталог, если этот каталог был указан как alias.
27255</para>
27256<para lang="en">
27257the ngx_http_autoindex_module may some times return the 404 response
27258for existent directory, if this directory was used in "alias" directive.
27259</para>
27260</change>
27261
27262<change type="bugfix">
27263<para lang="ru">
27264модуль ngx_http_ssi_filter_module неправильно работал при больших
27265ответах.
27266</para>
27267<para lang="en">
27268the ngx_http_ssi_filter_module ran incorrectly for large responses.
27269</para>
27270</change>
27271
27272<change type="bugfix">
27273<para lang="ru">
27274отсутствие строки заголовка "Referer" всегда считалось правильным referrer'ом.
27275</para>
27276<para lang="en">
27277the lack of the "Referer" header line was always accounted as valid referrer.
27278</para>
27279</change>
27280
27281</changes>
27282
27283
27284<changes ver="0.1.23" date="2005-03-01">
27285
27286<change type="feature">
27287<para lang="ru">
27288модуль ngx_http_ssi_filter_module и
27289директивы ssi, ssi_silent_errors и ssi_min_file_chunk.
27290Поддерживаются команды 'echo var="HTTP_..." default=""' и
27291'echo var="REMOTE_ADDR"'.
27292</para>
27293<para lang="en">
27294the ngx_http_ssi_filter_module and
27295the ssi, ssi_silent_errors, and ssi_min_file_chunk directives.
27296The 'echo var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands
27297are supported.
27298</para>
27299</change>
27300
27301<change type="feature">
27302<para lang="ru">
27303параметр лога %request_time.
27304</para>
27305<para lang="en">
27306the %request_time log parameter.
27307</para>
27308</change>
27309
27310<change type="feature">
27311<para lang="ru">
27312если запрос пришёл без строки заголовка "Host", то директива
27313proxy_preserve_host устанавливает в качестве этого заголовка первое имя
27314сервера из директивы server_name.
27315</para>
27316<para lang="en">
27317if the request has no the "Host" header line, then the "proxy_preserve_host"
27318directive set this header line to the first server name of the "server_name"
27319directive.
27320</para>
27321</change>
27322
27323<change type="bugfix">
27324<para lang="ru">
27325nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
27326ошибка появилась в 0.1.22.
27327</para>
27328<para lang="en">
27329nginx could not be built on platforms different from i386, amd64, sparc,
27330and ppc;
27331the bug had appeared in 0.1.22.
27332</para>
27333</change>
27334
27335<change type="bugfix">
27336<para lang="ru">
27337модуль ngx_http_autoindex_module теперь показывает информацию не о
27338символическом линке, а о файле или каталоге, на который он указывает.
27339</para>
27340<para lang="en">
27341the ngx_http_autoindex_module now shows the information not about the symlink,
27342but about file or directory it points to.
27343</para>
27344</change>
27345
27346<change type="bugfix">
27347<para lang="ru">
27348если клиенту ничего не передавалось, то параметр %apache_length
27349записывал в лог отрицательную длину заголовка ответа.
27350</para>
27351<para lang="en">
27352the %apache_length parameter logged the negative length
27353of the response header if the no response was transferred to a client.
27354</para>
27355</change>
27356
27357</changes>
27358
27359
27360<changes ver="0.1.22" date="2005-02-22">
27361
27362<change type="bugfix">
27363<para lang="ru">
27364модуль ngx_http_stub_status_module показывал неверную статистику
27365для обработанных соединений, если использовалось проксирование
27366или FastCGI-сервер.
27367</para>
27368<para lang="en">
27369the ngx_http_stub_status_module showed incorrect handled connections
27370statistics if the proxying or FastCGI server were used.
27371</para>
27372</change>
27373
27374<change type="bugfix">
27375<para lang="ru">
27376на Linux и Solaris установочные пути были неверно заключены в кавычки;
27377ошибка появилась в 0.1.21.
27378</para>
27379<para lang="en">
27380the installation paths were incorrectly quoted on Linux and Solaris;
27381the bug had appeared in 0.1.21.
27382</para>
27383</change>
27384
27385</changes>
27386
27387
27388<changes ver="0.1.21" date="2005-02-22">
27389
27390<change type="bugfix">
27391<para lang="ru">
27392модуль ngx_http_stub_status_module показывал неверную статистику
27393при использовании метода rtsig или при использовании нескольких
27394рабочих процессов на SMP машине.
27395</para>
27396<para lang="en">
27397the ngx_http_stub_status_module showed incorrect statistics
27398if "rtsig" method was used or if several worker process ran on SMP.
27399</para>
27400</change>
27401
27402<change type="bugfix">
27403<para lang="ru">
27404nginx не собирался компилятором icc под Линуксом или
27405если библиотека zlib-1.2.x собиралась из исходных текстов.
27406</para>
27407<para lang="en">
27408nginx could not be built by the icc compiler on Linux or
27409if the zlib-1.2.x library was building from sources.
27410</para>
27411</change>
27412
27413<change type="bugfix">
27414<para lang="ru">
27415nginx не собирался под NetBSD 2.0.
27416</para>
27417<para lang="en">
27418nginx could not be built on NetBSD 2.0.
27419</para>
27420</change>
27421
27422</changes>
27423
27424
27425<changes ver="0.1.20" date="2005-02-17">
27426
27427<change type="feature">
27428<para lang="ru">
27429новые параметры script_filename и remote_port в директиве fastcgi_params.
27430</para>
27431<para lang="en">
27432the new "script_filename" and "remote_port" parameters
27433of the fastcgi_params directive.
27434</para>
27435</change>
27436
27437<change type="bugfix">
27438<para lang="ru">
27439неправильно обрабатывался поток stderr от FastCGI-сервера.
27440</para>
27441<para lang="en">
27442the FastCGI stderr stream was handled incorrectly.
27443</para>
27444</change>
27445
27446</changes>
27447
27448
27449<changes ver="0.1.19" date="2005-02-16">
27450
27451<change type="bugfix">
27452<para lang="ru">
27453если в запросе есть нуль, то для локальных запросов теперь возвращается
27454ошибка 404.
27455</para>
27456<para lang="en">
27457now, if request contains the zero, then the 404 error is returned
27458for the local requests.
27459</para>
27460</change>
27461
27462<change type="bugfix">
27463<para lang="ru">
27464nginx не собирался под NetBSD 2.0.
27465</para>
27466<para lang="en">
27467nginx could not be built on NetBSD 2.0.
27468</para>
27469</change>
27470
27471<change type="bugfix">
27472<para lang="ru">
27473во время чтения тела запроса клиента в SSL соединении мог произойти таймаут.
27474</para>
27475<para lang="en">
27476the timeout may occur while reading of the client request body
27477via SSL connections.
27478</para>
27479</change>
27480
27481</changes>
27482
27483
27484<changes ver="0.1.18" date="2005-02-09">
27485
27486<change type="workaround">
27487<para lang="ru">
27488для совместимости с Solaris 10 в директивах devpoll_events и devpoll_changes
27489значения по умолчанию уменьшены с 512 до 32.
27490</para>
27491<para lang="en">
27492the default values of the devpoll_events and the devpoll_changes directives
27493changed from 512 to 32 to be compatible with Solaris 10.
27494</para>
27495</change>
27496
27497<change type="bugfix">
27498<para lang="ru">
27499директивы proxy_set_x_var и fastcgi_set_var не наследовались.
27500</para>
27501<para lang="en">
27502the proxy_set_x_var and fastcgi_set_var directives were not inherited.
27503</para>
27504</change>
27505
27506<change type="bugfix">
27507<para lang="ru">
27508в директиве rewrite, возвращающей редирект, аргументы присоединялись
27509к URI через символ "&amp;" вместо "?".
27510</para>
27511<para lang="en">
27512in a redirect rewrite directive arguments were concatenated with URI
27513by an "&amp;" rather than a "?".
27514</para>
27515</change>
27516
27517<change type="bugfix">
27518<para lang="ru">
27519строки для модуля ngx_http_geo_module без символа ";" во включённом файле
27520игнорировались.
27521</para>
27522<para lang="en">
27523the lines without trailing ";" in the file being included
27524by the ngx_http_geo_module were silently ignored.
27525</para>
27526</change>
27527
27528<change type="feature">
27529<para lang="ru">
27530модуль ngx_http_stub_status_module.
27531</para>
27532<para lang="en">
27533the ngx_http_stub_status_module.
27534</para>
27535</change>
27536
27537<change type="bugfix">
27538<para lang="ru">
27539неизвестный формат лог-файла в директиве access_log вызывал segmentation fault.
27540</para>
27541<para lang="en">
27542the unknown log format in the access_log directive caused
27543the segmentation fault.
27544</para>
27545</change>
27546
27547<change type="feature">
27548<para lang="ru">
27549новый параметр document_root в директиве fastcgi_params.
27550</para>
27551<para lang="en">
27552the new "document_root" parameter of the fastcgi_params directive.
27553</para>
27554</change>
27555
27556<change type="feature">
27557<para lang="ru">
27558директива fastcgi_redirect_errors.
27559</para>
27560<para lang="en">
27561the fastcgi_redirect_errors directive.
27562</para>
27563</change>
27564
27565<change type="feature">
27566<para lang="ru">
27567новый модификатор break в директиве rewrite позволяет прекратить
27568цикл rewrite/location и устанавливает текущую конфигурацию для запроса.
27569</para>
27570<para lang="en">
27571the new "break" modifier of the "rewrite" directive allows to stop
27572the rewrite/location cycle and sets the current configuration to the request.
27573</para>
27574</change>
27575
27576</changes>
27577
27578
27579<changes ver="0.1.17" date="2005-02-03">
27580
27581<change type="change">
27582<para lang="ru">
27583модуль ngx_http_rewrite_module полностью переписан.
27584Теперь можно делать редиректы, возвращать коды ошибок
27585и проверять переменные и рефереры.
27586Эти директивы можно использовать внутри location.
27587Директива redirect упразднена.
27588</para>
27589<para lang="en">
27590the ngx_http_rewrite_module was rewritten from the scratch.
27591Now it is possible to redirect, to return the error codes,
27592to check the variables and referrers. The directives can be used
27593inside locations.
27594The redirect directive was canceled.
27595</para>
27596</change>
27597
27598<change type="feature">
27599<para lang="ru">
27600модуль ngx_http_geo_module.
27601</para>
27602<para lang="en">
27603the ngx_http_geo_module.
27604</para>
27605</change>
27606
27607<change type="feature">
27608<para lang="ru">
27609директивы proxy_set_x_var и fastcgi_set_var.
27610</para>
27611<para lang="en">
27612the proxy_set_x_var and fastcgi_set_var directives.
27613</para>
27614</change>
27615
27616<change type="bugfix">
27617<para lang="ru">
27618конфигурация location с модификатором "=" могла использоваться
27619в другом location.
27620</para>
27621<para lang="en">
27622the location configuration with "=" modifier may be used in another
27623location.
27624</para>
27625</change>
27626
27627<change type="bugfix">
27628<para lang="ru">
27629правильный тип ответа выставлялся только для запросов, у которых в расширении
27630были только маленькие буквы.
27631</para>
27632<para lang="en">
27633the correct content type was set only for requests that use small caps letters
27634in extension.
27635</para>
27636</change>
27637
27638<change type="bugfix">
27639<para lang="ru">
27640если для location установлен proxy_pass или fastcgi_pass, и доступ
27641к нему запрещался, а ошибка перенаправлялась на статическую страницу,
27642то происходил segmentation fault.
27643</para>
27644<para lang="en">
27645if the proxy_pass or fastcgi_pass directives were set in the location,
27646and access was denied, and the error was redirected to a static page,
27647then the segmentation fault occurred.
27648</para>
27649</change>
27650
27651<change type="bugfix">
27652<para lang="ru">
27653если в проксированном ответе в заголовке "Location" передавался
27654относительный URL, то к нему добавлялось имя хоста и слэш;
27655ошибка появилась в 0.1.14.
27656</para>
27657<para lang="en">
27658if in a proxied "Location" header was a relative URL,
27659then a host name and a slash were added to them;
27660the bug had appeared in 0.1.14.
27661</para>
27662</change>
27663
27664<change type="bugfix">
27665<para lang="ru">
27666на Linux в лог не записывался текст системной ошибки.
27667</para>
27668<para lang="en">
27669the system error message was not logged on Linux.
27670</para>
27671</change>
27672
27673</changes>
27674
27675
27676<changes ver="0.1.16" date="2005-01-25">
27677
27678<change type="bugfix">
27679<para lang="ru">
27680если ответ передавался chunk'ами, то при запросе HEAD выдавался
27681завершающий chunk.
27682</para>
27683<para lang="en">
27684if the response were transferred by chunks, then on the HEAD request
27685the final chunk was issued.
27686</para>
27687</change>
27688
27689<change type="bugfix">
27690<para lang="ru">
27691заголовок "Connection: keep-alive" выдавался, даже если директива
27692keepalive_timeout запрещала использование keep-alive.
27693</para>
27694<para lang="en">
27695the "Connection: keep-alive" header were issued, even if the
27696keepalive_timeout directive forbade the keep-alive use.
27697</para>
27698</change>
27699
27700<change type="bugfix">
27701<para lang="ru">
27702ошибки в модуле ngx_http_fastcgi_module вызывали segmentation fault.
27703</para>
27704<para lang="en">
27705the errors in the ngx_http_fastcgi_module caused the segmentation faults.
27706</para>
27707</change>
27708
27709<change type="bugfix">
27710<para lang="ru">
27711при использовании SSL сжатый ответ мог передаваться не до конца.
27712</para>
27713<para lang="en">
27714the compressed response encrypted by SSL may not transferred complete.
27715</para>
27716</change>
27717
27718<change type="bugfix">
27719<para lang="ru">
27720опции TCP_NODELAY, TCP_NOPUSH и TCP_CORK, специфичные для TCP сокетов,
27721не используются для unix domain сокетов.
27722</para>
27723<para lang="en">
27724the TCP-specific TCP_NODELAY, TCP_NOPUSH, and TCP_CORK options,
27725are not used for the unix domain sockets.
27726</para>
27727</change>
27728
27729<change type="feature">
27730<para lang="ru">
27731директива rewrite поддерживает перезаписывание аргументов.
27732</para>
27733<para lang="en">
27734the rewrite directive supports the arguments rewriting.
27735</para>
27736</change>
27737
27738<change type="bugfix">
27739<para lang="ru">
27740на запрос POST с заголовком "Content-Length: 0" возвращался ответ 400;
27741ошибка появилась в 0.1.14.
27742</para>
27743<para lang="en">
27744the response code 400 was returned for the POST request with the
27745"Content-Length: 0" header;
27746the bug had appeared in 0.1.14.
27747</para>
27748</change>
27749
27750</changes>
27751
27752
27753<changes ver="0.1.15" date="2005-01-19">
27754
27755<change type="bugfix">
27756<para lang="ru">
27757ошибка соединения с FastCGI-сервером вызывала segmentation fault.
27758</para>
27759<para lang="en">
27760the error while the connecting to the FastCGI server caused
27761segmentation fault.
27762</para>
27763</change>
27764
27765<change type="bugfix">
27766<para lang="ru">
27767корректная обработка регулярного выражения, в котором число
27768выделенных частей не совпадает с числом подстановок.
27769</para>
27770<para lang="en">
27771the correct handling of the regular expression, that
27772has different number of the captures and substitutions.
27773</para>
27774</change>
27775
27776<change type="feature">
27777<para lang="ru">
27778location, который передаётся FastCGI-серверу, может быть задан
27779с помощью регулярного выражения.
27780</para>
27781<para lang="en">
27782the location, that is passed to the FastCGI server, can be
27783regular expression.
27784</para>
27785</change>
27786
27787<change type="bugfix">
27788<para lang="ru">
27789параметр FastCGI REQUEST_URI теперь передаётся вместе с аргументами
27790и в том виде, в котором был получен от клиента.
27791</para>
27792<para lang="en">
27793the FastCGI's parameter REQUEST_URI is now passed with the arguments
27794and in the original state.
27795</para>
27796</change>
27797
27798<change type="bugfix">
27799<para lang="ru">
27800для использования регулярных выражений в location нужно было
27801собирать nginx вместе с ngx_http_rewrite_module.
27802</para>
27803<para lang="en">
27804the ngx_http_rewrite_module module was required to be built to use
27805the regular expressions in locations.
27806</para>
27807</change>
27808
27809<change type="bugfix">
27810<para lang="ru">
27811если бэкенд слушал на 80-ом порту, то при использовании директивы
27812<nobr>"proxy_preserve_host  on"</nobr> в заголовке "Host" указывался
27813также порт 80;
27814ошибка появилась в 0.1.14.
27815</para>
27816<para lang="en">
27817the directive <nobr>"proxy_preserve_host  on"</nobr> adds port 80
27818to the "Host" headers, if upstream listen on port 80;
27819the bug had appeared in 0.1.14.
27820</para>
27821</change>
27822
27823<change type="bugfix">
27824<para lang="ru">
27825если задать одинаковые пути в параметрах автоконфигурации
27826--http-client-body-temp-path=PATH и --http-proxy-temp-path=PATH
27827или --http-client-body-temp-path=PATH и --http-fastcgi-temp-path=PATH,
27828то происходил segmentation fault.
27829</para>
27830<para lang="en">
27831the same paths in autoconfiguration parameters
27832--http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH,
27833or --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH
27834caused segmentation fault.
27835</para>
27836</change>
27837
27838</changes>
27839
27840
27841<changes ver="0.1.14" date="2005-01-18">
27842
27843<change type="feature">
27844<para lang="ru">
27845параметры автоконфигурации
27846--http-client-body-temp-path=PATH,
27847--http-proxy-temp-path=PATH
27848и --http-fastcgi-temp-path=PATH
27849</para>
27850<para lang="en">
27851the autoconfiguration directives:
27852--http-client-body-temp-path=PATH,
27853--http-proxy-temp-path=PATH,
27854and --http-fastcgi-temp-path=PATH
27855</para>
27856</change>
27857
27858<change type="change">
27859<para lang="ru">
27860имя каталога с временными файлами, содержащие тело запроса клиента,
27861задаётся директивой client_body_temp_path,
27862по умолчанию &lt;prefix&gt;/client_body_temp.
27863</para>
27864<para lang="en">
27865the directory name for the temporary files with the client request body
27866is specified by directive client_body_temp_path,
27867by default it is &lt;prefix&gt;/client_body_temp.
27868</para>
27869</change>
27870
27871<change type="feature">
27872<para lang="ru">
27873модуль ngx_http_fastcgi_module и директивы
27874fastcgi_pass,
27875fastcgi_root,
27876fastcgi_index,
27877fastcgi_params,
27878fastcgi_connect_timeout,
27879fastcgi_send_timeout,
27880fastcgi_read_timeout,
27881fastcgi_send_lowat,
27882fastcgi_header_buffer_size,
27883fastcgi_buffers,
27884fastcgi_busy_buffers_size,
27885fastcgi_temp_path,
27886fastcgi_max_temp_file_size,
27887fastcgi_temp_file_write_size,
27888fastcgi_next_upstream
27889и fastcgi_x_powered_by.
27890
27891</para>
27892<para lang="en">
27893the ngx_http_fastcgi_module and the directives:
27894fastcgi_pass,
27895fastcgi_root,
27896fastcgi_index,
27897fastcgi_params,
27898fastcgi_connect_timeout,
27899fastcgi_send_timeout,
27900fastcgi_read_timeout,
27901fastcgi_send_lowat,
27902fastcgi_header_buffer_size,
27903fastcgi_buffers,
27904fastcgi_busy_buffers_size,
27905fastcgi_temp_path,
27906fastcgi_max_temp_file_size,
27907fastcgi_temp_file_write_size,
27908fastcgi_next_upstream,
27909and fastcgi_x_powered_by.
27910</para>
27911</change>
27912
27913<change type="bugfix">
27914<para lang="ru">
27915ошибка "[alert] zero size buf";
27916ошибка появилась в 0.1.3.
27917</para>
27918<para lang="en">
27919the "[alert] zero size buf" error;
27920the bug had appeared in 0.1.3.
27921</para>
27922</change>
27923
27924<change type="change">
27925<para lang="ru">
27926в директиве proxy_pass нужно обязательно указывать URI после имени хоста.
27927</para>
27928<para lang="en">
27929the URI must be specified after the host name in the proxy_pass directive.
27930</para>
27931</change>
27932
27933<change type="change">
27934<para lang="ru">
27935если в URI встречался символ %3F, то он считался началом строки аргументов.
27936</para>
27937<para lang="en">
27938the %3F symbol in the URI was considered as the argument string start.
27939</para>
27940</change>
27941
27942<change type="feature">
27943<para lang="ru">
27944поддержка unix domain сокетов в модуле ngx_http_proxy_module.
27945</para>
27946<para lang="en">
27947the unix domain sockets support in the ngx_http_proxy_module.
27948</para>
27949</change>
27950
27951<change type="feature">
27952<para lang="ru">
27953директивы ssl_engine и ssl_ciphers.<br/>
27954Спасибо Сергею Скворцову за SSL-акселератор.
27955</para>
27956<para lang="en">
27957the ssl_engine and ssl_ciphers directives.<br/>
27958Thanks to Sergey Skvortsov for SSL-accelerator.
27959</para>
27960</change>
27961
27962</changes>
27963
27964
27965<changes ver="0.1.13" date="2004-12-21">
27966
27967<change type="feature">
27968<para lang="ru">
27969директивы server_names_hash и server_names_hash_threshold.
27970</para>
27971<para lang="en">
27972the server_names_hash and server_names_hash_threshold directives.
27973</para>
27974</change>
27975
27976<change type="bugfix">
27977<para lang="ru">
27978имена *.domain.tld в директиве server_name не работали.
27979</para>
27980<para lang="en">
27981the *.domain.tld names in the "server_name" directive did not work.
27982</para>
27983</change>
27984
27985<change type="bugfix">
27986<para lang="ru">
27987параметр лога %request_length записывал неверную длину.
27988</para>
27989<para lang="en">
27990the %request_length log parameter logged the incorrect length.
27991</para>
27992</change>
27993
27994</changes>
27995
27996
27997<changes ver="0.1.12" date="2004-12-06">
27998
27999<change type="feature">
28000<para lang="ru">
28001параметр лога %request_length.
28002</para>
28003<para lang="en">
28004the %request_length log parameter.
28005</para>
28006</change>
28007
28008<change type="bugfix">
28009<para lang="ru">
28010при использовании /dev/poll, select и poll на платформах, где возможны
28011ложные срабатывания указанных методов, могли быть длительные задержки
28012при обработке запроса по keep-alive соединению.
28013Наблюдалось по крайней мере на Solaris с использованием /dev/poll.
28014</para>
28015<para lang="en">
28016when using the /dev/poll, select and poll on the platforms, where
28017these methods may do the false reports, there may be the long delay when
28018the request was passed via the keep-alive connection.
28019It may be at least on Solaris when using the /dev/poll.
28020</para>
28021</change>
28022
28023<change type="bugfix">
28024<para lang="ru">
28025директива send_lowat игнорируется на Linux, так как Linux не поддерживает
28026опцию SO_SNDLOWAT.
28027</para>
28028<para lang="en">
28029the send_lowat directive is ignored on Linux because Linux does not support
28030the SO_SNDLOWAT option.
28031</para>
28032</change>
28033
28034</changes>
28035
28036
28037<changes ver="0.1.11" date="2004-12-02">
28038
28039<change type="feature">
28040<para lang="ru">
28041директива worker_priority.
28042</para>
28043<para lang="en">
28044the worker_priority directive.
28045</para>
28046</change>
28047
28048<change type="change">
28049<para lang="ru">
28050под FreeBSD директивы tcp_nopush и tcp_nodelay вместе влияют на передачу
28051ответа.
28052</para>
28053<para lang="en">
28054both tcp_nopush and tcp_nodelay directives affect the transferred response.
28055</para>
28056</change>
28057
28058<change type="bugfix">
28059<para lang="ru">
28060nginx не вызывал initgroups().<br/>
28061Спасибо Андрею Ситникову и Андрею Нигматулину.
28062</para>
28063<para lang="en">
28064nginx did not call initgroups().<br/>
28065Thanks to Andrew Sitnikov and Andrei Nigmatulin.
28066</para>
28067</change>
28068
28069<change type="change">
28070<para lang="ru">
28071ngx_http_auto_index_module теперь выдаёт размер файлов в байтах.
28072</para>
28073<para lang="en">
28074now the ngx_http_autoindex_module shows the file size in the bytes.
28075</para>
28076</change>
28077
28078<change type="bugfix">
28079<para lang="ru">
28080ngx_http_auto_index_module возвращал ошибку 500, если в каталоге есть
28081битый symlink.
28082</para>
28083<para lang="en">
28084the ngx_http_autoindex_module returned the 500 error if the broken symlink
28085was in a directory.
28086</para>
28087</change>
28088
28089<change type="bugfix">
28090<para lang="ru">
28091файлы больше 4G не передавались с использованием sendfile.
28092</para>
28093<para lang="en">
28094the files bigger than 4G could not be transferred using sendfile.
28095</para>
28096</change>
28097
28098<change type="bugfix">
28099<para lang="ru">
28100если бэкенд резолвился в несколько адресов и при ожидании от него ответа
28101происходила ошибка, то процесс зацикливался.
28102</para>
28103<para lang="en">
28104if the backend was resolved to several backends and there was an error while
28105the response waiting then process may got caught in an endless loop.
28106</para>
28107</change>
28108
28109<change type="bugfix">
28110<para lang="ru">
28111при использовании метода /dev/poll рабочий процесс мог завершиться
28112с сообщением "unknown cycle".
28113</para>
28114<para lang="en">
28115the worker process may exit with the "unknown cycle" message when the /dev/poll
28116method was used.
28117</para>
28118</change>
28119
28120<change type="bugfix">
28121<para lang="ru">
28122ошибки "close() channel failed".
28123</para>
28124<para lang="en">
28125"close() channel failed" errors.
28126</para>
28127</change>
28128
28129<change type="bugfix">
28130<para lang="ru">
28131автоматическое определение групп nobody и nogroup.
28132</para>
28133<para lang="en">
28134the autodetection of the "nobody" and "nogroup" groups.
28135</para>
28136</change>
28137
28138<change type="bugfix">
28139<para lang="ru">
28140директива send_lowat не работала на Linux.
28141</para>
28142<para lang="en">
28143the send_lowat directive did not work on Linux.
28144</para>
28145</change>
28146
28147<change type="bugfix">
28148<para lang="ru">
28149если в конфигурации не было раздела events, то происходил segmentation fault.
28150</para>
28151<para lang="en">
28152the segmentation fault occurred if there was no events section
28153in configuration.
28154</para>
28155</change>
28156
28157<change type="bugfix">
28158<para lang="ru">
28159nginx не собирался под OpenBSD.
28160</para>
28161<para lang="en">
28162nginx could not be built on OpenBSD.
28163</para>
28164</change>
28165
28166<change type="bugfix">
28167<para lang="ru">
28168двойные слэшы в "://" в URI превращались в ":/".
28169</para>
28170<para lang="en">
28171the double slashes in "://" in the URI were converted to ":/".
28172</para>
28173</change>
28174
28175</changes>
28176
28177
28178<changes ver="0.1.10" date="2004-11-26">
28179
28180<change type="bugfix">
28181<para lang="ru">
28182если в запросе без аргументов есть "//", "/./", "/../" или "%XX",
28183то терялся последний символ в строке запроса;
28184ошибка появилась в 0.1.9.
28185</para>
28186<para lang="en">
28187if the request without arguments contains "//", "/./", "/../" or "%XX"
28188then the last character in the request line was lost;
28189the bug had appeared in 0.1.9.
28190</para>
28191</change>
28192
28193<change type="bugfix">
28194<para lang="ru">
28195исправление в версии 0.1.9 для файлов больше 2G на Linux не работало.
28196</para>
28197<para lang="en">
28198the fix in 0.1.9 for the files bigger than 2G on Linux did not work.
28199</para>
28200</change>
28201
28202</changes>
28203
28204
28205<changes ver="0.1.9" date="2004-11-25">
28206
28207<change type="bugfix">
28208<para lang="ru">
28209если в запросе есть "//", "/./", "/../" или "%XX", то проксируемый
28210запрос передавался без аргументов.
28211</para>
28212<para lang="en">
28213the proxied request was sent without arguments if the request contains
28214"//", "/./", "/../" or "%XX".
28215</para>
28216</change>
28217
28218<change type="bugfix">
28219<para lang="ru">
28220при сжатии больших ответов иногда они передавались не полностью.
28221</para>
28222<para lang="en">
28223the large compressed responses may be transferred not completely.
28224</para>
28225</change>
28226
28227<change type="bugfix">
28228<para lang="ru">
28229не передавались файлы больше 2G на Linux, неподдерживающем sendfile64().
28230</para>
28231<para lang="en">
28232the files bigger than 2G was not transferred on Linux that does not support
28233sendfile64().
28234</para>
28235</change>
28236
28237<change type="bugfix">
28238<para lang="ru">
28239на Linux при конфигурации сборки нужно было обязательно использовать
28240параметр --with-poll_module;
28241ошибка появилась в 0.1.8.
28242</para>
28243<para lang="en">
28244while the build configuration on Linux the --with-poll_module parameter
28245was required;
28246the bug had appeared in 0.1.8.
28247</para>
28248</change>
28249
28250</changes>
28251
28252
28253<changes ver="0.1.8" date="2004-11-20">
28254
28255<change type="bugfix">
28256<para lang="ru">
28257ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов.
28258</para>
28259<para lang="en">
28260in the ngx_http_autoindex_module if the long file names were in the listing.
28261</para>
28262</change>
28263
28264<change type="feature">
28265<para lang="ru">
28266модификатор "^~" в директиве location.
28267</para>
28268<para lang="en">
28269the "^~" modifier in the location directive.
28270</para>
28271</change>
28272
28273<change type="feature">
28274<para lang="ru">
28275директива proxy_max_temp_file_size.
28276</para>
28277<para lang="en">
28278the proxy_max_temp_file_size directive.
28279</para>
28280</change>
28281
28282</changes>
28283
28284
28285<changes ver="0.1.7" date="2004-11-12">
28286
28287<change type="bugfix">
28288<para lang="ru">
28289при использовании sendfile, если передаваемый файл менялся, то мог
28290произойти segmentation fault на FreeBSD;
28291ошибка появилась в 0.1.5.
28292</para>
28293<para lang="en">
28294on FreeBSD the segmentation fault may occur if the size of the transferred
28295file was changed;
28296the bug had appeared in 0.1.5.
28297</para>
28298</change>
28299
28300</changes>
28301
28302
28303<changes ver="0.1.6" date="2004-11-11">
28304
28305<change type="bugfix">
28306<para lang="ru">
28307при некоторых комбинациях директив location c регулярными выражениями
28308использовалась конфигурация не из того location.
28309</para>
28310<para lang="en">
28311some location directive combinations with the regular expressions caused
28312the wrong configuration choose.
28313</para>
28314</change>
28315
28316</changes>
28317
28318
28319<changes ver="0.1.5" date="2004-11-11">
28320
28321<change type="bugfix">
28322<para lang="ru">
28323на Solaris и Linux могло быть очень много сообщений "recvmsg() returned
28324not enough data".
28325</para>
28326<para lang="en">
28327on Solaris and Linux there may be too many "recvmsg() returned not enough data"
28328alerts.
28329</para>
28330</change>
28331
28332<change type="bugfix">
28333<para lang="ru">
28334в режиме прокси без использования sendfile на Solaris возникала
28335ошибка "writev() failed <nobr>(22: Invalid argument)".</nobr>
28336На других платформах, не поддерживающих sendfile, процесс зацикливался.
28337</para>
28338<para lang="en">
28339there were the "writev() failed <nobr>(22: Invalid argument)"</nobr> errors on
28340Solaris in proxy mode without sendfile. On other platforms that do not
28341support sendfile at all the process got caught in an endless loop.
28342</para>
28343</change>
28344
28345<change type="bugfix">
28346<para lang="ru">
28347при использовании sendfile в режиме прокси на Solaris возникал
28348segmentation fault.
28349</para>
28350<para lang="en">
28351segmentation fault on Solaris in proxy mode and using sendfile.
28352</para>
28353</change>
28354
28355<change type="bugfix">
28356<para lang="ru">
28357segmentation fault на Solaris.
28358</para>
28359<para lang="en">
28360segmentation fault on Solaris.
28361</para>
28362</change>
28363
28364<change type="bugfix">
28365<para lang="ru">
28366обновление исполняемого файла на лету не работало на Linux.
28367</para>
28368<para lang="en">
28369on-line upgrade did not work on Linux.
28370</para>
28371</change>
28372
28373<change type="bugfix">
28374<para lang="ru">
28375в списке файлов, выдаваемом модулем ngx_http_autoindex_module,
28376не перекодировались пробелы, кавычки и знаки процента.
28377</para>
28378<para lang="en">
28379the ngx_http_autoindex_module module did not escape the spaces,
28380the quotes, and the percent signs in the directory listing.
28381</para>
28382</change>
28383
28384<change type="change">
28385<para lang="ru">
28386уменьшение операций копирования.
28387</para>
28388<para lang="en">
28389the decrease of the copy operations.
28390</para>
28391</change>
28392
28393<change type="feature">
28394<para lang="ru">
28395директива userid_p3p.
28396</para>
28397<para lang="en">
28398the userid_p3p directive.
28399</para>
28400</change>
28401
28402</changes>
28403
28404
28405<changes ver="0.1.4" date="2004-10-26">
28406
28407<change type="bugfix">
28408<para lang="ru">
28409ошибка в модуле ngx_http_autoindex_module.
28410</para>
28411<para lang="en">
28412in the ngx_http_autoindex_module.
28413</para>
28414</change>
28415
28416</changes>
28417
28418
28419<changes ver="0.1.3" date="2004-10-25">
28420
28421<change type="feature">
28422<para lang="ru">
28423модуль ngx_http_autoindex_module и директива autoindex.
28424</para>
28425<para lang="en">
28426the ngx_http_autoindex_module and the autoindex directive.
28427</para>
28428</change>
28429
28430<change type="feature">
28431<para lang="ru">
28432директива proxy_set_x_url.
28433</para>
28434<para lang="en">
28435the proxy_set_x_url directive.
28436</para>
28437</change>
28438
28439<change type="bugfix">
28440<para lang="ru">
28441модуль проксировании мог привести к зацикливанию, если не использовался
28442sendfile.
28443</para>
28444<para lang="en">
28445proxy module may get caught in an endless loop when sendfile is not used.
28446</para>
28447</change>
28448
28449</changes>
28450
28451
28452<changes ver="0.1.2" date="2004-10-21">
28453
28454<change type="feature">
28455<para lang="ru">
28456параметры --user=USER, --group=GROUP и --with-ld-opt=OPTIONS в configure.
28457</para>
28458<para lang="en">
28459the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure.
28460</para>
28461</change>
28462
28463<change type="feature">
28464<para lang="ru">
28465директива server_name поддерживает *.domain.tld.
28466</para>
28467<para lang="en">
28468the server_name directive supports *.domain.tld.
28469</para>
28470</change>
28471
28472<change type="bugfix">
28473<para lang="ru">
28474улучшена переносимость на неизвестные платформы.
28475</para>
28476<para lang="en">
28477the portability improvements.
28478</para>
28479</change>
28480
28481<change type="bugfix">
28482<para lang="ru">
28483нельзя переконфигурировать nginx, если конфигурационный файл указан
28484в командной строке;
28485ошибка появилась в 0.1.1.
28486</para>
28487<para lang="en">
28488if configuration file was set in command line, the reconfiguration
28489was impossible;
28490the bug had appeared in 0.1.1.
28491</para>
28492</change>
28493
28494<change type="bugfix">
28495<para lang="ru">
28496модуль проксировании мог привести к зацикливанию, если не использовался
28497sendfile.
28498</para>
28499<para lang="en">
28500proxy module may get caught in an endless loop when sendfile is not used.
28501</para>
28502</change>
28503
28504<change type="bugfix">
28505<para lang="ru">
28506при использовании sendfile текст ответа не перекодировался
28507согласно директивам модуля charset;
28508ошибка появилась в 0.1.1.
28509</para>
28510<para lang="en">
28511with sendfile the response was not recoded according to the charset
28512module directives;
28513the bug had appeared in 0.1.1.
28514</para>
28515</change>
28516
28517<change type="bugfix">
28518<para lang="ru">
28519очень редкая ошибка при обработке kqueue.
28520</para>
28521<para lang="en">
28522very seldom bug in the kqueue processing.
28523</para>
28524</change>
28525
28526<change type="bugfix">
28527<para lang="ru">
28528модуль сжатия сжимал уже сжатые ответы, полученные при проксировании.
28529</para>
28530<para lang="en">
28531the gzip module compressed the proxied responses that was already compressed.
28532</para>
28533</change>
28534
28535</changes>
28536
28537
28538<changes ver="0.1.1" date="2004-10-11">
28539
28540<change type="feature">
28541<para lang="ru">
28542директива gzip_types.
28543</para>
28544<para lang="en">
28545the gzip_types directive.
28546</para>
28547</change>
28548
28549<change type="feature">
28550<para lang="ru">
28551директива tcp_nodelay.
28552</para>
28553<para lang="en">
28554the tcp_nodelay directive.
28555</para>
28556</change>
28557
28558<change type="feature">
28559<para lang="ru">
28560директива send_lowat работает не только на платформах, поддерживающих
28561kqueue NOTE_LOWAT, но и на всех, поддерживающих SO_SNDLOWAT.
28562</para>
28563<para lang="en">
28564the send_lowat directive is working not only on OSes that support
28565kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT.
28566</para>
28567</change>
28568
28569<change type="feature">
28570<para lang="ru">
28571эмуляция setproctitle() для Linux и Solaris.
28572</para>
28573<para lang="en">
28574the setproctitle() emulation for Linux and Solaris.
28575</para>
28576</change>
28577
28578<change type="bugfix">
28579<para lang="ru">
28580ошибка при переписывании заголовка "Location" при проксировании.
28581</para>
28582<para lang="en">
28583the "Location" header rewrite bug fixed while the proxying.
28584</para>
28585</change>
28586
28587<change type="bugfix">
28588<para lang="ru">
28589ошибка в модуле ngx_http_chunked_module, приводившая к зацикливанию.
28590</para>
28591<para lang="en">
28592the ngx_http_chunked_module module may get caught in an endless loop.
28593</para>
28594</change>
28595
28596<change type="bugfix">
28597<para lang="ru">
28598ошибки в модуле /dev/poll.
28599</para>
28600<para lang="en">
28601the /dev/poll module bugs fixed.
28602</para>
28603</change>
28604
28605<change type="bugfix">
28606<para lang="ru">
28607при проксировании и использовании временных файлов ответы портились.
28608</para>
28609<para lang="en">
28610the responses were corrupted when the temporary files were used
28611while the proxying.
28612</para>
28613</change>
28614
28615<change type="bugfix">
28616<para lang="ru">
28617бэкенду передавались запросы с неперекодированными символами.
28618</para>
28619<para lang="en">
28620the unescaped requests were passed to the backend.
28621</para>
28622</change>
28623
28624<change type="bugfix">
28625<para lang="ru">
28626на Linux 2.4 при конфигурации сборки нужно было обязательно использовать
28627параметр --with-poll_module.
28628</para>
28629<para lang="en">
28630while the build configuration on Linux 2.4 the --with-poll_module parameter
28631was required.
28632</para>
28633</change>
28634
28635</changes>
28636
28637
28638<changes ver="0.1.0" date="2004-10-04">
28639
28640<change>
28641<para lang="ru">
28642Первая публично доступная версия.
28643</para>
28644<para lang="en">
28645The first public version.
28646</para>
28647</change>
28648
28649</changes>
28650
28651
28652</change_log>
28653