xref: /nginx/docs/xml/nginx/changes.xml (revision 7634:5e8d52bca714)
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.17.9" date="2020-03-03">
9
10<change type="change">
11<para lang="ru">
12теперь nginx не разрешает
13несколько строк "Host" в заголовке запроса.
14</para>
15<para lang="en">
16now nginx does not allow
17several "Host" request header lines.
18</para>
19</change>
20
21<change type="bugfix">
22<para lang="ru">
23nginx игнорировал дополнительные
24строки "Transfer-Encoding" в заголовке запроса.
25</para>
26<para lang="en">
27nginx ignored additional
28"Transfer-Encoding" request header lines.
29</para>
30</change>
31
32<change type="bugfix">
33<para lang="ru">
34утечки сокетов при использовании HTTP/2.
35</para>
36<para lang="en">
37socket leak when using HTTP/2.
38</para>
39</change>
40
41<change type="bugfix">
42<para lang="ru">
43в рабочем процессе мог произойти segmentation fault,
44если использовался OCSP stapling.
45</para>
46<para lang="en">
47a segmentation fault might occur in a worker process
48if OCSP stapling was used.
49</para>
50</change>
51
52<change type="bugfix">
53<para lang="ru">
54в модуле ngx_http_mp4_module.
55</para>
56<para lang="en">
57in the ngx_http_mp4_module.
58</para>
59</change>
60
61<change type="bugfix">
62<para lang="ru">
63при перенаправлении ошибок с кодом 494 с помощью директивы error_page
64nginx возвращал ответ с кодом 494 вместо 400.
65</para>
66<para lang="en">
67nginx used status code 494 instead of 400
68if errors with code 494 were redirected with the "error_page" directive.
69</para>
70</change>
71
72<change type="bugfix">
73<para lang="ru">
74утечки сокетов при использовании подзапросов в модуле njs и директивы aio.
75</para>
76<para lang="en">
77socket leak when using subrequests in the njs module and the "aio" directive.
78</para>
79</change>
80
81</changes>
82
83
84<changes ver="1.17.8" date="2020-01-21">
85
86<change type="feature">
87<para lang="ru">
88директива grpc_pass поддерживает переменные.
89</para>
90<para lang="en">
91variables support in the "grpc_pass" directive.
92</para>
93</change>
94
95<change type="bugfix">
96<para lang="ru">
97при обработке pipelined-запросов по SSL-соединению мог произойти таймаут;
98ошибка появилась в 1.17.5.
99</para>
100<para lang="en">
101a timeout might occur while handling pipelined requests in an SSL connection;
102the bug had appeared in 1.17.5.
103</para>
104</change>
105
106<change type="bugfix">
107<para lang="ru">
108в директиве debug_points при использовании HTTP/2.<br/>
109Спасибо Даниилу Бондареву.
110</para>
111<para lang="en">
112in the "debug_points" directive when using HTTP/2.<br/>
113Thanks to Daniil Bondarev.
114</para>
115</change>
116
117</changes>
118
119
120<changes ver="1.17.7" date="2019-12-24">
121
122<change type="bugfix">
123<para lang="ru">
124на старте или во время переконфигурации мог произойти segmentation fault,
125если в конфигурации использовалась
126директива rewrite с пустой строкой замены.
127</para>
128<para lang="en">
129a segmentation fault might occur on start or during reconfiguration
130if the "rewrite" directive with an empty replacement string
131was used in the configuration.
132</para>
133</change>
134
135<change type="bugfix">
136<para lang="ru">
137в рабочем процессе мог произойти segmentation fault,
138если директива break использовалась совместно с директивой alias
139или директивой proxy_pass с URI.
140</para>
141<para lang="en">
142a segmentation fault might occur in a worker process
143if the "break" directive was used with the "alias" directive
144or with the "proxy_pass" directive with a URI.
145</para>
146</change>
147
148<change type="bugfix">
149<para lang="ru">
150строка Location заголовка ответа могла содержать мусор,
151если URI запроса был изменён на URI, содержащий нулевой символ.
152</para>
153<para lang="en">
154the "Location" response header line might contain garbage
155if the request URI was rewritten to the one containing a null character.
156</para>
157</change>
158
159<change type="bugfix">
160<para lang="ru">
161при возврате перенаправлений с помощью директивы error_page
162запросы с телом обрабатывались некорректно;
163ошибка появилась в 0.7.12.
164</para>
165<para lang="en">
166requests with bodies were handled incorrectly
167when returning redirections with the "error_page" directive;
168the bug had appeared in 0.7.12.
169</para>
170</change>
171
172<change type="bugfix">
173<para lang="ru">
174утечки сокетов при использовании HTTP/2.
175</para>
176<para lang="en">
177socket leak when using HTTP/2.
178</para>
179</change>
180
181<change type="bugfix">
182<para lang="ru">
183при обработке pipelined-запросов по SSL-соединению мог произойти таймаут;
184ошибка появилась в 1.17.5.
185</para>
186<para lang="en">
187a timeout might occur while handling pipelined requests in an SSL connection;
188the bug had appeared in 1.17.5.
189</para>
190</change>
191
192<change type="bugfix">
193<para lang="ru">
194в модуле ngx_http_dav_module.
195</para>
196<para lang="en">
197in the ngx_http_dav_module.
198</para>
199</change>
200
201</changes>
202
203
204<changes ver="1.17.6" date="2019-11-19">
205
206<change type="feature">
207<para lang="ru">
208переменные $proxy_protocol_server_addr и $proxy_protocol_server_port.
209</para>
210<para lang="en">
211the $proxy_protocol_server_addr and $proxy_protocol_server_port variables.
212</para>
213</change>
214
215<change type="feature">
216<para lang="ru">
217директива limit_conn_dry_run.
218</para>
219<para lang="en">
220the "limit_conn_dry_run" directive.
221</para>
222</change>
223
224<change type="feature">
225<para lang="ru">
226переменные $limit_req_status и $limit_conn_status.
227</para>
228<para lang="en">
229the $limit_req_status and $limit_conn_status variables.
230</para>
231</change>
232
233</changes>
234
235
236<changes ver="1.17.5" date="2019-10-22">
237
238<change type="feature">
239<para lang="ru">
240теперь nginx использует вызов ioctl(FIONREAD), если он доступен,
241чтобы избежать чтения из быстрого соединения в течение долгого времени.
242</para>
243<para lang="en">
244now nginx uses ioctl(FIONREAD), if available,
245to avoid reading from a fast connection for a long time.
246</para>
247</change>
248
249<change type="bugfix">
250<para lang="ru">
251неполные закодированные символы в конце URI запроса игнорировались.
252</para>
253<para lang="en">
254incomplete escaped characters at the end of the request URI were ignored.
255</para>
256</change>
257
258<change type="bugfix">
259<para lang="ru">
260"/." и "/.." в конце URI запроса не нормализовывались.
261</para>
262<para lang="en">
263"/." and "/.." at the end of the request URI were not normalized.
264</para>
265</change>
266
267<change type="bugfix">
268<para lang="ru">
269в директиве merge_slashes.
270</para>
271<para lang="en">
272in the "merge_slashes" directive.
273</para>
274</change>
275
276<change type="bugfix">
277<para lang="ru">
278в директиве ignore_invalid_headers.<br/>
279Спасибо Alan Kemp.
280</para>
281<para lang="en">
282in the "ignore_invalid_headers" directive.<br/>
283Thanks to Alan Kemp.
284</para>
285</change>
286
287<change type="bugfix">
288<para lang="ru">
289nginx не собирался с MinGW-w64 gcc 8.1 и новее.
290</para>
291<para lang="en">
292nginx could not be built with MinGW-w64 gcc 8.1 or newer.
293</para>
294</change>
295
296</changes>
297
298
299<changes ver="1.17.4" date="2019-09-24">
300
301<change type="change">
302<para lang="ru">
303улучшено детектирование некорректного поведения клиентов в HTTP/2.
304</para>
305<para lang="en">
306better detection of incorrect client behavior in HTTP/2.
307</para>
308</change>
309
310<change type="change">
311<para lang="ru">
312в обработке непрочитанного тела запроса
313при возврате ошибок в HTTP/2.
314</para>
315<para lang="en">
316in handling of not fully read client request body
317when returning errors in HTTP/2.
318</para>
319</change>
320
321<change type="bugfix">
322<para lang="ru">
323директива worker_shutdown_timeout могла не работать
324при использовании HTTP/2.
325</para>
326<para lang="en">
327the "worker_shutdown_timeout" directive might not work
328when using HTTP/2.
329</para>
330</change>
331
332<change type="bugfix">
333<para lang="ru">
334при использовании HTTP/2 и директивы proxy_request_buffering
335в рабочем процессе мог произойти segmentation fault.
336</para>
337<para lang="en">
338a segmentation fault might occur in a worker process
339when using HTTP/2 and the "proxy_request_buffering" directive.
340</para>
341</change>
342
343<change type="bugfix">
344<para lang="ru">
345на Windows при использовании SSL
346уровень записи в лог ошибки ECONNABORTED был "crit" вместо "error".
347</para>
348<para lang="en">
349the ECONNABORTED error log level was "crit" instead of "error"
350on Windows when using SSL.
351</para>
352</change>
353
354<change type="bugfix">
355<para lang="ru">
356nginx игнорировал лишние данные при использовании chunked transfer encoding.
357</para>
358<para lang="en">
359nginx ignored extra data when using chunked transfer encoding.
360</para>
361</change>
362
363<change type="bugfix">
364<para lang="ru">
365если использовалась директива return и
366при чтении тела запроса возникала ошибка,
367nginx всегда возвращал ошибку 500.
368</para>
369<para lang="en">
370nginx always returned the 500 error
371if the "return" directive was used
372and an error occurred during reading client request body.
373</para>
374</change>
375
376<change type="bugfix">
377<para lang="ru">
378в обработке ошибок выделения памяти.
379</para>
380<para lang="en">
381in memory allocation error handling.
382</para>
383</change>
384
385</changes>
386
387
388<changes ver="1.17.3" date="2019-08-13">
389
390<change type="security">
391<para lang="ru">
392при использовании HTTP/2 клиент мог вызвать
393чрезмерное потребление памяти и ресурсов процессора
394(CVE-2019-9511, CVE-2019-9513, CVE-2019-9516).
395</para>
396<para lang="en">
397when using HTTP/2 a client might cause
398excessive memory consumption and CPU usage
399(CVE-2019-9511, CVE-2019-9513, CVE-2019-9516).
400</para>
401</change>
402
403<change type="bugfix">
404<para lang="ru">
405при использовании сжатия в логах могли появляться сообщения "zero size buf";
406ошибка появилась в 1.17.2.
407</para>
408<para lang="en">
409"zero size buf" alerts might appear in logs when using gzipping;
410the bug had appeared in 1.17.2.
411</para>
412</change>
413
414<change type="bugfix">
415<para lang="ru">
416при использовании директивы resolver в SMTP прокси-сервере
417в рабочем процессе мог произойти segmentation fault.
418</para>
419<para lang="en">
420a segmentation fault might occur in a worker process
421if the "resolver" directive was used in SMTP proxy.
422</para>
423</change>
424
425</changes>
426
427
428<changes ver="1.17.2" date="2019-07-23">
429
430<change type="change">
431<para lang="ru">
432минимальная поддерживаемая версия zlib&mdash;1.2.0.4.<br/>
433Спасибо Илье Леошкевичу.
434</para>
435<para lang="en">
436minimum supported zlib version is 1.2.0.4.<br/>
437Thanks to Ilya Leoshkevich.
438</para>
439</change>
440
441<change type="change">
442<para lang="ru">
443метод $r->internal_redirect() встроенного перла
444теперь ожидает закодированный URI.
445</para>
446<para lang="en">
447the $r->internal_redirect() embedded perl method
448now expects escaped URIs.
449</para>
450</change>
451
452<change type="feature">
453<para lang="ru">
454теперь с помощью метода $r->internal_redirect() встроенного перла
455можно перейти в именованный location.
456</para>
457<para lang="en">
458it is now possible to switch to a named location
459using the $r->internal_redirect() embedded perl method.
460</para>
461</change>
462
463<change type="bugfix">
464<para lang="ru">
465в обработке ошибок во встроенном перле.
466</para>
467<para lang="en">
468in error handling in embedded perl.
469</para>
470</change>
471
472<change type="bugfix">
473<para lang="ru">
474на старте или во время переконфигурации мог произойти segmentation fault,
475если в конфигурации использовалось значение hash bucket size больше 64 килобайт.
476</para>
477<para lang="en">
478a segmentation fault might occur on start or during reconfiguration
479if hash bucket size larger than 64 kilobytes was used in the configuration.
480</para>
481</change>
482
483<change type="bugfix">
484<para lang="ru">
485при использовании методов обработки соединений select, poll и /dev/poll
486nginx мог нагружать процессор во время небуферизованного проксирования
487и при проксировании WebSocket-соединений.
488</para>
489<para lang="en">
490nginx might hog CPU during unbuffered proxying
491and when proxying WebSocket connections
492if the select, poll, or /dev/poll methods were used.
493</para>
494</change>
495
496<change type="bugfix">
497<para lang="ru">
498в модуле ngx_http_xslt_filter_module.
499</para>
500<para lang="en">
501in the ngx_http_xslt_filter_module.
502</para>
503</change>
504
505<change type="bugfix">
506<para lang="ru">
507в модуле ngx_http_ssi_filter_module.
508</para>
509<para lang="en">
510in the ngx_http_ssi_filter_module.
511</para>
512</change>
513
514</changes>
515
516
517<changes ver="1.17.1" date="2019-06-25">
518
519<change type="feature">
520<para lang="ru">
521директива limit_req_dry_run.
522</para>
523<para lang="en">
524the "limit_req_dry_run" directive.
525</para>
526</change>
527
528<change type="feature">
529<para lang="ru">
530при использовании директивы hash в блоке upstream
531пустой ключ хэширования теперь приводит к переключению
532на round-robin балансировку.<br/>
533Спасибо Niklas Keller.
534</para>
535<para lang="en">
536when using the "hash" directive inside the "upstream" block
537an empty hash key now triggers round-robin balancing.<br/>
538Thanks to Niklas Keller.
539</para>
540</change>
541
542<change type="bugfix">
543<para lang="ru">
544в рабочем процессе мог произойти segmentation fault,
545если использовалось кэширование и директива image_filter,
546а ошибки с кодом 415 перенаправлялись с помощью директивы error_page;
547ошибка появилась в 1.11.10.
548</para>
549<para lang="en">
550a segmentation fault might occur in a worker process
551if caching was used along with the "image_filter" directive,
552and errors with code 415 were redirected with the "error_page" directive;
553the bug had appeared in 1.11.10.
554</para>
555</change>
556
557<change type="bugfix">
558<para lang="ru">
559в рабочем процессе мог произойти segmentation fault,
560если использовался встроенный перл;
561ошибка появилась в 1.7.3.
562</para>
563<para lang="en">
564a segmentation fault might occur in a worker process
565if embedded perl was used;
566the bug had appeared in 1.7.3.
567</para>
568</change>
569
570</changes>
571
572
573<changes ver="1.17.0" date="2019-05-21">
574
575<change type="feature">
576<para lang="ru">
577директивы limit_rate и limit_rate_after поддерживают переменные.
578</para>
579<para lang="en">
580variables support in the "limit_rate" and "limit_rate_after" directives.
581</para>
582</change>
583
584<change type="feature">
585<para lang="ru">
586директивы proxy_upload_rate и proxy_download_rate в модуле stream
587поддерживают переменные.
588</para>
589<para lang="en">
590variables support
591in the "proxy_upload_rate" and "proxy_download_rate" directives
592in the stream module.
593</para>
594</change>
595
596<change type="change">
597<para lang="ru">
598минимальная поддерживаемая версия OpenSSL&mdash;0.9.8.
599</para>
600<para lang="en">
601minimum supported OpenSSL version is 0.9.8.
602</para>
603</change>
604
605<change type="change">
606<para lang="ru">
607теперь postpone-фильтр собирается всегда.
608</para>
609<para lang="en">
610now the postpone filter is always built.
611</para>
612</change>
613
614<change type="bugfix">
615<para lang="ru">
616директива include не работала в блоках if и limit_except.
617</para>
618<para lang="en">
619the "include" directive did not work inside the "if" and "limit_except" blocks.
620</para>
621</change>
622
623<change type="bugfix">
624<para lang="ru">
625в обработке byte ranges.
626</para>
627<para lang="en">
628in byte ranges processing.
629</para>
630</change>
631
632</changes>
633
634
635<changes ver="1.15.12" date="2019-04-16">
636
637<change type="bugfix">
638<para lang="ru">
639в рабочем процессе мог произойти segmentation fault,
640если в директивах ssl_certificate или ssl_certificate_key
641использовались переменные
642и был включён OCSP stapling.
643</para>
644<para lang="en">
645a segmentation fault might occur in a worker process
646if variables were used
647in the "ssl_certificate" or "ssl_certificate_key" directives
648and OCSP stapling was enabled.
649</para>
650</change>
651
652</changes>
653
654
655<changes ver="1.15.11" date="2019-04-09">
656
657<change type="bugfix">
658<para lang="ru">
659в директиве ssl_stapling_file на Windows.
660</para>
661<para lang="en">
662in the "ssl_stapling_file" directive on Windows.
663</para>
664</change>
665
666</changes>
667
668
669<changes ver="1.15.10" date="2019-03-26">
670
671<change type="change">
672<para lang="ru">
673теперь при использовании имени хоста в директиве listen
674nginx создаёт listen-сокеты для всех адресов,
675соответствующих этому имени
676(ранее использовался только первый адрес).
677</para>
678<para lang="en">
679when using a hostname in the "listen" directive
680nginx now creates listening sockets
681for all addresses the hostname resolves to
682(previously, only the first address was used).
683</para>
684</change>
685
686<change type="feature">
687<para lang="ru">
688диапазоны портов в директиве listen.
689</para>
690<para lang="en">
691port ranges in the "listen" directive.
692</para>
693</change>
694
695<change type="feature">
696<para lang="ru">
697возможность загрузки SSL-сертификатов и секретных ключей из переменных.
698</para>
699<para lang="en">
700loading of SSL certificates and secret keys from variables.
701</para>
702</change>
703
704<change type="workaround">
705<para lang="ru">
706переменная $ssl_server_name могла быть пустой
707при использовании OpenSSL 1.1.1.
708</para>
709<para lang="en">
710the $ssl_server_name variable might be empty
711when using OpenSSL 1.1.1.
712</para>
713</change>
714
715<change type="bugfix">
716<para lang="ru">
717nginx/Windows не собирался с Visual Studio 2015 и новее;
718ошибка появилась в 1.15.9.
719</para>
720<para lang="en">
721nginx/Windows could not be built with Visual Studio 2015 or newer;
722the bug had appeared in 1.15.9.
723</para>
724</change>
725
726</changes>
727
728
729<changes ver="1.15.9" date="2019-02-26">
730
731<change type="feature">
732<para lang="ru">
733директивы ssl_certificate и ssl_certificate_key
734поддерживают переменные.
735</para>
736<para lang="en">
737variables support
738in the "ssl_certificate" and "ssl_certificate_key" directives.
739</para>
740</change>
741
742<change type="feature">
743<para lang="ru">
744метод poll теперь доступен на Windows
745при использовании Windows Vista и новее.
746</para>
747<para lang="en">
748the "poll" method is now available on Windows
749when using Windows Vista or newer.
750</para>
751</change>
752
753<change type="bugfix">
754<para lang="ru">
755если при использовании метода select на Windows
756происходила ошибка при установлении соединения с бэкендом,
757nginx ожидал истечения таймаута на установление соединения.
758</para>
759<para lang="en">
760if the "select" method was used on Windows
761and an error occurred while establishing a backend connection,
762nginx waited for the connection establishment timeout to expire.
763</para>
764</change>
765
766<change type="bugfix">
767<para lang="ru">
768директивы proxy_upload_rate и proxy_download_rate
769в модуле stream
770работали некорректно при проксировании UDP-пакетов.
771</para>
772<para lang="en">
773the "proxy_upload_rate" and "proxy_download_rate" directives
774in the stream module
775worked incorrectly when proxying UDP datagrams.
776</para>
777</change>
778
779</changes>
780
781
782<changes ver="1.15.8" date="2018-12-25">
783
784<change type="feature">
785<para lang="ru">
786переменная $upstream_bytes_sent.<br/>
787Спасибо Piotr Sikora.
788</para>
789<para lang="en">
790the $upstream_bytes_sent variable.<br/>
791Thanks to Piotr Sikora.
792</para>
793</change>
794
795<change type="feature">
796<para lang="ru">
797новые директивы в скриптах подсветки синтаксиса для vim.<br/>
798Спасибо Геннадию Махомеду.
799</para>
800<para lang="en">
801new directives in vim syntax highlighting scripts.<br/>
802Thanks to Gena Makhomed.
803</para>
804</change>
805
806<change type="bugfix">
807<para lang="ru">
808в директиве proxy_cache_background_update.
809</para>
810<para lang="en">
811in the "proxy_cache_background_update" directive.
812</para>
813</change>
814
815<change type="bugfix">
816<para lang="ru">
817в директиве geo при использовании unix domain listen-сокетов.
818</para>
819<para lang="en">
820in the "geo" directive when using unix domain listen sockets.
821</para>
822</change>
823
824<change type="workaround">
825<para lang="ru">
826при использовании директивы ssl_early_data с OpenSSL
827в логах могли появляться сообщения
828"ignoring stale global SSL error ... bad length".
829</para>
830<para lang="en">
831the "ignoring stale global SSL error ... bad length"
832alerts might appear in logs
833when using the "ssl_early_data" directive with OpenSSL.
834</para>
835</change>
836
837<change type="bugfix">
838<para lang="ru">
839в nginx/Windows.
840</para>
841<para lang="en">
842in nginx/Windows.
843</para>
844</change>
845
846<change type="bugfix">
847<para lang="ru">
848в модуле ngx_http_autoindex_module на 32-битных платформах.
849</para>
850<para lang="en">
851in the ngx_http_autoindex_module on 32-bit platforms.
852</para>
853</change>
854
855</changes>
856
857
858<changes ver="1.15.7" date="2018-11-27">
859
860<change type="feature">
861<para lang="ru">
862директива proxy_requests в модуле stream.
863</para>
864<para lang="en">
865the "proxy_requests" directive in the stream module.
866</para>
867</change>
868
869<change type="feature">
870<para lang="ru">
871параметр "delay" директивы "limit_req".<br/>
872Спасибо Владиславу Шабанову и Петру Щучкину.
873</para>
874<para lang="en">
875the "delay" parameter of the "limit_req" directive.<br/>
876Thanks to Vladislav Shabanov and Peter Shchuchkin.
877</para>
878</change>
879
880<change type="bugfix">
881<para lang="ru">
882утечки памяти в случае ошибок при переконфигурации.
883</para>
884<para lang="en">
885memory leak on errors during reconfiguration.
886</para>
887</change>
888
889<change type="bugfix">
890<para lang="ru">
891в переменных $upstream_response_time, $upstream_connect_time и
892$upstream_header_time.
893</para>
894<para lang="en">
895in the $upstream_response_time, $upstream_connect_time, and
896$upstream_header_time variables.
897</para>
898</change>
899
900<change type="bugfix">
901<para lang="ru">
902в рабочем процессе мог произойти segmentation fault,
903если использовался модуль ngx_http_mp4_module на 32-битных платформах.
904</para>
905<para lang="en">
906a segmentation fault might occur in a worker process
907if the ngx_http_mp4_module was used on 32-bit platforms.
908</para>
909</change>
910
911</changes>
912
913
914<changes ver="1.15.6" date="2018-11-06">
915
916<change type="security">
917<para lang="ru">
918при использовании HTTP/2 клиент мог вызвать
919чрезмерное потреблению памяти (CVE-2018-16843)
920и ресурсов процессора (CVE-2018-16844).
921</para>
922<para lang="en">
923when using HTTP/2 a client might cause
924excessive memory consumption (CVE-2018-16843)
925and CPU usage (CVE-2018-16844).
926</para>
927</change>
928
929<change type="security">
930<para lang="ru">
931при обработке специально созданного mp4-файла модулем ngx_http_mp4_module
932содержимое памяти рабочего процесса могло быть отправлено клиенту
933(CVE-2018-16845).
934</para>
935<para lang="en">
936processing of a specially crafted mp4 file with the ngx_http_mp4_module
937might result in worker process memory disclosure
938(CVE-2018-16845).
939</para>
940</change>
941
942<change type="feature">
943<para lang="ru">
944директивы proxy_socket_keepalive, fastcgi_socket_keepalive,
945grpc_socket_keepalive, memcached_socket_keepalive,
946scgi_socket_keepalive и uwsgi_socket_keepalive.
947</para>
948<para lang="en">
949the "proxy_socket_keepalive", "fastcgi_socket_keepalive",
950"grpc_socket_keepalive", "memcached_socket_keepalive",
951"scgi_socket_keepalive", and "uwsgi_socket_keepalive" directives.
952</para>
953</change>
954
955<change type="bugfix">
956<para lang="ru">
957если nginx был собран с OpenSSL 1.1.0, а использовался с OpenSSL 1.1.1,
958протокол TLS 1.3 всегда был разрешён.
959</para>
960<para lang="en">
961if nginx was built with OpenSSL 1.1.0 and used with OpenSSL 1.1.1,
962the TLS 1.3 protocol was always enabled.
963</para>
964</change>
965
966<change type="bugfix">
967<para lang="ru">
968при работе с gRPC-бэкендами могло расходоваться большое количество памяти.
969</para>
970<para lang="en">
971working with gRPC backends might result in excessive memory consumption.
972</para>
973</change>
974
975</changes>
976
977
978<changes ver="1.15.5" date="2018-10-02">
979
980<change type="bugfix">
981<para lang="ru">
982при использовании OpenSSL 1.1.0h и новее
983в рабочем процессе мог произойти segmentation fault;
984ошибка появилась в 1.15.4.
985</para>
986<para lang="en">
987a segmentation fault might occur in a worker process
988when using OpenSSL 1.1.0h or newer;
989the bug had appeared in 1.15.4.
990</para>
991</change>
992
993<change type="bugfix">
994<para lang="ru">
995незначительных потенциальных ошибок.
996</para>
997<para lang="en">
998of minor potential bugs.
999</para>
1000</change>
1001
1002</changes>
1003
1004
1005<changes ver="1.15.4" date="2018-09-25">
1006
1007<change type="feature">
1008<para lang="ru">
1009теперь директиву ssl_early_data можно использовать с OpenSSL.
1010</para>
1011<para lang="en">
1012now the "ssl_early_data" directive can be used with OpenSSL.
1013</para>
1014</change>
1015
1016<change type="bugfix">
1017<para lang="ru">
1018в модуле ngx_http_uwsgi_module.<br/>
1019Спасибо Chris Caputo.
1020</para>
1021<para lang="en">
1022in the ngx_http_uwsgi_module.<br/>
1023Thanks to Chris Caputo.
1024</para>
1025</change>
1026
1027<change type="bugfix">
1028<para lang="ru">
1029соединения к некоторым gRPC-бэкендам могли не кэшироваться
1030при использовании директивы keepalive.
1031</para>
1032<para lang="en">
1033connections with some gRPC backends might not be cached
1034when using the "keepalive" directive.
1035</para>
1036</change>
1037
1038<change type="bugfix">
1039<para lang="ru">
1040при использовании директивы error_page для перенаправления ошибок,
1041возникающих на ранних этапах обработки запроса,
1042в частности ошибок с кодом 400,
1043могла происходить утечка сокетов.
1044</para>
1045<para lang="en">
1046a socket leak might occur
1047when using the "error_page" directive
1048to redirect early request processing errors,
1049notably errors with code 400.
1050</para>
1051</change>
1052
1053<change type="bugfix">
1054<para lang="ru">
1055директива return при возврате ошибок не изменяла код ответа,
1056если запрос был перенаправлен с помощью директивы error_page.
1057</para>
1058<para lang="en">
1059the "return" directive did not change the response code when returning errors
1060if the request was redirected by the "error_page" directive.
1061</para>
1062</change>
1063
1064<change type="bugfix">
1065<para lang="ru">
1066стандартные сообщения об ошибках и ответы модуля ngx_http_autoindex_module
1067содержали атрибут bgcolor, что могло приводить к их некорректному отображению
1068при использовании пользовательских настроек цветов в браузерах.<br/>
1069Спасибо Nova DasSarma.
1070</para>
1071<para lang="en">
1072standard error pages and responses of the ngx_http_autoindex_module module
1073used the "bgcolor" attribute, and might be displayed incorrectly when using
1074custom color settings in browsers.<br/>
1075Thanks to Nova DasSarma.
1076</para>
1077</change>
1078
1079<change type="change">
1080<para lang="ru">
1081уровень логгирования ошибок SSL "no suitable key share" и
1082"no suitable signature algorithm"
1083понижен с уровня crit до info.
1084</para>
1085<para lang="en">
1086the logging level of the "no suitable key share" and
1087"no suitable signature algorithm" SSL errors
1088has been lowered from "crit" to "info".
1089</para>
1090</change>
1091
1092</changes>
1093
1094
1095<changes ver="1.15.3" date="2018-08-28">
1096
1097<change type="feature">
1098<para lang="ru">
1099теперь TLSv1.3 можно использовать с BoringSSL.
1100</para>
1101<para lang="en">
1102now TLSv1.3 can be used with BoringSSL.
1103</para>
1104</change>
1105
1106<change type="feature">
1107<para lang="ru">
1108директива ssl_early_data,
1109сейчас доступна при использовании BoringSSL.
1110</para>
1111<para lang="en">
1112the "ssl_early_data" directive,
1113currently available with BoringSSL.
1114</para>
1115</change>
1116
1117<change type="feature">
1118<para lang="ru">
1119директивы keepalive_timeout и keepalive_requests
1120в блоке upstream.
1121</para>
1122<para lang="en">
1123the "keepalive_timeout" and "keepalive_requests" directives
1124in the "upstream" block.
1125</para>
1126</change>
1127
1128<change type="bugfix">
1129<para lang="ru">
1130модуль ngx_http_dav_module
1131при копировании файла поверх существующего файла с помощью метода COPY
1132не обнулял целевой файл.
1133</para>
1134<para lang="en">
1135the ngx_http_dav_module
1136did not truncate destination file when copying a file over an existing one
1137with the COPY method.
1138</para>
1139</change>
1140
1141<change type="bugfix">
1142<para lang="ru">
1143модуль ngx_http_dav_module
1144при перемещении файла между файловыми системами с помощью метода MOVE
1145устанавливал нулевые права доступа на результирующий файл
1146и не сохранял время изменения файла.
1147</para>
1148<para lang="en">
1149the ngx_http_dav_module
1150used zero access rights on the destination file
1151and did not preserve file modification time
1152when moving a file between different file systems with the MOVE method.
1153</para>
1154</change>
1155
1156<change type="bugfix">
1157<para lang="ru">
1158модуль ngx_http_dav_module
1159при копировании файла с помощью метода COPY
1160для результирующего файла использовал права доступа по умолчанию.
1161</para>
1162<para lang="en">
1163the ngx_http_dav_module
1164used default access rights
1165when copying a file with the COPY method.
1166</para>
1167</change>
1168
1169<change type="workaround">
1170<para lang="ru">
1171некоторые клиенты могли не работать при использовании HTTP/2;
1172ошибка появилась в 1.13.5.
1173</para>
1174<para lang="en">
1175some clients might not work when using HTTP/2;
1176the bug had appeared in 1.13.5.
1177</para>
1178</change>
1179
1180<change type="bugfix">
1181<para lang="ru">
1182nginx не собирался с LibreSSL 2.8.0.
1183</para>
1184<para lang="en">
1185nginx could not be built with LibreSSL 2.8.0.
1186</para>
1187</change>
1188
1189</changes>
1190
1191
1192<changes ver="1.15.2" date="2018-07-24">
1193
1194<change type="feature">
1195<para lang="ru">
1196переменная $ssl_preread_protocol
1197в модуле ngx_stream_ssl_preread_module.
1198</para>
1199<para lang="en">
1200the $ssl_preread_protocol variable
1201in the ngx_stream_ssl_preread_module.
1202</para>
1203</change>
1204
1205<change type="feature">
1206<para lang="ru">
1207теперь при использовании директивы reset_timedout_connection
1208nginx сбрасывает соединения, закрываемые с кодом 444.
1209</para>
1210<para lang="en">
1211now when using the "reset_timedout_connection" directive
1212nginx will reset connections being closed with the 444 code.
1213</para>
1214</change>
1215
1216<change type="change">
1217<para lang="ru">
1218уровень логгирования ошибок SSL "http request", "https proxy request",
1219"unsupported protocol" и "version too low"
1220понижен с уровня crit до info.
1221</para>
1222<para lang="en">
1223a logging level of the "http request", "https proxy request",
1224"unsupported protocol", and "version too low" SSL errors
1225has been lowered from "crit" to "info".
1226</para>
1227</change>
1228
1229<change type="bugfix">
1230<para lang="ru">
1231запросы к DNS-серверу не отправлялись повторно,
1232если при первой попытке отправки происходила ошибка.
1233</para>
1234<para lang="en">
1235DNS requests were not resent
1236if initial sending of a request failed.
1237</para>
1238</change>
1239
1240<change type="bugfix">
1241<para lang="ru">
1242параметр reuseport директивы listen игнорировался,
1243если количество рабочих процессов было задано после директивы listen.
1244</para>
1245<para lang="en">
1246the "reuseport" parameter of the "listen" directive was ignored
1247if the number of worker processes was specified after the "listen" directive.
1248</para>
1249</change>
1250
1251<change type="bugfix">
1252<para lang="ru">
1253при использовании OpenSSL 1.1.0 и новее
1254директиву ssl_prefer_server_ciphers нельзя было выключить
1255в виртуальном сервере, если она была включена в сервере по умолчанию.
1256</para>
1257<para lang="en">
1258when using OpenSSL 1.1.0 or newer
1259it was not possible to switch off "ssl_prefer_server_ciphers" in
1260a virtual server if it was switched on in the default server.
1261</para>
1262</change>
1263
1264<change type="bugfix">
1265<para lang="ru">
1266повторное использование SSL-сессий к бэкендам
1267не работало с протоколом TLS 1.3.
1268</para>
1269<para lang="en">
1270SSL session reuse with upstream servers
1271did not work with the TLS 1.3 protocol.
1272</para>
1273</change>
1274
1275</changes>
1276
1277
1278<changes ver="1.15.1" date="2018-07-03">
1279
1280<change type="feature">
1281<para lang="ru">
1282директива random в блоке upstream.
1283</para>
1284<para lang="en">
1285the "random" directive inside the "upstream" block.
1286</para>
1287</change>
1288
1289<change type="feature">
1290<para lang="ru">
1291улучшена производительность при использовании директив hash и ip_hash
1292совместно с директивой zone.
1293</para>
1294<para lang="en">
1295improved performance when using the "hash" and "ip_hash" directives
1296with the "zone" directive.
1297</para>
1298</change>
1299
1300<change type="feature">
1301<para lang="ru">
1302параметр reuseport директивы listen
1303теперь использует SO_REUSEPORT_LB на FreeBSD 12.
1304</para>
1305<para lang="en">
1306the "reuseport" parameter of the "listen" directive
1307now uses SO_REUSEPORT_LB on FreeBSD 12.
1308</para>
1309</change>
1310
1311<change type="bugfix">
1312<para lang="ru">
1313HTTP/2 server push не работал, если SSL терминировался прокси-сервером
1314перед nginx'ом.
1315</para>
1316<para lang="en">
1317HTTP/2 server push did not work if SSL was terminated by a proxy server
1318in front of nginx.
1319</para>
1320</change>
1321
1322<change type="bugfix">
1323<para lang="ru">
1324директива tcp_nopush всегда использовалась для соединений к бэкендам.
1325</para>
1326<para lang="en">
1327the "tcp_nopush" directive was always used on backend connections.
1328</para>
1329</change>
1330
1331<change type="bugfix">
1332<para lang="ru">
1333при отправке сохранённого на диск тела запроса на gRPC-бэкенд
1334могли возникать ошибки.
1335</para>
1336<para lang="en">
1337sending a disk-buffered request body to a gRPC backend
1338might fail.
1339</para>
1340</change>
1341
1342</changes>
1343
1344
1345<changes ver="1.15.0" date="2018-06-05">
1346
1347<change type="change">
1348<para lang="ru">
1349директива "ssl" теперь считается устаревшей;
1350вместо неё следует использовать параметр ssl директивы listen.
1351</para>
1352<para lang="en">
1353the "ssl" directive is deprecated;
1354the "ssl" parameter of the "listen" directive should be used instead.
1355</para>
1356</change>
1357
1358<change type="change">
1359<para lang="ru">
1360теперь при использовании директивы listen с параметром ssl
1361nginx определяет отсутствие SSL-сертификатов при тестировании конфигурации.
1362</para>
1363<para lang="en">
1364now nginx detects missing SSL certificates during configuration testing
1365when using the "ssl" parameter of the "listen" directive.
1366</para>
1367</change>
1368
1369<change type="feature">
1370<para lang="ru">
1371теперь модуль stream умеет обрабатывать
1372несколько входящих UDP-пакетов от клиента в рамках одной сессии.
1373</para>
1374<para lang="en">
1375now the stream module can handle
1376multiple incoming UDP datagrams from a client within a single session.
1377</para>
1378</change>
1379
1380<change type="bugfix">
1381<para lang="ru">
1382в директиве proxy_cache_valid
1383можно было указать некорректный код ответа.
1384</para>
1385<para lang="en">
1386it was possible to specify an incorrect response code
1387in the "proxy_cache_valid" directive.
1388</para>
1389</change>
1390
1391<change type="bugfix">
1392<para lang="ru">
1393nginx не собирался gcc 8.1.
1394</para>
1395<para lang="en">
1396nginx could not be built by gcc 8.1.
1397</para>
1398</change>
1399
1400<change type="bugfix">
1401<para lang="ru">
1402логгирование в syslog останавливалось при изменении локального IP-адреса.
1403</para>
1404<para lang="en">
1405logging to syslog stopped on local IP address changes.
1406</para>
1407</change>
1408
1409<change type="bugfix">
1410<para lang="ru">
1411nginx не собирался компилятором clang, если был установлен CUDA SDK;
1412ошибка появилась в 1.13.8.
1413</para>
1414<para lang="en">
1415nginx could not be built by clang with CUDA SDK installed;
1416the bug had appeared in 1.13.8.
1417</para>
1418</change>
1419
1420<change type="bugfix">
1421<para lang="ru">
1422при использовании unix domain listen-сокетов на FreeBSD
1423в процессе обновления исполняемого файла
1424в логе могли появляться сообщения "getsockopt(TCP_FASTOPEN) ... failed".
1425</para>
1426<para lang="en">
1427"getsockopt(TCP_FASTOPEN) ... failed" messages might appear in logs
1428during binary upgrade
1429when using unix domain listen sockets on FreeBSD.
1430</para>
1431</change>
1432
1433<change type="bugfix">
1434<para lang="ru">
1435nginx не собирался на Fedora 28 Linux.
1436</para>
1437<para lang="en">
1438nginx could not be built on Fedora 28 Linux.
1439</para>
1440</change>
1441
1442<change type="bugfix">
1443<para lang="ru">
1444при использовании директивы limit_req
1445заданная скорость обработки запросов могла не соблюдаться.
1446</para>
1447<para lang="en">
1448request processing rate might exceed configured rate
1449when using the "limit_req" directive.
1450</para>
1451</change>
1452
1453<change type="bugfix">
1454<para lang="ru">
1455в обработке адресов клиентов при использовании unix domain listen-сокетов
1456для работы с датаграммами на Linux.
1457</para>
1458<para lang="en">
1459in handling of client addresses when using unix domain listen sockets
1460to work with datagrams on Linux.
1461</para>
1462</change>
1463
1464<change type="bugfix">
1465<para lang="ru">
1466в обработке ошибок выделения памяти.
1467</para>
1468<para lang="en">
1469in memory allocation error handling.
1470</para>
1471</change>
1472
1473</changes>
1474
1475
1476<changes ver="1.13.12" date="2018-04-10">
1477
1478<change type="bugfix">
1479<para lang="ru">
1480при возврате большого ответа
1481соединения с gRPC-бэкендами могли неожиданно закрываться.
1482</para>
1483<para lang="en">
1484connections with gRPC backends might be closed unexpectedly
1485when returning a large response.
1486</para>
1487</change>
1488
1489</changes>
1490
1491
1492<changes ver="1.13.11" date="2018-04-03">
1493
1494<change type="feature">
1495<para lang="ru">
1496параметр proxy_protocol директивы listen
1497теперь поддерживает протокол PROXY версии 2.
1498</para>
1499<para lang="en">
1500the "proxy_protocol" parameter of the "listen" directive
1501now supports the PROXY protocol version 2.
1502</para>
1503</change>
1504
1505<change type="bugfix">
1506<para lang="ru">
1507nginx не собирался с OpenSSL 1.1.1 статически на Linux.
1508</para>
1509<para lang="en">
1510nginx could not be built with OpenSSL 1.1.1 statically on Linux.
1511</para>
1512</change>
1513
1514<change type="bugfix">
1515<para lang="ru">
1516в параметрах http_404, http_500 и им подобных
1517директивы proxy_next_upstream.
1518</para>
1519<para lang="en">
1520in the "http_404", "http_500", etc. parameters
1521of the "proxy_next_upstream" directive.
1522</para>
1523</change>
1524
1525</changes>
1526
1527
1528<changes ver="1.13.10" date="2018-03-20">
1529
1530<change type="feature">
1531<para lang="ru">
1532теперь параметр set в SSI-директиве include
1533позволяет сохранять в переменную любые ответы;
1534максимальный размер ответа задаётся директивой subrequest_output_buffer_size.
1535</para>
1536<para lang="en">
1537the "set" parameter of the "include" SSI directive now allows
1538writing arbitrary responses to a variable;
1539the "subrequest_output_buffer_size" directive defines maximum response size.
1540</para>
1541</change>
1542
1543<change type="feature">
1544<para lang="ru">
1545теперь nginx использует вызов clock_gettime(CLOCK_MONOTONIC), если он доступен,
1546что позволяет избежать некорректного срабатывания таймаутов
1547при изменениях системного времени.
1548</para>
1549<para lang="en">
1550now nginx uses clock_gettime(CLOCK_MONOTONIC) if available,
1551to avoid timeouts being incorrectly triggered
1552on system time changes.
1553</para>
1554</change>
1555
1556<change type="feature">
1557<para lang="ru">
1558параметр "escape=none" директивы log_format.<br/>
1559Спасибо Johannes Baiter и Calin Don.
1560</para>
1561<para lang="en">
1562the "escape=none" parameter of the "log_format" directive.<br/>
1563Thanks to Johannes Baiter and Calin Don.
1564</para>
1565</change>
1566
1567<change type="feature">
1568<para lang="ru">
1569переменная $ssl_preread_alpn_protocols
1570в модуле ngx_stream_ssl_preread_module.
1571</para>
1572<para lang="en">
1573the $ssl_preread_alpn_protocols variable
1574in the ngx_stream_ssl_preread_module.
1575</para>
1576</change>
1577
1578<change type="feature">
1579<para lang="ru">
1580модуль ngx_http_grpc_module.
1581</para>
1582<para lang="en">
1583the ngx_http_grpc_module.
1584</para>
1585</change>
1586
1587<change type="bugfix">
1588<para lang="ru">
1589в обработке ошибок выделения памяти в директиве geo.
1590</para>
1591<para lang="en">
1592in memory allocation error handling in the "geo" directive.
1593</para>
1594</change>
1595
1596<change type="bugfix">
1597<para lang="ru">
1598при использовании переменных в директиве auth_basic_user_file
1599в лог мог выводиться символ '\0'.<br/>
1600Спасибо Вадиму Филимонову.
1601</para>
1602<para lang="en">
1603when using variables in the "auth_basic_user_file" directive
1604a null character might appear in logs.<br/>
1605Thanks to Vadim Filimonov.
1606</para>
1607</change>
1608
1609</changes>
1610
1611
1612<changes ver="1.13.9" date="2018-02-20">
1613
1614<change type="feature">
1615<para lang="ru">
1616поддержка HTTP/2 server push;
1617директивы http2_push и http2_push_preload.
1618</para>
1619<para lang="en">
1620HTTP/2 server push support;
1621the "http2_push" and "http2_push_preload" directives.
1622</para>
1623</change>
1624
1625<change type="bugfix">
1626<para lang="ru">
1627при использовании кэша
1628в логах могли появляться сообщения "header already sent";
1629ошибка появилась в 1.9.13.
1630</para>
1631<para lang="en">
1632"header already sent" alerts might appear in logs
1633when using cache;
1634the bug had appeared in 1.9.13.
1635</para>
1636</change>
1637
1638<change type="bugfix">
1639<para lang="ru">
1640при использовании директивы ssl_verify_client
1641в рабочем процессе мог произойти segmentation fault,
1642если в виртуальном сервере не был указан SSL-сертификат.
1643</para>
1644<para lang="en">
1645a segmentation fault might occur in a worker process
1646if the "ssl_verify_client" directive was used
1647and no SSL certificate was specified in a virtual server.
1648</para>
1649</change>
1650
1651<change type="bugfix">
1652<para lang="ru">
1653в модуле ngx_http_v2_module.
1654</para>
1655<para lang="en">
1656in the ngx_http_v2_module.
1657</para>
1658</change>
1659
1660<change type="bugfix">
1661<para lang="ru">
1662в модуле ngx_http_dav_module.
1663</para>
1664<para lang="en">
1665in the ngx_http_dav_module.
1666</para>
1667</change>
1668
1669</changes>
1670
1671
1672<changes ver="1.13.8" date="2017-12-26">
1673
1674<change type="feature">
1675<para lang="ru">
1676теперь при использовании параметра transparent директив proxy_bind,
1677fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind
1678nginx автоматически сохраняет capability CAP_NET_RAW в рабочих процессах.
1679</para>
1680<para lang="en">
1681now nginx automatically preserves the CAP_NET_RAW capability in worker processes
1682when using the "transparent" parameter of the "proxy_bind",
1683"fastcgi_bind", "memcached_bind", "scgi_bind", and "uwsgi_bind" directives.
1684</para>
1685</change>
1686
1687<change type="feature">
1688<para lang="ru">
1689улучшения в определении размера строки кэша процессора.<br/>
1690Спасибо Debayan Ghosh.
1691</para>
1692<para lang="en">
1693improved CPU cache line size detection.<br/>
1694Thanks to Debayan Ghosh.
1695</para>
1696</change>
1697
1698<change type="feature">
1699<para lang="ru">
1700новые директивы в скриптах подсветки синтаксиса для vim.<br/>
1701Спасибо Геннадию Махомеду.
1702</para>
1703<para lang="en">
1704new directives in vim syntax highlighting scripts.<br/>
1705Thanks to Gena Makhomed.
1706</para>
1707</change>
1708
1709<change type="bugfix">
1710<para lang="ru">
1711процедура обновления исполняемого файла не работала,
1712если после завершения родительского процесса
1713новым родительским процессом nginx'а становился процесс с PID, отличным от 1.
1714</para>
1715<para lang="en">
1716binary upgrade refused to work
1717if nginx was re-parented to a process with PID different from 1
1718after its parent process has finished.
1719</para>
1720</change>
1721
1722<change type="bugfix">
1723<para lang="ru">
1724модуль ngx_http_autoindex_module неправильно обрабатывал запросы с телом.
1725</para>
1726<para lang="en">
1727the ngx_http_autoindex_module incorrectly handled requests with bodies.
1728</para>
1729</change>
1730
1731<change type="bugfix">
1732<para lang="ru">
1733в директиве proxy_limit_rate при использовании с директивой keepalive.
1734</para>
1735<para lang="en">
1736in the "proxy_limit_rate" directive when used with the "keepalive" directive.
1737</para>
1738</change>
1739
1740<change type="bugfix">
1741<para lang="ru">
1742при использовании "proxy_buffering off" часть ответа могла буферизироваться,
1743если клиентское соединение использовало SSL.<br/>
1744Спасибо Patryk Lesiewicz.
1745</para>
1746<para lang="en">
1747some parts of a response might be buffered when using "proxy_buffering off"
1748if the client connection used SSL.<br/>
1749Thanks to Patryk Lesiewicz.
1750</para>
1751</change>
1752
1753<change type="bugfix">
1754<para lang="ru">
1755в директиве proxy_cache_background_update.
1756</para>
1757<para lang="en">
1758in the "proxy_cache_background_update" directive.
1759</para>
1760</change>
1761
1762<change type="bugfix">
1763<para lang="ru">
1764переменную вида "${name}" с именем в фигурных скобках
1765нельзя было использовать в начале параметра
1766не заключив весь параметр в кавычки.
1767</para>
1768<para lang="en">
1769it was not possible to start a parameter
1770with a variable in the "${name}" form with the name in curly brackets
1771without enclosing the parameter into single or double quotes.
1772</para>
1773</change>
1774
1775</changes>
1776
1777
1778<changes ver="1.13.7" date="2017-11-21">
1779
1780<change type="bugfix">
1781<para lang="ru">
1782в переменной $upstream_status.
1783</para>
1784<para lang="en">
1785in the $upstream_status variable.
1786</para>
1787</change>
1788
1789<change type="bugfix">
1790<para lang="ru">
1791в рабочем процессе мог произойти segmentation fault,
1792если бэкенд возвращал ответ "101 Switching Protocols" на подзапрос.
1793</para>
1794<para lang="en">
1795a segmentation fault might occur in a worker process
1796if a backend returned a "101 Switching Protocols" response to a subrequest.
1797</para>
1798</change>
1799
1800<change type="bugfix">
1801<para lang="ru">
1802если при переконфигурации изменялся размер зоны разделяемой памяти
1803и переконфигурация завершалась неудачно,
1804то в главном процессе происходил segmentation fault.
1805</para>
1806<para lang="en">
1807a segmentation fault occurred in a master process
1808if a shared memory zone size was changed during a reconfiguration
1809and the reconfiguration failed.
1810</para>
1811</change>
1812
1813<change type="bugfix">
1814<para lang="ru">
1815в модуле ngx_http_fastcgi_module.
1816</para>
1817<para lang="en">
1818in the ngx_http_fastcgi_module.
1819</para>
1820</change>
1821
1822<change type="bugfix">
1823<para lang="ru">
1824nginx возвращал ошибку 500,
1825если в директиве xslt_stylesheet
1826были заданы параметры без использования переменных.
1827</para>
1828<para lang="en">
1829nginx returned the 500 error
1830if parameters without variables were specified
1831in the "xslt_stylesheet" directive.
1832</para>
1833</change>
1834
1835<change type="workaround">
1836<para lang="ru">
1837при использовании варианта библиотеки zlib от Intel
1838в лог писались сообщения "gzip filter failed to use preallocated memory".
1839</para>
1840<para lang="en">
1841"gzip filter failed to use preallocated memory" alerts appeared in logs
1842when using a zlib library variant from Intel.
1843</para>
1844</change>
1845
1846<change type="bugfix">
1847<para lang="ru">
1848директива worker_shutdown_timeout не работала
1849при использовании почтового прокси-сервера
1850и при проксировании WebSocket-соединений.
1851</para>
1852<para lang="en">
1853the "worker_shutdown_timeout" directive did not work
1854when using mail proxy and when proxying WebSocket connections.
1855</para>
1856</change>
1857
1858</changes>
1859
1860
1861<changes ver="1.13.6" date="2017-10-10">
1862
1863<change type="bugfix">
1864<para lang="ru">
1865при использовании директивы ssl_preread
1866в модуле stream не работало переключение на следующий бэкенд.
1867</para>
1868<para lang="en">
1869switching to the next upstream server in the stream module did not work
1870when using the "ssl_preread" directive.
1871</para>
1872</change>
1873
1874<change type="bugfix">
1875<para lang="ru">
1876в модуле ngx_http_v2_module.<br/>
1877Спасибо Piotr Sikora.
1878</para>
1879<para lang="en">
1880in the ngx_http_v2_module.<br/>
1881Thanks to Piotr Sikora.
1882</para>
1883</change>
1884
1885<change type="bugfix">
1886<para lang="ru">
1887nginx не поддерживал даты после 2038 года
1888на 32-битных платформах с 64-битным time_t.
1889</para>
1890<para lang="en">
1891nginx did not support dates after the year 2038
1892on 32-bit platforms with 64-bit time_t.
1893</para>
1894</change>
1895
1896<change type="bugfix">
1897<para lang="ru">
1898в обработке дат до 1970 года и после 10000 года.
1899</para>
1900<para lang="en">
1901in handling of dates prior to the year 1970 and after the year 10000.
1902</para>
1903</change>
1904
1905<change type="bugfix">
1906<para lang="ru">
1907в модуле stream таймауты ожидания UDP-пакетов от бэкендов
1908не логгировались или логгировались на уровне info вместо error.
1909</para>
1910<para lang="en">
1911in the stream module timeouts waiting for UDP datagrams from upstream servers
1912were not logged or logged at the "info" level instead of "error".
1913</para>
1914</change>
1915
1916<change type="bugfix">
1917<para lang="ru">
1918при использовании HTTP/2 nginx мог вернуть ошибку 400,
1919не указав в логе причину.
1920</para>
1921<para lang="en">
1922when using HTTP/2 nginx might return the 400 response
1923without logging the reason.
1924</para>
1925</change>
1926
1927<change type="bugfix">
1928<para lang="ru">
1929в обработке повреждённых файлов кэша.
1930</para>
1931<para lang="en">
1932in processing of corrupted cache files.
1933</para>
1934</change>
1935
1936<change type="bugfix">
1937<para lang="ru">
1938при кэшировании ошибок, перехваченных error_page,
1939не учитывались заголовки управления кэшированием.
1940</para>
1941<para lang="en">
1942cache control headers were ignored
1943when caching errors intercepted by error_page.
1944</para>
1945</change>
1946
1947<change type="bugfix">
1948<para lang="ru">
1949при использовании HTTP/2 тело запроса могло быть повреждено.
1950</para>
1951<para lang="en">
1952when using HTTP/2 client request body might be corrupted.
1953</para>
1954</change>
1955
1956<change type="bugfix">
1957<para lang="ru">
1958в обработке адресов клиентов при использовании unix domain сокетов.
1959</para>
1960<para lang="en">
1961in handling of client addresses when using unix domain sockets.
1962</para>
1963</change>
1964
1965<change type="bugfix">
1966<para lang="ru">
1967при использовании директивы "hash ... consistent" в блоке upstream
1968nginx нагружал процессор, если использовались большие веса
1969и все или почти все бэкенды были недоступны.
1970</para>
1971<para lang="en">
1972nginx hogged CPU
1973when using the "hash ... consistent" directive in the upstream block
1974if large weights were used and all or most of the servers were unavailable.
1975</para>
1976</change>
1977
1978</changes>
1979
1980
1981<changes ver="1.13.5" date="2017-09-05">
1982
1983<change type="feature">
1984<para lang="ru">
1985переменная $ssl_client_escaped_cert.
1986</para>
1987<para lang="en">
1988the $ssl_client_escaped_cert variable.
1989</para>
1990</change>
1991
1992<change type="bugfix">
1993<para lang="ru">
1994директива ssl_session_ticket_key и параметр include директивы geo
1995не работали на Windows.
1996</para>
1997<para lang="en">
1998the "ssl_session_ticket_key" directive and
1999the "include" parameter of the "geo" directive did not work on Windows.
2000</para>
2001</change>
2002
2003<change type="bugfix">
2004<para lang="ru">
2005на 32-битных платформах
2006при запросе более 4 гигабайт с помощью нескольких диапазонов
2007возвращалась некорректная длина ответа.
2008</para>
2009<para lang="en">
2010incorrect response length was returned
2011on 32-bit platforms when requesting more than 4 gigabytes
2012with multiple ranges.
2013</para>
2014</change>
2015
2016<change type="bugfix">
2017<para lang="ru">
2018директива "expires modified" и
2019обработка строки If-Range заголовка запроса
2020не учитывали время последнего изменения ответа,
2021если использовалось проксирование без кэширования.
2022</para>
2023<para lang="en">
2024the "expires modified" directive and
2025processing of the "If-Range" request header line
2026did not use the response last modification time
2027if proxying without caching was used.
2028</para>
2029</change>
2030
2031</changes>
2032
2033
2034<changes ver="1.13.4" date="2017-08-08">
2035
2036<change type="feature">
2037<para lang="ru">
2038модуль ngx_http_mirror_module.
2039</para>
2040<para lang="en">
2041the ngx_http_mirror_module.
2042</para>
2043</change>
2044
2045<change type="bugfix">
2046<para lang="ru">
2047клиентские соединения могли сбрасываться при тестировании конфигурации,
2048если использовался параметр reuseport директивы listen на Linux.
2049</para>
2050<para lang="en">
2051client connections might be dropped during configuration testing
2052when using the "reuseport" parameter of the "listen" directive on Linux.
2053</para>
2054</change>
2055
2056<change type="bugfix">
2057<para lang="ru">
2058тело запроса могло быть недоступно в подзапросах,
2059если оно было сохранено в файл и использовалось проксирование.
2060</para>
2061<para lang="en">
2062request body might not be available in subrequests
2063if it was saved to a file and proxying was used.
2064</para>
2065</change>
2066
2067<change type="bugfix">
2068<para lang="ru">
2069очистка кэша по max_size не работала на Windows.
2070</para>
2071<para lang="en">
2072cleaning cache based on the "max_size" parameter did not work on Windows.
2073</para>
2074</change>
2075
2076<change type="bugfix">
2077<para lang="ru">
2078любое выделение разделяемой памяти на Windows требовало 4096 байт памяти.
2079</para>
2080<para lang="en">
2081any shared memory allocation required 4096 bytes on Windows.
2082</para>
2083</change>
2084
2085<change type="bugfix">
2086<para lang="ru">
2087при использовании директивы zone в блоке upstream на Windows
2088рабочий процесс мог завершаться аварийно.
2089</para>
2090<para lang="en">
2091nginx worker might be terminated abnormally
2092when using the "zone" directive inside the "upstream" block on Windows.
2093</para>
2094</change>
2095
2096</changes>
2097
2098
2099<changes ver="1.13.3" date="2017-07-11">
2100
2101<change type="security">
2102<para lang="ru">
2103специально созданный запрос мог вызвать целочисленное переполнение
2104в range-фильтре и последующую некорректную обработку запрошенных диапазонов,
2105что потенциально могло привести к утечке конфиденциальной информации
2106(CVE-2017-7529).
2107</para>
2108<para lang="en">
2109a specially crafted request might result in an integer overflow
2110and incorrect processing of ranges in the range filter,
2111potentially resulting in sensitive information leak
2112(CVE-2017-7529).
2113</para>
2114</change>
2115
2116</changes>
2117
2118
2119<changes ver="1.13.2" date="2017-06-27">
2120
2121<change type="change">
2122<para lang="ru">
2123теперь при запросе диапазона, начинающегося с 0, из пустого файла
2124nginx возвращает ответ 200 вместо 416.
2125</para>
2126<para lang="en">
2127nginx now returns 200 instead of 416
2128when a range starting with 0 is requested from an empty file.
2129</para>
2130</change>
2131
2132<change type="feature">
2133<para lang="ru">
2134директива add_trailer.<br/>
2135Спасибо Piotr Sikora.
2136</para>
2137<para lang="en">
2138the "add_trailer" directive.<br/>
2139Thanks to Piotr Sikora.
2140</para>
2141</change>
2142
2143<change type="bugfix">
2144<para lang="ru">
2145nginx не собирался под Cygwin и NetBSD;
2146ошибка появилась в 1.13.0.
2147</para>
2148<para lang="en">
2149nginx could not be built on Cygwin and NetBSD;
2150the bug had appeared in 1.13.0.
2151</para>
2152</change>
2153
2154<change type="bugfix">
2155<para lang="ru">
2156nginx не собирался под MSYS2 / MinGW 64-bit.<br/>
2157Спасибо Orgad Shaneh.
2158</para>
2159<para lang="en">
2160nginx could not be built under MSYS2 / MinGW 64-bit.<br/>
2161Thanks to Orgad Shaneh.
2162</para>
2163</change>
2164
2165<change type="bugfix">
2166<para lang="ru">
2167при использовании SSI с большим количеством подзапросов
2168и proxy_pass с переменными
2169в рабочем процессе мог произойти segmentation fault.
2170</para>
2171<para lang="en">
2172a segmentation fault might occur in a worker process
2173when using SSI with many includes
2174and proxy_pass with variables.
2175</para>
2176</change>
2177
2178<change type="bugfix">
2179<para lang="ru">
2180в модуле ngx_http_v2_module.<br/>
2181Спасибо Piotr Sikora.
2182</para>
2183<para lang="en">
2184in the ngx_http_v2_module.<br/>
2185Thanks to Piotr Sikora.
2186</para>
2187</change>
2188
2189</changes>
2190
2191
2192<changes ver="1.13.1" date="2017-05-30">
2193
2194<change type="feature">
2195<para lang="ru">
2196теперь в качестве параметра директивы set_real_ip_from
2197можно указывать имя хоста.
2198</para>
2199<para lang="en">
2200now a hostname can be used
2201as the "set_real_ip_from" directive parameter.
2202</para>
2203</change>
2204
2205<change type="feature">
2206<para lang="ru">
2207улучшения в скриптах подсветки синтаксиса для vim.
2208</para>
2209<para lang="en">
2210vim syntax highlighting scripts improvements.
2211</para>
2212</change>
2213
2214<change type="feature">
2215<para lang="ru">
2216директива worker_cpu_affinity теперь работает на DragonFly BSD.<br/>
2217Спасибо Sepherosa Ziehau.
2218</para>
2219<para lang="en">
2220the "worker_cpu_affinity" directive now works on DragonFly BSD.<br/>
2221Thanks to Sepherosa Ziehau.
2222</para>
2223</change>
2224
2225<change type="bugfix">
2226<para lang="ru">
2227SSL renegotiation в соединениях к бэкендам
2228не работал при использовании OpenSSL до 1.1.0.
2229</para>
2230<para lang="en">
2231SSL renegotiation on backend connections
2232did not work when using OpenSSL before 1.1.0.
2233</para>
2234</change>
2235
2236<change type="workaround">
2237<para lang="ru">
2238nginx не собирался с Oracle Developer Studio 12.5.
2239</para>
2240<para lang="en">
2241nginx could not be built with Oracle Developer Studio 12.5.
2242</para>
2243</change>
2244
2245<change type="workaround">
2246<para lang="ru">
2247теперь cache manager пропускает заблокированные записи
2248при очистке кэша по max_size.
2249</para>
2250<para lang="en">
2251now cache manager ignores long locked cache entries
2252when cleaning cache based on the "max_size" parameter.
2253</para>
2254</change>
2255
2256<change type="bugfix">
2257<para lang="ru">
2258клиентские SSL-соединения сразу закрывались, если использовался
2259отложенный accept и параметр proxy_protocol директивы listen.
2260</para>
2261<para lang="en">
2262client SSL connections were immediately closed if deferred accept
2263and the "proxy_protocol" parameter of the "listen" directive were used.
2264</para>
2265</change>
2266
2267<change type="bugfix">
2268<para lang="ru">
2269в директиве proxy_cache_background_update.
2270</para>
2271<para lang="en">
2272in the "proxy_cache_background_update" directive.
2273</para>
2274</change>
2275
2276<change type="workaround">
2277<para lang="ru">
2278теперь директива tcp_nodelay
2279устанавливает опцию TCP_NODELAY перед SSL handshake.
2280</para>
2281<para lang="en">
2282now the "tcp_nodelay" directive
2283sets the TCP_NODELAY option before an SSL handshake.
2284</para>
2285</change>
2286
2287</changes>
2288
2289
2290<changes ver="1.13.0" date="2017-04-25">
2291
2292<change type="change">
2293<para lang="ru">
2294теперь SSL renegotiation допускается в соединениях к бэкендам.
2295</para>
2296<para lang="en">
2297SSL renegotiation is now allowed on backend connections.
2298</para>
2299</change>
2300
2301<change type="feature">
2302<para lang="ru">
2303параметры rcvbuf и sndbuf директив listen
2304в почтовом прокси-сервере и модуле stream.
2305</para>
2306<para lang="en">
2307the "rcvbuf" and "sndbuf" parameters of the "listen" directives
2308of the mail proxy and stream modules.
2309</para>
2310</change>
2311
2312<change type="feature">
2313<para lang="ru">
2314директивы return и error_page теперь могут использоваться для возврата
2315перенаправлений с кодом 308.<br/>
2316Спасибо Simon Leblanc.
2317</para>
2318<para lang="en">
2319the "return" and "error_page" directives can now be used to return 308
2320redirections.<br/>
2321Thanks to Simon Leblanc.
2322</para>
2323</change>
2324
2325<change type="feature">
2326<para lang="ru">
2327параметр TLSv1.3 в директиве ssl_protocols.
2328</para>
2329<para lang="en">
2330the "TLSv1.3" parameter of the "ssl_protocols" directive.
2331</para>
2332</change>
2333
2334<change type="feature">
2335<para lang="ru">
2336при логгировании сигналов теперь указывается PID отправившего сигнал процесса.
2337</para>
2338<para lang="en">
2339when logging signals nginx now logs PID of the process which sent the signal.
2340</para>
2341</change>
2342
2343<change type="bugfix">
2344<para lang="ru">
2345в обработке ошибок выделения памяти.
2346</para>
2347<para lang="en">
2348in memory allocation error handling.
2349</para>
2350</change>
2351
2352<change type="bugfix">
2353<para lang="ru">
2354если сервер в модуле stream слушал на wildcard-адресе,
2355исходящий адрес ответного UDP-пакета
2356мог отличаться от адреса назначения исходного пакета.
2357</para>
2358<para lang="en">
2359if a server in the stream module listened on a wildcard address,
2360the source address of a response UDP datagram could differ
2361from the original datagram destination address.
2362</para>
2363</change>
2364
2365</changes>
2366
2367
2368<changes ver="1.11.13" date="2017-04-04">
2369
2370<change type="feature">
2371<para lang="ru">
2372параметр http_429 в директивах proxy_next_upstream, fastcgi_next_upstream,
2373scgi_next_upstream и uwsgi_next_upstream.<br/>
2374Спасибо Piotr Sikora.
2375</para>
2376<para lang="en">
2377the "http_429" parameter of the "proxy_next_upstream", "fastcgi_next_upstream",
2378"scgi_next_upstream", and "uwsgi_next_upstream" directives.<br/>
2379Thanks to Piotr Sikora.
2380</para>
2381</change>
2382
2383<change type="bugfix">
2384<para lang="ru">
2385в обработке ошибок выделения памяти.
2386</para>
2387<para lang="en">
2388in memory allocation error handling.
2389</para>
2390</change>
2391
2392<change type="bugfix">
2393<para lang="ru">
2394при использовании директив sendfile и timer_resolution на Linux
2395запросы могли зависать.
2396</para>
2397<para lang="en">
2398requests might hang
2399when using the "sendfile" and "timer_resolution" directives on Linux.
2400</para>
2401</change>
2402
2403<change type="bugfix">
2404<para lang="ru">
2405при использовании с подзапросами директив sendfile и aio_write
2406запросы могли зависать.
2407</para>
2408<para lang="en">
2409requests might hang
2410when using the "sendfile" and "aio_write" directives with subrequests.
2411</para>
2412</change>
2413
2414<change type="bugfix">
2415<para lang="ru">
2416в модуле ngx_http_v2_module.<br/>
2417Спасибо Piotr Sikora.
2418</para>
2419<para lang="en">
2420in the ngx_http_v2_module.<br/>
2421Thanks to Piotr Sikora.
2422</para>
2423</change>
2424
2425<change type="bugfix">
2426<para lang="ru">
2427при использовании HTTP/2 в рабочем процессе мог произойти segmentation fault.
2428</para>
2429<para lang="en">
2430a segmentation fault might occur in a worker process when using HTTP/2.
2431</para>
2432</change>
2433
2434<change type="bugfix">
2435<para lang="ru">
2436запросы могли зависать
2437при использовании с подзапросами директив limit_rate, sendfile_max_chunk,
2438limit_req или метода $r->sleep() встроенного перла.
2439</para>
2440<para lang="en">
2441requests might hang
2442when using the "limit_rate", "sendfile_max_chunk", "limit_req" directives,
2443or the $r->sleep() embedded perl method with subrequests.
2444</para>
2445</change>
2446
2447<change type="bugfix">
2448<para lang="ru">
2449в модуле ngx_http_slice_module.
2450</para>
2451<para lang="en">
2452in the ngx_http_slice_module.
2453</para>
2454</change>
2455
2456</changes>
2457
2458
2459<changes ver="1.11.12" date="2017-03-24">
2460
2461<change type="bugfix">
2462<para lang="ru">
2463nginx мог нагружать процессор;
2464ошибка появилась в 1.11.11.
2465</para>
2466<para lang="en">
2467nginx might hog CPU;
2468the bug had appeared in 1.11.11.
2469</para>
2470</change>
2471
2472</changes>
2473
2474
2475<changes ver="1.11.11" date="2017-03-21">
2476
2477<change type="feature">
2478<para lang="ru">
2479директива worker_shutdown_timeout.
2480</para>
2481<para lang="en">
2482the "worker_shutdown_timeout" directive.
2483</para>
2484</change>
2485
2486<change type="feature">
2487<para lang="ru">
2488улучшения в скриптах подсветки синтаксиса для vim.<br/>
2489Спасибо Wei-Ko Kao.
2490</para>
2491<para lang="en">
2492vim syntax highlighting scripts improvements.<br/>
2493Thanks to Wei-Ko Kao.
2494</para>
2495</change>
2496
2497<change type="bugfix">
2498<para lang="ru">
2499при попытке установить переменную $limit_rate в пустую строку
2500в рабочем процессе мог произойти segmentation fault.
2501</para>
2502<para lang="en">
2503a segmentation fault might occur in a worker process
2504if the $limit_rate variable was set to an empty string.
2505</para>
2506</change>
2507
2508<change type="bugfix">
2509<para lang="ru">
2510директивы proxy_cache_background_update, fastcgi_cache_background_update,
2511scgi_cache_background_update и uwsgi_cache_background_update
2512могли работать некорректно, если использовалась директива if.
2513</para>
2514<para lang="en">
2515the "proxy_cache_background_update", "fastcgi_cache_background_update",
2516"scgi_cache_background_update", and "uwsgi_cache_background_update" directives
2517might work incorrectly if the "if" directive was used.
2518</para>
2519</change>
2520
2521<change type="bugfix">
2522<para lang="ru">
2523в рабочем процессе мог произойти segmentation fault,
2524если количество large_client_header_buffers в виртуальном сервере
2525отличалось от такового в сервере по умолчанию.
2526</para>
2527<para lang="en">
2528a segmentation fault might occur in a worker process
2529if number of large_client_header_buffers in a virtual server
2530was different from the one in the default server.
2531</para>
2532</change>
2533
2534<change type="bugfix">
2535<para lang="ru">
2536в почтовом прокси-сервере.
2537</para>
2538<para lang="en">
2539in the mail proxy server.
2540</para>
2541</change>
2542
2543</changes>
2544
2545
2546<changes ver="1.11.10" date="2017-02-14">
2547
2548<change type="change">
2549<para lang="ru">
2550формат заголовка кэша был изменен,
2551ранее закэшированные ответы будут загружены заново.
2552</para>
2553<para lang="en">
2554cache header format has been changed,
2555previously cached responses will be invalidated.
2556</para>
2557</change>
2558
2559<change type="feature">
2560<para lang="ru">
2561поддержка расширений stale-while-revalidate и stale-if-error
2562в строке "Cache-Control" в заголовке ответа бэкенда.
2563</para>
2564<para lang="en">
2565support of "stale-while-revalidate" and "stale-if-error" extensions
2566in the "Cache-Control" backend response header line.
2567</para>
2568</change>
2569
2570<change type="feature">
2571<para lang="ru">
2572директивы proxy_cache_background_update, fastcgi_cache_background_update,
2573scgi_cache_background_update и uwsgi_cache_background_update.
2574</para>
2575<para lang="en">
2576the "proxy_cache_background_update", "fastcgi_cache_background_update",
2577"scgi_cache_background_update", and "uwsgi_cache_background_update" directives.
2578</para>
2579</change>
2580
2581<change type="feature">
2582<para lang="ru">
2583теперь nginx может кэшировать ответы
2584со строкой Vary заголовка длиной до 128 символов
2585(вместо 42 символов в предыдущих версиях).
2586</para>
2587<para lang="en">
2588nginx is now able to cache responses
2589with the "Vary" header line up to 128 characters long
2590(instead of 42 characters in previous versions).
2591</para>
2592</change>
2593
2594<change type="feature">
2595<para lang="ru">
2596параметр build директивы server_tokens.<br/>
2597Спасибо Tom Thorogood.
2598</para>
2599<para lang="en">
2600the "build" parameter of the "server_tokens" directive.<br/>
2601Thanks to Tom Thorogood.
2602</para>
2603</change>
2604
2605<change type="bugfix">
2606<para lang="ru">
2607при обработке запросов со строкой "Expect: 100-continue" в заголовке запроса
2608в логах могли появляться сообщения "[crit] SSL_write() failed".
2609</para>
2610<para lang="en">
2611"[crit] SSL_write() failed" messages might appear in logs
2612when handling requests with the "Expect: 100-continue" request header line.
2613</para>
2614</change>
2615
2616<change type="bugfix">
2617<para lang="ru">
2618модуль ngx_http_slice_module не работал в именованных location'ах.
2619</para>
2620<para lang="en">
2621the ngx_http_slice_module did not work in named locations.
2622</para>
2623</change>
2624
2625<change type="bugfix">
2626<para lang="ru">
2627при использовании AIO после перенаправления запроса с помощью X-Accel-Redirect
2628в рабочем процессе мог произойти segmentation fault.
2629</para>
2630<para lang="en">
2631a segmentation fault might occur in a worker process
2632when using AIO after an "X-Accel-Redirect" redirection.
2633</para>
2634</change>
2635
2636<change type="bugfix">
2637<para lang="ru">
2638уменьшено потребление памяти для долгоживущих запросов, использующих сжатие.
2639</para>
2640<para lang="en">
2641reduced memory consumption for long-lived requests using gzipping.
2642</para>
2643</change>
2644
2645</changes>
2646
2647
2648<changes ver="1.11.9" date="2017-01-24">
2649
2650<change type="bugfix">
2651<para lang="ru">
2652при использовании модуля stream nginx мог нагружать процессор;
2653ошибка появилась в 1.11.5.
2654</para>
2655<para lang="en">
2656nginx might hog CPU when using the stream module;
2657the bug had appeared in 1.11.5.
2658</para>
2659</change>
2660
2661<change type="bugfix">
2662<para lang="ru">
2663метод аутентификации EXTERNAL в почтовом прокси-сервере
2664можно было использовать, даже если он не был разрешён в конфигурации.
2665</para>
2666<para lang="en">
2667EXTERNAL authentication mechanism in mail proxy
2668was accepted even if it was not enabled in the configuration.
2669</para>
2670</change>
2671
2672<change type="bugfix">
2673<para lang="ru">
2674при использовании директивы ssl_verify_client модуля stream
2675в рабочем процессе мог произойти segmentation fault.
2676</para>
2677<para lang="en">
2678a segmentation fault might occur in a worker process
2679if the "ssl_verify_client" directive of the stream module was used.
2680</para>
2681</change>
2682
2683<change type="bugfix">
2684<para lang="ru">
2685директива ssl_verify_client модуля stream могла не работать.
2686</para>
2687<para lang="en">
2688the "ssl_verify_client" directive of the stream module might not work.
2689</para>
2690</change>
2691
2692<change type="bugfix">
2693<para lang="ru">
2694при исчерпании рабочим процессом свободных соединений
2695keepalive-соединения могли закрываться излишне агрессивно.<br/>
2696Спасибо Joel Cunningham.
2697</para>
2698<para lang="en">
2699closing keepalive connections due to no free worker connections
2700might be too aggressive.<br/>
2701Thanks to Joel Cunningham.
2702</para>
2703</change>
2704
2705<change type="bugfix">
2706<para lang="ru">
2707при использовании директивы sendfile на FreeBSD и macOS
2708мог возвращаться некорректный ответ;
2709ошибка появилась в 1.7.8.
2710</para>
2711<para lang="en">
2712an incorrect response might be returned
2713when using the "sendfile" directive on FreeBSD and macOS;
2714the bug had appeared in 1.7.8.
2715</para>
2716</change>
2717
2718<change type="bugfix">
2719<para lang="ru">
2720при использовании директивы aio_write
2721ответ мог сохраняться в кэш не полностью.
2722</para>
2723<para lang="en">
2724a truncated response might be stored in cache
2725when using the "aio_write" directive.
2726</para>
2727</change>
2728
2729<change type="bugfix">
2730<para lang="ru">
2731при использовании директивы aio_write
2732могла происходить утечка сокетов.
2733</para>
2734<para lang="en">
2735a socket leak might occur
2736when using the "aio_write" directive.
2737</para>
2738</change>
2739
2740</changes>
2741
2742
2743<changes ver="1.11.8" date="2016-12-27">
2744
2745<change type="feature">
2746<para lang="ru">
2747директива absolute_redirect.
2748</para>
2749<para lang="en">
2750the "absolute_redirect" directive.
2751</para>
2752</change>
2753
2754<change type="feature">
2755<para lang="ru">
2756параметр escape директивы log_format.
2757</para>
2758<para lang="en">
2759the "escape" parameter of the "log_format" directive.
2760</para>
2761</change>
2762
2763<change type="feature">
2764<para lang="ru">
2765проверка клиентских SSL-сертификатов в модуле stream.
2766</para>
2767<para lang="en">
2768client SSL certificates verification in the stream module.
2769</para>
2770</change>
2771
2772<change type="feature">
2773<para lang="ru">
2774директива ssl_session_ticket_key поддерживает
2775шифрование TLS session tickets с помощью AES256
2776при использовании с 80-байтными ключами.
2777</para>
2778<para lang="en">
2779the "ssl_session_ticket_key" directive supports
2780AES256 encryption of TLS session tickets
2781when used with 80-byte keys.
2782</para>
2783</change>
2784
2785<change type="feature">
2786<para lang="ru">
2787поддержка vim-commentary в скриптах для vim.<br/>
2788Спасибо Armin Grodon.
2789</para>
2790<para lang="en">
2791vim-commentary support in vim scripts.<br/>
2792Thanks to Armin Grodon.
2793</para>
2794</change>
2795
2796<change type="bugfix">
2797<para lang="ru">
2798рекурсия при получении значений переменных не ограничивалась.
2799</para>
2800<para lang="en">
2801recursion when evaluating variables was not limited.
2802</para>
2803</change>
2804
2805<change type="bugfix">
2806<para lang="ru">
2807в модуле ngx_stream_ssl_preread_module.
2808</para>
2809<para lang="en">
2810in the ngx_stream_ssl_preread_module.
2811</para>
2812</change>
2813
2814<change type="bugfix">
2815<para lang="ru">
2816если сервер, описанный в блоке upstream в модуле stream,
2817был признан неработающим, то после истечения fail_timeout он
2818признавался работающим только после завершения тестового соединения;
2819теперь достаточно, чтобы соединение было успешно установлено.
2820</para>
2821<para lang="en">
2822if a server in an upstream in the stream module failed,
2823it was considered alive only when a test connection sent
2824to it after fail_timeout was closed;
2825now a successfully established connection is enough.
2826</para>
2827</change>
2828
2829<change type="bugfix">
2830<para lang="ru">
2831nginx/Windows не собирался с 64-битным Visual Studio.
2832</para>
2833<para lang="en">
2834nginx/Windows could not be built with 64-bit Visual Studio.
2835</para>
2836</change>
2837
2838<change type="bugfix">
2839<para lang="ru">
2840nginx/Windows не собирался с OpenSSL 1.1.0.
2841</para>
2842<para lang="en">
2843nginx/Windows could not be built with OpenSSL 1.1.0.
2844</para>
2845</change>
2846
2847</changes>
2848
2849
2850<changes ver="1.11.7" date="2016-12-13">
2851
2852<change type="change">
2853<para lang="ru">
2854переменная $ssl_client_verify теперь
2855в случае ошибки проверки клиентского сертификата
2856содержит строку с описанием ошибки,
2857например, "FAILED:certificate has expired".
2858</para>
2859<para lang="en">
2860now in case of a client certificate verification error
2861the $ssl_client_verify variable contains a string with the failure reason,
2862for example, "FAILED:certificate has expired".
2863</para>
2864</change>
2865
2866<change type="feature">
2867<para lang="ru">
2868переменные $ssl_ciphers, $ssl_curves,
2869$ssl_client_v_start, $ssl_client_v_end и $ssl_client_v_remain.
2870</para>
2871<para lang="en">
2872the $ssl_ciphers, $ssl_curves,
2873$ssl_client_v_start, $ssl_client_v_end, and $ssl_client_v_remain variables.
2874</para>
2875</change>
2876
2877<change type="feature">
2878<para lang="ru">
2879параметр volatile директивы map.
2880</para>
2881<para lang="en">
2882the "volatile" parameter of the "map" directive.
2883</para>
2884</change>
2885
2886<change type="bugfix">
2887<para lang="ru">
2888при сборке динамических модулей
2889не учитывались заданные для модуля зависимости.
2890</para>
2891<para lang="en">
2892dependencies specified for a module
2893were ignored while building dynamic modules.
2894</para>
2895</change>
2896
2897<change type="bugfix">
2898<para lang="ru">
2899при использовании HTTP/2 и директив limit_req или auth_request
2900тело запроса могло быть повреждено;
2901ошибка появилась в 1.11.0.
2902</para>
2903<para lang="en">
2904when using HTTP/2 and the "limit_req" or "auth_request" directives
2905client request body might be corrupted;
2906the bug had appeared in 1.11.0.
2907</para>
2908</change>
2909
2910<change type="bugfix">
2911<para lang="ru">
2912при использовании HTTP/2 в рабочем процессе мог произойти segmentation fault;
2913ошибка появилась в 1.11.3.
2914</para>
2915<para lang="en">
2916a segmentation fault might occur in a worker process when using HTTP/2;
2917the bug had appeared in 1.11.3.
2918</para>
2919</change>
2920
2921<change type="bugfix">
2922<para lang="ru">
2923в модуле ngx_http_mp4_module.<br/>
2924Спасибо Congcong Hu.
2925</para>
2926<para lang="en">
2927in the ngx_http_mp4_module.<br/>
2928Thanks to Congcong Hu.
2929</para>
2930</change>
2931
2932<change type="bugfix">
2933<para lang="ru">
2934в модуле ngx_http_perl_module.
2935</para>
2936<para lang="en">
2937in the ngx_http_perl_module.
2938</para>
2939</change>
2940
2941</changes>
2942
2943
2944<changes ver="1.11.6" date="2016-11-15">
2945
2946<change type="change">
2947<para lang="ru">
2948формат переменных $ssl_client_s_dn и $ssl_client_i_dn
2949изменён на соответствующий RFC 2253 (RFC 4514);
2950значения в старом формате доступны через переменные
2951$ssl_client_s_dn_legacy и $ssl_client_i_dn_legacy.
2952</para>
2953<para lang="en">
2954format of the $ssl_client_s_dn and $ssl_client_i_dn variables
2955has been changed to follow RFC 2253 (RFC 4514);
2956values in the old format are available in
2957the $ssl_client_s_dn_legacy and $ssl_client_i_dn_legacy variables.
2958</para>
2959</change>
2960
2961<change type="change">
2962<para lang="ru">
2963при сохранении временных файлов в каталоге кэша
2964они теперь располагаются не в отдельном подкаталоге для временных файлов,
2965а в том же подкаталоге, что и соответствующие файлы в кэше.
2966</para>
2967<para lang="en">
2968when storing temporary files in a cache directory
2969they will be stored in the same subdirectories as corresponding cache files
2970instead of a separate subdirectory for temporary files.
2971</para>
2972</change>
2973
2974<change type="feature">
2975<para lang="ru">
2976поддержка метода аутентификации EXTERNAL
2977в почтовом прокси-сервере.<br/>
2978Спасибо Robert Norris.
2979</para>
2980<para lang="en">
2981EXTERNAL authentication mechanism support
2982in mail proxy.<br/>
2983Thanks to Robert Norris.
2984</para>
2985</change>
2986
2987<change type="feature">
2988<para lang="ru">
2989поддержка WebP в модуле ngx_http_image_filter_module.
2990</para>
2991<para lang="en">
2992WebP support in the ngx_http_image_filter_module.
2993</para>
2994</change>
2995
2996<change type="feature">
2997<para lang="ru">
2998директива proxy_method поддерживает переменные.<br/>
2999Спасибо Дмитрию Лазуркину.
3000</para>
3001<para lang="en">
3002variables support in the "proxy_method" directive.<br/>
3003Thanks to Dmitry Lazurkin.
3004</para>
3005</change>
3006
3007<change type="feature">
3008<para lang="ru">
3009директива http2_max_requests в модуле ngx_http_v2_module.
3010</para>
3011<para lang="en">
3012the "http2_max_requests" directive in the ngx_http_v2_module.
3013</para>
3014</change>
3015
3016<change type="feature">
3017<para lang="ru">
3018директивы proxy_cache_max_range_offset, fastcgi_cache_max_range_offset,
3019scgi_cache_max_range_offset и uwsgi_cache_max_range_offset.
3020</para>
3021<para lang="en">
3022the "proxy_cache_max_range_offset", "fastcgi_cache_max_range_offset",
3023"scgi_cache_max_range_offset", and "uwsgi_cache_max_range_offset" directives.
3024</para>
3025</change>
3026
3027<change type="bugfix">
3028<para lang="ru">
3029плавное завершение старых рабочих процессов могло занимать бесконечное время
3030при использовании HTTP/2.
3031</para>
3032<para lang="en">
3033graceful shutdown of old worker processes might require infinite time
3034when using HTTP/2.
3035</para>
3036</change>
3037
3038<change type="bugfix">
3039<para lang="ru">
3040в модуле ngx_http_mp4_module.
3041</para>
3042<para lang="en">
3043in the ngx_http_mp4_module.
3044</para>
3045</change>
3046
3047<change type="bugfix">
3048<para lang="ru">
3049при проксировании WebSocket-соединений и включённом кэшировании
3050в логах могли появляться сообщения "ignore long locked inactive cache entry".
3051</para>
3052<para lang="en">
3053"ignore long locked inactive cache entry" alerts might appear in logs
3054when proxying WebSocket connections with caching enabled.
3055</para>
3056</change>
3057
3058<change type="bugfix">
3059<para lang="ru">
3060если во время SSL handshake с бэкендом происходил таймаут,
3061nginx ничего не писал в лог
3062и возвращал ответ с кодом 502 вместо 504.
3063</para>
3064<para lang="en">
3065nginx did not write anything to log
3066and returned a response with code 502 instead of 504
3067when a timeout occurred during an SSL handshake to a backend.
3068</para>
3069</change>
3070
3071</changes>
3072
3073
3074<changes ver="1.11.5" date="2016-10-11">
3075
3076<change type="change">
3077<para lang="ru">
3078параметр configure --with-ipv6 упразднён,
3079поддержка IPv6 теперь собирается автоматически.
3080</para>
3081<para lang="en">
3082the --with-ipv6 configure option was removed,
3083now IPv6 support is configured automatically.
3084</para>
3085</change>
3086
3087<change type="change">
3088<para lang="ru">
3089теперь, если в блоке upstream не оказалось доступных серверов,
3090nginx не сбрасывает статистику ошибок всех серверов, как делал ранее,
3091а ожидает истечения fail_timeout.
3092</para>
3093<para lang="en">
3094now if there are no available servers in an upstream,
3095nginx will not reset number of failures of all servers as it previously did,
3096but will wait for fail_timeout to expire.
3097</para>
3098</change>
3099
3100<change type="feature">
3101<para lang="ru">
3102модуль ngx_stream_ssl_preread_module.
3103</para>
3104<para lang="en">
3105the ngx_stream_ssl_preread_module.
3106</para>
3107</change>
3108
3109<change type="feature">
3110<para lang="ru">
3111директива server в блоке upstream поддерживает параметр max_conns.
3112</para>
3113<para lang="en">
3114the "server" directive in the "upstream" context supports
3115the "max_conns" parameter.
3116</para>
3117</change>
3118
3119<change type="feature">
3120<para lang="ru">
3121параметр configure --with-compat.
3122</para>
3123<para lang="en">
3124the --with-compat configure option.
3125</para>
3126</change>
3127
3128<change type="feature">
3129<para lang="ru">
3130параметры manager_files, manager_threshold и manager_sleep
3131директив proxy_cache_path, fastcgi_cache_path, scgi_cache_path и
3132uwsgi_cache_path.
3133</para>
3134<para lang="en">
3135"manager_files", "manager_threshold", and "manager_sleep" parameters
3136of the "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path", and
3137"uwsgi_cache_path" directives.
3138</para>
3139</change>
3140
3141<change type="bugfix">
3142<para lang="ru">
3143при сборке perl-модуля не использовались флаги,
3144заданные с помощью параметра configure --with-ld-opt.
3145</para>
3146<para lang="en">
3147flags passed by the --with-ld-opt configure option
3148were not used while building perl module.
3149</para>
3150</change>
3151
3152<change type="bugfix">
3153<para lang="ru">
3154в директиве add_after_body при использовании совместно с директивой sub_filter.
3155</para>
3156<para lang="en">
3157in the "add_after_body" directive when used with the "sub_filter" directive.
3158</para>
3159</change>
3160
3161<change type="bugfix">
3162<para lang="ru">
3163в переменной $realip_remote_addr.
3164</para>
3165<para lang="en">
3166in the $realip_remote_addr variable.
3167</para>
3168</change>
3169
3170<change type="bugfix">
3171<para lang="ru">
3172директивы dav_access, proxy_store_access, fastcgi_store_access,
3173scgi_store_access и uwsgi_store_access
3174игнорировали права, заданные для пользователя.
3175</para>
3176<para lang="en">
3177the "dav_access", "proxy_store_access", "fastcgi_store_access",
3178"scgi_store_access", and "uwsgi_store_access" directives
3179ignored permissions specified for user.
3180</para>
3181</change>
3182
3183<change type="bugfix">
3184<para lang="ru">
3185unix domain listen-сокеты могли не наследоваться
3186при обновлении исполняемого файла на Linux.
3187</para>
3188<para lang="en">
3189unix domain listen sockets might not be inherited
3190during binary upgrade on Linux.
3191</para>
3192</change>
3193
3194<change type="bugfix">
3195<para lang="ru">
3196nginx возвращал ошибку 400 на запросы
3197с символом "-" в HTTP-методе.
3198</para>
3199<para lang="en">
3200nginx returned the 400 response on requests
3201with the "-" character in the HTTP method.
3202</para>
3203</change>
3204
3205</changes>
3206
3207
3208<changes ver="1.11.4" date="2016-09-13">
3209
3210<change type="feature">
3211<para lang="ru">
3212переменная $upstream_bytes_received.
3213</para>
3214<para lang="en">
3215the $upstream_bytes_received variable.
3216</para>
3217</change>
3218
3219<change type="feature">
3220<para lang="ru">
3221переменные $bytes_received, $session_time, $protocol, $status,
3222$upstream_addr, $upstream_bytes_sent, $upstream_bytes_received,
3223$upstream_connect_time, $upstream_first_byte_time
3224и $upstream_session_time в модуле stream.
3225</para>
3226<para lang="en">
3227the $bytes_received, $session_time, $protocol, $status,
3228$upstream_addr, $upstream_bytes_sent, $upstream_bytes_received,
3229$upstream_connect_time, $upstream_first_byte_time,
3230and $upstream_session_time variables in the stream module.
3231</para>
3232</change>
3233
3234<change type="feature">
3235<para lang="ru">
3236модуль ngx_stream_log_module.
3237</para>
3238<para lang="en">
3239the ngx_stream_log_module.
3240</para>
3241</change>
3242
3243<change type="feature">
3244<para lang="ru">
3245параметр proxy_protocol в директиве listen,
3246переменные $proxy_protocol_addr и $proxy_protocol_port
3247в модуле stream.
3248</para>
3249<para lang="en">
3250the "proxy_protocol" parameter of the "listen" directive,
3251the $proxy_protocol_addr and $proxy_protocol_port variables
3252in the stream module.
3253</para>
3254</change>
3255
3256<change type="feature">
3257<para lang="ru">
3258модуль ngx_stream_realip_module.
3259</para>
3260<para lang="en">
3261the ngx_stream_realip_module.
3262</para>
3263</change>
3264
3265<change type="bugfix">
3266<para lang="ru">
3267nginx не собирался с модулем stream и модулем ngx_http_ssl_module,
3268но без модуля ngx_stream_ssl_module;
3269ошибка появилась в 1.11.3.
3270</para>
3271<para lang="en">
3272nginx could not be built with the stream module and the ngx_http_ssl_module,
3273but without ngx_stream_ssl_module;
3274the bug had appeared in 1.11.3.
3275</para>
3276</change>
3277
3278<change type="feature">
3279<para lang="ru">
3280опция сокета IP_BIND_ADDRESS_NO_PORT не использовалась;
3281ошибка появилась в 1.11.2.
3282</para>
3283<para lang="en">
3284the IP_BIND_ADDRESS_NO_PORT socket option was not used;
3285the bug had appeared in 1.11.2.
3286</para>
3287</change>
3288
3289<change type="bugfix">
3290<para lang="ru">
3291в параметре ranges директивы geo.
3292</para>
3293<para lang="en">
3294in the "ranges" parameter of the "geo" directive.
3295</para>
3296</change>
3297
3298<change type="bugfix">
3299<para lang="ru">
3300при использовании директив "aio threads" и sendfile
3301мог возвращаться некорректный ответ; ошибка появилась в 1.9.13.
3302</para>
3303<para lang="en">
3304an incorrect response might be returned
3305when using the "aio threads" and "sendfile" directives;
3306the bug had appeared in 1.9.13.
3307</para>
3308</change>
3309
3310</changes>
3311
3312
3313<changes ver="1.11.3" date="2016-07-26">
3314
3315<change type="change">
3316<para lang="ru">
3317теперь accept_mutex по умолчанию выключен.
3318</para>
3319<para lang="en">
3320now the "accept_mutex" directive is turned off by default.
3321</para>
3322</change>
3323
3324<change type="feature">
3325<para lang="ru">
3326теперь nginx использует EPOLLEXCLUSIVE на Linux.
3327</para>
3328<para lang="en">
3329now nginx uses EPOLLEXCLUSIVE on Linux.
3330</para>
3331</change>
3332
3333<change type="feature">
3334<para lang="ru">
3335модуль ngx_stream_geo_module.
3336</para>
3337<para lang="en">
3338the ngx_stream_geo_module.
3339</para>
3340</change>
3341
3342<change type="feature">
3343<para lang="ru">
3344модуль ngx_stream_geoip_module.
3345</para>
3346<para lang="en">
3347the ngx_stream_geoip_module.
3348</para>
3349</change>
3350
3351<change type="feature">
3352<para lang="ru">
3353модуль ngx_stream_split_clients_module.
3354</para>
3355<para lang="en">
3356the ngx_stream_split_clients_module.
3357</para>
3358</change>
3359
3360<change type="feature">
3361<para lang="ru">
3362директивы proxy_pass и proxy_ssl_name в модуле stream
3363поддерживают переменные.
3364</para>
3365<para lang="en">
3366variables support
3367in the "proxy_pass" and "proxy_ssl_name" directives in the stream module.
3368</para>
3369</change>
3370
3371<change type="bugfix">
3372<para lang="ru">
3373утечки сокетов при использовании HTTP/2.
3374</para>
3375<para lang="en">
3376socket leak when using HTTP/2.
3377</para>
3378</change>
3379
3380<change type="bugfix">
3381<para lang="ru">
3382в configure.<br/>
3383Спасибо Piotr Sikora.
3384</para>
3385<para lang="en">
3386in configure tests.<br/>
3387Thanks to Piotr Sikora.
3388</para>
3389</change>
3390
3391</changes>
3392
3393
3394<changes ver="1.11.2" date="2016-07-05">
3395
3396<change type="change">
3397<para lang="ru">
3398теперь nginx всегда использует внутренние реализации MD5 и SHA1;
3399параметры configure --with-md5 и --with-sha1 упразднены.
3400</para>
3401<para lang="en">
3402now nginx always uses internal MD5 and SHA1 implementations;
3403the --with-md5 and --with-sha1 configure options were canceled.
3404</para>
3405</change>
3406
3407<change type="feature">
3408<para lang="ru">
3409поддержка переменных в модуле stream.
3410</para>
3411<para lang="en">
3412variables support in the stream module.
3413</para>
3414</change>
3415
3416<change type="feature">
3417<para lang="ru">
3418модуль ngx_stream_map_module.
3419</para>
3420<para lang="en">
3421the ngx_stream_map_module.
3422</para>
3423</change>
3424
3425<change type="feature">
3426<para lang="ru">
3427модуль ngx_stream_return_module.
3428</para>
3429<para lang="en">
3430the ngx_stream_return_module.
3431</para>
3432</change>
3433
3434<change type="feature">
3435<para lang="ru">
3436в директивах proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind
3437теперь можно указывать порт.
3438</para>
3439<para lang="en">
3440a port can be specified in the "proxy_bind", "fastcgi_bind",
3441"memcached_bind", "scgi_bind", and "uwsgi_bind" directives.
3442</para>
3443</change>
3444
3445<change type="feature">
3446<para lang="ru">
3447теперь nginx использует опцию сокета IP_BIND_ADDRESS_NO_PORT, если она доступна.
3448</para>
3449<para lang="en">
3450now nginx uses the IP_BIND_ADDRESS_NO_PORT socket option when available.
3451</para>
3452</change>
3453
3454<change type="bugfix">
3455<para lang="ru">
3456при использовании HTTP/2 и директивы proxy_request_buffering
3457в рабочем процессе мог произойти segmentation fault.
3458</para>
3459<para lang="en">
3460a segmentation fault might occur in a worker process
3461when using HTTP/2 and the "proxy_request_buffering" directive.
3462</para>
3463</change>
3464
3465<change type="bugfix">
3466<para lang="ru">
3467при использовании HTTP/2
3468к запросам, передаваемым на бэкенд,
3469всегда добавлялась строка заголовка "Content-Length",
3470даже если у запроса не было тела.
3471</para>
3472<para lang="en">
3473the "Content-Length" request header line
3474was always added to requests passed to backends,
3475including requests without body,
3476when using HTTP/2.
3477</para>
3478</change>
3479
3480<change type="bugfix">
3481<para lang="ru">
3482при использовании HTTP/2
3483в логах могли появляться сообщения "http request count is zero".
3484</para>
3485<para lang="en">
3486"http request count is zero" alerts might appear in logs
3487when using HTTP/2.
3488</para>
3489</change>
3490
3491<change type="bugfix">
3492<para lang="ru">
3493при использовании директивы sub_filter
3494могло буферизироваться больше данных, чем это необходимо;
3495проблема появилась в 1.9.4.
3496</para>
3497<para lang="en">
3498unnecessary buffering might occur
3499when using the "sub_filter" directive;
3500the issue had appeared in 1.9.4.
3501</para>
3502</change>
3503
3504</changes>
3505
3506
3507<changes ver="1.11.1" date="2016-05-31">
3508
3509<change type="security">
3510<para lang="ru">
3511при записи тела специально созданного запроса во временный файл
3512в рабочем процессе мог происходить segmentation fault
3513(CVE-2016-4450);
3514ошибка появилась в 1.3.9.
3515</para>
3516<para lang="en">
3517a segmentation fault might occur in a worker process
3518while writing a specially crafted request body to a temporary file
3519(CVE-2016-4450);
3520the bug had appeared in 1.3.9.
3521</para>
3522</change>
3523
3524</changes>
3525
3526
3527<changes ver="1.11.0" date="2016-05-24">
3528
3529<change type="feature">
3530<para lang="ru">
3531параметр transparent директив proxy_bind, fastcgi_bind,
3532memcached_bind, scgi_bind и uwsgi_bind.
3533</para>
3534<para lang="en">
3535the "transparent" parameter of the "proxy_bind", "fastcgi_bind",
3536"memcached_bind", "scgi_bind", and "uwsgi_bind" directives.
3537</para>
3538</change>
3539
3540<change type="feature">
3541<para lang="ru">
3542переменная $request_id.
3543</para>
3544<para lang="en">
3545the $request_id variable.
3546</para>
3547</change>
3548
3549<change type="feature">
3550<para lang="ru">
3551директива map поддерживает комбинации нескольких переменных
3552в качестве результирующих значений.
3553</para>
3554<para lang="en">
3555the "map" directive supports combinations of multiple variables
3556as resulting values.
3557</para>
3558</change>
3559
3560<change type="feature">
3561<para lang="ru">
3562теперь при использовании метода epoll
3563nginx проверяет, поддерживает ли ядро события EPOLLRDHUP,
3564и соответственно оптимизирует обработку соединений.
3565</para>
3566<para lang="en">
3567now nginx checks if EPOLLRDHUP events are supported by kernel,
3568and optimizes connection handling accordingly
3569if the "epoll" method is used.
3570</para>
3571</change>
3572
3573<change type="feature">
3574<para lang="ru">
3575директивы ssl_certificate и ssl_certificate_key
3576теперь можно указывать несколько раз
3577для загрузки сертификатов разных типов (например, RSA и ECDSA).
3578</para>
3579<para lang="en">
3580the "ssl_certificate" and "ssl_certificate_key" directives
3581can be specified multiple times
3582to load certificates of different types (for example, RSA and ECDSA).
3583</para>
3584</change>
3585
3586<change type="feature">
3587<para lang="ru">
3588при использовании OpenSSL 1.0.2 и новее
3589с помощью директивы ssl_ecdh_curve теперь можно задать список кривых;
3590по умолчанию используется встроенный в OpenSSL список кривых.
3591</para>
3592<para lang="en">
3593the "ssl_ecdh_curve" directive now allows specifying a list of curves
3594when using OpenSSL 1.0.2 or newer;
3595by default a list built into OpenSSL is used.
3596</para>
3597</change>
3598
3599<change type="change">
3600<para lang="ru">
3601для использования DHE-шифров теперь надо явно задавать файл параметров
3602с помощью директивы ssl_dhparam.
3603</para>
3604<para lang="en">
3605to use DHE ciphers it is now required to specify parameters
3606using the "ssl_dhparam" directive.
3607</para>
3608</change>
3609
3610<change type="feature">
3611<para lang="ru">
3612переменная $proxy_protocol_port.
3613</para>
3614<para lang="en">
3615the $proxy_protocol_port variable.
3616</para>
3617</change>
3618
3619<change type="feature">
3620<para lang="ru">
3621переменная $realip_remote_port в модуле ngx_http_realip_module.
3622</para>
3623<para lang="en">
3624the $realip_remote_port variable in the ngx_http_realip_module.
3625</para>
3626</change>
3627
3628<change type="feature">
3629<para lang="ru">
3630модуль ngx_http_realip_module теперь позволяет устанавливать
3631не только адрес, но и порт клиента.
3632</para>
3633<para lang="en">
3634the ngx_http_realip_module is now able to set the client port
3635in addition to the address.
3636</para>
3637</change>
3638
3639<change type="change">
3640<para lang="ru">
3641при попытке запросить виртуальный сервер,
3642отличающийся от согласованного в процессе SSL handshake,
3643теперь возвращается ответ "421 Misdirected Request";
3644это улучшает совместимость с некоторыми HTTP/2-клиентами
3645в случае использования клиентских сертификатов.
3646</para>
3647<para lang="en">
3648the "421 Misdirected Request" response now used
3649when rejecting requests to a virtual server
3650different from one negotiated during an SSL handshake;
3651this improves interoperability with some HTTP/2 clients
3652when using client certificates.
3653</para>
3654</change>
3655
3656<change type="change">
3657<para lang="ru">
3658HTTP/2-клиенты теперь могут сразу присылать тело запроса;
3659директива http2_body_preread_size позволяет указать размер буфера, который
3660будет использоваться до того, как nginx начнёт читать тело.
3661</para>
3662<para lang="en">
3663HTTP/2 clients can now start sending request body immediately;
3664the "http2_body_preread_size" directive controls size of the buffer used
3665before nginx will start reading client request body.
3666</para>
3667</change>
3668
3669<change type="bugfix">
3670<para lang="ru">
3671при использовании директивы proxy_cache_bypass
3672не обновлялись закэшированные ошибочные ответы.
3673</para>
3674<para lang="en">
3675cached error responses were not updated
3676when using the "proxy_cache_bypass" directive.
3677</para>
3678</change>
3679
3680</changes>
3681
3682
3683<changes ver="1.9.15" date="2016-04-19">
3684
3685<change type="bugfix">
3686<para lang="ru">
3687при использовании HHVM в качестве FastCGI-сервера
3688могли возникать ошибки "recv() failed".
3689</para>
3690<para lang="en">
3691"recv() failed" errors might occur
3692when using HHVM as a FastCGI server.
3693</para>
3694</change>
3695
3696<change type="bugfix">
3697<para lang="ru">
3698при использовании HTTP/2 и директив limit_req или auth_request
3699при чтении тела запроса мог произойти таймаут
3700или ошибка "client violated flow control";
3701ошибка появилась в 1.9.14.
3702</para>
3703<para lang="en">
3704when using HTTP/2 and the "limit_req" or "auth_request" directives
3705a timeout or a "client violated flow control" error
3706might occur while reading client request body;
3707the bug had appeared in 1.9.14.
3708</para>
3709</change>
3710
3711<change type="workaround">
3712<para lang="ru">
3713при использовании HTTP/2 ответ мог не показываться некоторыми браузерами,
3714если тело запроса было прочитано не целиком;
3715ошибка появилась в 1.9.14.
3716</para>
3717<para lang="en">
3718a response might not be shown by some browsers
3719if HTTP/2 was used and client request body was not fully read;
3720the bug had appeared in 1.9.14.
3721</para>
3722</change>
3723
3724<change type="bugfix">
3725<para lang="ru">
3726при использовании директивы "aio threads" соединения могли зависать.<br/>
3727Спасибо Mindaugas Rasiukevicius.
3728</para>
3729<para lang="en">
3730connections might hang when using the "aio threads" directive.<br/>
3731Thanks to Mindaugas Rasiukevicius.
3732</para>
3733</change>
3734
3735</changes>
3736
3737
3738<changes ver="1.9.14" date="2016-04-05">
3739
3740<change type="feature">
3741<para lang="ru">
3742совместимость с OpenSSL 1.1.0.
3743</para>
3744<para lang="en">
3745OpenSSL 1.1.0 compatibility.
3746</para>
3747</change>
3748
3749<change type="feature">
3750<para lang="ru">
3751директивы proxy_request_buffering, fastcgi_request_buffering,
3752scgi_request_buffering и uwsgi_request_buffering
3753теперь работают при использовании HTTP/2.
3754</para>
3755<para lang="en">
3756the "proxy_request_buffering", "fastcgi_request_buffering",
3757"scgi_request_buffering", and "uwsgi_request_buffering" directives
3758now work with HTTP/2.
3759</para>
3760</change>
3761
3762<change type="bugfix">
3763<para lang="ru">
3764при использовании HTTP/2
3765в логах могли появляться сообщения "zero size buf in output".
3766</para>
3767<para lang="en">
3768"zero size buf in output" alerts might appear in logs
3769when using HTTP/2.
3770</para>
3771</change>
3772
3773<change type="bugfix">
3774<para lang="ru">
3775при использовании HTTP/2
3776директива client_max_body_size могла работать неверно.
3777</para>
3778<para lang="en">
3779the "client_max_body_size" directive might work incorrectly
3780when using HTTP/2.
3781</para>
3782</change>
3783
3784<change type="bugfix">
3785<para lang="ru">
3786незначительных ошибок логгирования.
3787</para>
3788<para lang="en">
3789of minor bugs in logging.
3790</para>
3791</change>
3792
3793</changes>
3794
3795
3796<changes ver="1.9.13" date="2016-03-29">
3797
3798<change type="change">
3799<para lang="ru">
3800неидемпотентные запросы (POST, LOCK, PATCH)
3801теперь по умолчанию не передаются на другой сервер,
3802если запрос уже был отправлен на бэкенд;
3803параметр non_idempotent директивы proxy_next_upstream
3804явно разрешает повторять такие запросы.
3805</para>
3806<para lang="en">
3807non-idempotent requests (POST, LOCK, PATCH)
3808are no longer passed to the next server by default
3809if a request has been sent to a backend;
3810the "non_idempotent" parameter of the "proxy_next_upstream" directive
3811explicitly allows retrying such requests.
3812</para>
3813</change>
3814
3815<change type="feature">
3816<para lang="ru">
3817модуль ngx_http_perl_module теперь можно собрать динамически.
3818</para>
3819<para lang="en">
3820the ngx_http_perl_module can be built dynamically.
3821</para>
3822</change>
3823
3824<change type="feature">
3825<para lang="ru">
3826поддержка UDP в модуле stream.
3827</para>
3828<para lang="en">
3829UDP support in the stream module.
3830</para>
3831</change>
3832
3833<change type="feature">
3834<para lang="ru">
3835директива aio_write.
3836</para>
3837<para lang="en">
3838the "aio_write" directive.
3839</para>
3840</change>
3841
3842<change type="feature">
3843<para lang="ru">
3844теперь cache manager следит за количеством элементов в кэше
3845и старается не допускать переполнений зоны разделяемой памяти.
3846</para>
3847<para lang="en">
3848now cache manager monitors number of elements in caches
3849and tries to avoid cache keys zone overflows.
3850</para>
3851</change>
3852
3853<change type="bugfix">
3854<para lang="ru">
3855при использовании директив sendfile и aio с подзапросами
3856в логах могли появляться сообщения "task already active" и "second aio post".
3857</para>
3858<para lang="en">
3859"task already active" and "second aio post" alerts might appear in logs
3860when using the "sendfile" and "aio" directives with subrequests.
3861</para>
3862</change>
3863
3864<change type="bugfix">
3865<para lang="ru">
3866при использовании кэширования
3867в логах могли появляться сообщения "zero size buf in output",
3868если клиент закрывал соединение преждевременно.
3869</para>
3870<para lang="en">
3871"zero size buf in output" alerts might appear in logs
3872if caching was used
3873and a client closed a connection prematurely.
3874</para>
3875</change>
3876
3877<change type="bugfix">
3878<para lang="ru">
3879при использовании кэширования
3880соединения с клиентами могли закрываться без необходимости.<br/>
3881Спасибо Justin Li.
3882</para>
3883<para lang="en">
3884connections with clients might be closed needlessly
3885if caching was used.<br/>
3886Thanks to Justin Li.
3887</para>
3888</change>
3889
3890<change type="bugfix">
3891<para lang="ru">
3892nginx мог нагружать процессор
3893при использовании директивы sendfile на Linux и Solaris,
3894если отправляемый файл был изменён в процессе отправки.
3895</para>
3896<para lang="en">
3897nginx might hog CPU
3898if the "sendfile" directive was used on Linux or Solaris
3899and a file being sent was changed during sending.
3900</para>
3901</change>
3902
3903<change type="bugfix">
3904<para lang="ru">
3905при использовании директив sendfile и "aio threads"
3906соединения могли зависать.
3907</para>
3908<para lang="en">
3909connections might hang
3910when using the "sendfile" and "aio threads" directives.
3911</para>
3912</change>
3913
3914<change type="bugfix">
3915<para lang="ru">
3916в директивах proxy_pass, fastcgi_pass, scgi_pass и uwsgi_pass
3917при использовании переменных.<br/>
3918Спасибо Piotr Sikora.
3919</para>
3920<para lang="en">
3921in the "proxy_pass", "fastcgi_pass", "scgi_pass", and "uwsgi_pass" directives
3922when using variables.<br/>
3923Thanks to Piotr Sikora.
3924</para>
3925</change>
3926
3927<change type="bugfix">
3928<para lang="ru">
3929в модуле ngx_http_sub_filter_module.
3930</para>
3931<para lang="en">
3932in the ngx_http_sub_filter_module.
3933</para>
3934</change>
3935
3936<change type="bugfix">
3937<para lang="ru">
3938если в закэшированном соединении к бэкенду происходила ошибка,
3939запрос передавался на другой сервер
3940без учёта директивы proxy_next_upstream.
3941</para>
3942<para lang="en">
3943if an error occurred in a cached backend connection,
3944the request was passed to the next server
3945regardless of the proxy_next_upstream directive.
3946</para>
3947</change>
3948
3949<change type="bugfix">
3950<para lang="ru">
3951ошибки "CreateFile() failed" при создании временных файлов на Windows.
3952</para>
3953<para lang="en">
3954"CreateFile() failed" errors when creating temporary files on Windows.
3955</para>
3956</change>
3957
3958</changes>
3959
3960
3961<changes ver="1.9.12" date="2016-02-24">
3962
3963<change type="feature">
3964<para lang="ru">
3965кодирование Хаффмана заголовков ответов в HTTP/2.<br/>
3966Спасибо Владу Краснову.
3967</para>
3968<para lang="en">
3969Huffman encoding of response headers in HTTP/2.<br/>
3970Thanks to Vlad Krasnov.
3971</para>
3972</change>
3973
3974<change type="feature">
3975<para lang="ru">
3976директива worker_cpu_affinity теперь поддерживает более 64 процессоров.
3977</para>
3978<para lang="en">
3979the "worker_cpu_affinity" directive now supports more than 64 CPUs.
3980</para>
3981</change>
3982
3983<change type="bugfix">
3984<para lang="ru">
3985совместимость со сторонними модулями на C++;
3986ошибка появилась в 1.9.11.<br/>
3987Спасибо Piotr Sikora.
3988</para>
3989<para lang="en">
3990compatibility with 3rd party C++ modules;
3991the bug had appeared in 1.9.11.<br/>
3992Thanks to Piotr Sikora.
3993</para>
3994</change>
3995
3996<change type="bugfix">
3997<para lang="ru">
3998nginx не собирался статически с OpenSSL на Linux;
3999ошибка появилась в 1.9.11.
4000</para>
4001<para lang="en">
4002nginx could not be built statically with OpenSSL on Linux;
4003the bug had appeared in 1.9.11.
4004</para>
4005</change>
4006
4007<change type="bugfix">
4008<para lang="ru">
4009директива "add_header ... always" с пустым значением
4010не удаляла из заголовков ошибочных ответов
4011строки Last-Modified и ETag.
4012</para>
4013<para lang="en">
4014the "add_header ... always" directive with an empty value
4015did not delete "Last-Modified" and "ETag" header lines
4016from error responses.
4017</para>
4018</change>
4019
4020<change type="workaround">
4021<para lang="ru">
4022при использовании OpenSSL 1.0.2f в логах могли появляться
4023сообщения "called a function you should not call" и
4024"shutdown while in init".
4025</para>
4026<para lang="en">
4027"called a function you should not call"
4028and "shutdown while in init" messages might appear in logs
4029when using OpenSSL 1.0.2f.
4030</para>
4031</change>
4032
4033<change type="bugfix">
4034<para lang="ru">
4035ошибочные заголовки могли логгироваться некорректно.
4036</para>
4037<para lang="en">
4038invalid headers might be logged incorrectly.
4039</para>
4040</change>
4041
4042<change type="bugfix">
4043<para lang="ru">
4044утечки сокетов при использовании HTTP/2.
4045</para>
4046<para lang="en">
4047socket leak when using HTTP/2.
4048</para>
4049</change>
4050
4051<change type="bugfix">
4052<para lang="ru">
4053в модуле ngx_http_v2_module.
4054</para>
4055<para lang="en">
4056in the ngx_http_v2_module.
4057</para>
4058</change>
4059
4060</changes>
4061
4062
4063<changes ver="1.9.11" date="2016-02-09">
4064
4065<change type="feature">
4066<para lang="ru">
4067теперь resolver поддерживает TCP.
4068</para>
4069<para lang="en">
4070TCP support in resolver.
4071</para>
4072</change>
4073
4074<change type="feature">
4075<para lang="ru">
4076динамические модули.
4077</para>
4078<para lang="en">
4079dynamic modules.
4080</para>
4081</change>
4082
4083<change type="bugfix">
4084<para lang="ru">
4085при использовании HTTP/2
4086переменная $request_length не учитывала размер заголовков запроса.
4087</para>
4088<para lang="en">
4089the $request_length variable did not include size of request headers
4090when using HTTP/2.
4091</para>
4092</change>
4093
4094<change type="bugfix">
4095<para lang="ru">
4096в модуле ngx_http_v2_module.
4097</para>
4098<para lang="en">
4099in the ngx_http_v2_module.
4100</para>
4101</change>
4102
4103</changes>
4104
4105
4106<changes ver="1.9.10" date="2016-01-26">
4107
4108<change type="security">
4109<para lang="ru">
4110при использовании директивы resolver
4111во время обработки ответов DNS-сервера
4112могло происходить разыменование некорректного адреса,
4113что позволяло атакующему,
4114имеющему возможность подделывать UDP-пакеты от DNS-сервера,
4115вызвать segmentation fault в рабочем процессе (CVE-2016-0742).
4116</para>
4117<para lang="en">
4118invalid pointer dereference might occur
4119during DNS server response processing
4120if the "resolver" directive was used,
4121allowing an attacker who is able to forge UDP packets from the DNS server
4122to cause segmentation fault in a worker process (CVE-2016-0742).
4123</para>
4124</change>
4125
4126<change type="security">
4127<para lang="ru">
4128при использовании директивы resolver
4129во время обработки CNAME-записей
4130могло произойти обращение к ранее освобождённой памяти,
4131что позволяло атакующему,
4132имеющему возможность инициировать преобразование произвольных имён в адреса,
4133вызвать segmentation fault в рабочем процессе,
4134а также потенциально могло иметь другие последствия (CVE-2016-0746).
4135</para>
4136<para lang="en">
4137use-after-free condition might occur
4138during CNAME response processing
4139if the "resolver" directive was used,
4140allowing an attacker who is able to trigger name resolution
4141to cause segmentation fault in a worker process,
4142or might have potential other impact (CVE-2016-0746).
4143</para>
4144</change>
4145
4146<change type="security">
4147<para lang="ru">
4148при использовании директивы resolver
4149во время обработки CNAME-записей
4150не во всех случаях проверялось ограничение
4151на максимальное количество записей в цепочке,
4152что позволяло атакующему,
4153имеющему возможность инициировать преобразование произвольных имён в адреса,
4154вызвать чрезмерное потребление ресурсов рабочими процессами (CVE-2016-0747).
4155</para>
4156<para lang="en">
4157CNAME resolution was insufficiently limited
4158if the "resolver" directive was used,
4159allowing an attacker who is able to trigger arbitrary name resolution
4160to cause excessive resource consumption in worker processes (CVE-2016-0747).
4161</para>
4162</change>
4163
4164<change type="feature">
4165<para lang="ru">
4166параметр auto директивы worker_cpu_affinity.
4167</para>
4168<para lang="en">
4169the "auto" parameter of the "worker_cpu_affinity" directive.
4170</para>
4171</change>
4172
4173<change type="bugfix">
4174<para lang="ru">
4175параметр proxy_protocol директивы listen не работал
4176с IPv6 listen-сокетами.
4177</para>
4178<para lang="en">
4179the "proxy_protocol" parameter of the "listen" directive did not work
4180with IPv6 listen sockets.
4181</para>
4182</change>
4183
4184<change type="bugfix">
4185<para lang="ru">
4186при использовании директивы keepalive
4187соединения к бэкендам могли кэшироваться некорректно.
4188</para>
4189<para lang="en">
4190connections to upstream servers might be cached incorrectly
4191when using the "keepalive" directive.
4192</para>
4193</change>
4194
4195<change type="bugfix">
4196<para lang="ru">
4197после перенаправления запроса с помощью X-Accel-Redirect
4198при проксировании использовался HTTP-метод оригинального запроса.
4199</para>
4200<para lang="en">
4201proxying used the HTTP method of the original request
4202after an "X-Accel-Redirect" redirection.
4203</para>
4204</change>
4205
4206</changes>
4207
4208
4209<changes ver="1.9.9" date="2015-12-09">
4210
4211<change type="bugfix">
4212<para lang="ru">
4213проксирование в unix domain сокеты не работало при использовании переменных;
4214ошибка появилась в 1.9.8.
4215</para>
4216<para lang="en">
4217proxying to unix domain sockets did not work when using variables;
4218the bug had appeared in 1.9.8.
4219</para>
4220</change>
4221
4222</changes>
4223
4224
4225<changes ver="1.9.8" date="2015-12-08">
4226
4227<change type="feature">
4228<para lang="ru">
4229поддержка pwritev().
4230</para>
4231<para lang="en">
4232pwritev() support.
4233</para>
4234</change>
4235
4236<change type="feature">
4237<para lang="ru">
4238директива include в блоке upstream.
4239</para>
4240<para lang="en">
4241the "include" directive inside the "upstream" block.
4242</para>
4243</change>
4244
4245<change type="feature">
4246<para lang="ru">
4247модуль ngx_http_slice_module.
4248</para>
4249<para lang="en">
4250the ngx_http_slice_module.
4251</para>
4252</change>
4253
4254<change type="bugfix">
4255<para lang="ru">
4256при использовании LibreSSL
4257в рабочем процессе мог произойти segmentation fault;
4258ошибка появилась в 1.9.6.
4259</para>
4260<para lang="en">
4261a segmentation fault might occur in a worker process
4262when using LibreSSL;
4263the bug had appeared in 1.9.6.
4264</para>
4265</change>
4266
4267<change type="bugfix">
4268<para lang="ru">
4269nginx мог не собираться на OS X.
4270</para>
4271<para lang="en">
4272nginx could not be built on OS X in some cases.
4273</para>
4274</change>
4275
4276</changes>
4277
4278
4279<changes ver="1.9.7" date="2015-11-17">
4280
4281<change type="feature">
4282<para lang="ru">
4283параметр nohostname логгирования в syslog.
4284</para>
4285<para lang="en">
4286the "nohostname" parameter of logging to syslog.
4287</para>
4288</change>
4289
4290<change type="feature">
4291<para lang="ru">
4292директива proxy_cache_convert_head.
4293</para>
4294<para lang="en">
4295the "proxy_cache_convert_head" directive.
4296</para>
4297</change>
4298
4299<change type="feature">
4300<para lang="ru">
4301переменная $realip_remote_addr в модуле ngx_http_realip_module.
4302</para>
4303<para lang="en">
4304the $realip_remote_addr variable in the ngx_http_realip_module.
4305</para>
4306</change>
4307
4308<change type="bugfix">
4309<para lang="ru">
4310директива expires могла не срабатывать при использовании переменных.
4311</para>
4312<para lang="en">
4313the "expires" directive might not work when using variables.
4314</para>
4315</change>
4316
4317<change type="bugfix">
4318<para lang="ru">
4319при использовании HTTP/2
4320в рабочем процессе мог произойти segmentation fault;
4321ошибка появилась в 1.9.6.
4322</para>
4323<para lang="en">
4324a segmentation fault might occur in a worker process
4325when using HTTP/2;
4326the bug had appeared in 1.9.6.
4327</para>
4328</change>
4329
4330<change type="bugfix">
4331<para lang="ru">
4332если nginx был собран с модулем ngx_http_v2_module,
4333протокол HTTP/2 мог быть использован клиентом,
4334даже если не был указан параметр http2 директивы listen.
4335</para>
4336<para lang="en">
4337if nginx was built with the ngx_http_v2_module
4338it was possible to use the HTTP/2 protocol
4339even if the "http2" parameter of the "listen" directive was not specified.
4340</para>
4341</change>
4342
4343<change type="bugfix">
4344<para lang="ru">
4345в модуле ngx_http_v2_module.
4346</para>
4347<para lang="en">
4348in the ngx_http_v2_module.
4349</para>
4350</change>
4351
4352</changes>
4353
4354
4355<changes ver="1.9.6" date="2015-10-27">
4356
4357<change type="bugfix">
4358<para lang="ru">
4359при использовании HTTP/2
4360в рабочем процессе мог произойти segmentation fault.<br/>
4361Спасибо Piotr Sikora и Denis Andzakovic.
4362</para>
4363<para lang="en">
4364a segmentation fault might occur in a worker process
4365when using HTTP/2.<br/>
4366Thanks to Piotr Sikora and Denis Andzakovic.
4367</para>
4368</change>
4369
4370<change type="bugfix">
4371<para lang="ru">
4372при использовании HTTP/2 переменная $server_protocol была пустой.
4373</para>
4374<para lang="en">
4375the $server_protocol variable was empty when using HTTP/2.
4376</para>
4377</change>
4378
4379<change type="bugfix">
4380<para lang="ru">
4381SSL-соединения к бэкендам в модуле stream
4382могли неожиданно завершаться по таймауту.
4383</para>
4384<para lang="en">
4385backend SSL connections in the stream module
4386might be timed out unexpectedly.
4387</para>
4388</change>
4389
4390<change type="bugfix">
4391<para lang="ru">
4392при использовании различных настроек ssl_session_cache
4393в разных виртуальных серверах
4394в рабочем процессе мог произойти segmentation fault.
4395</para>
4396<para lang="en">
4397a segmentation fault might occur in a worker process
4398if different ssl_session_cache settings were used
4399in different virtual servers.
4400</para>
4401</change>
4402
4403<change type="bugfix">
4404<para lang="ru">
4405nginx/Windows не собирался с MinGW gcc;
4406ошибка появилась в 1.9.4.<br/>
4407Спасибо Kouhei Sutou.
4408</para>
4409<para lang="en">
4410nginx/Windows could not be built with MinGW gcc;
4411the bug had appeared in 1.9.4.<br/>
4412Thanks to Kouhei Sutou.
4413</para>
4414</change>
4415
4416<change type="bugfix">
4417<para lang="ru">
4418при использовании директивы timer_resolution на Windows время не обновлялось.
4419</para>
4420<para lang="en">
4421time was not updated when the timer_resolution directive was used on Windows.
4422</para>
4423</change>
4424
4425<change>
4426<para lang="ru">
4427Незначительные исправления и улучшения.<br/>
4428Спасибо Markus Linnala, Kurtis Nusbaum и Piotr Sikora.
4429</para>
4430<para lang="en">
4431Miscellaneous minor fixes and improvements.<br/>
4432Thanks to Markus Linnala, Kurtis Nusbaum and Piotr Sikora.
4433</para>
4434</change>
4435
4436</changes>
4437
4438
4439<changes ver="1.9.5" date="2015-09-22">
4440
4441<change type="feature">
4442<para lang="ru">
4443модуль ngx_http_v2_module (заменяет модуль ngx_http_spdy_module).<br/>
4444Спасибо Dropbox и Automattic за спонсирование разработки.
4445</para>
4446<para lang="en">
4447the ngx_http_v2_module (replaces ngx_http_spdy_module).<br/>
4448Thanks to Dropbox and Automattic for sponsoring this work.
4449</para>
4450</change>
4451
4452<change type="change">
4453<para lang="ru">
4454теперь по умолчанию директива output_buffers использует два буфера.
4455</para>
4456<para lang="en">
4457now the "output_buffers" directive uses two buffers by default.
4458</para>
4459</change>
4460
4461<change type="change">
4462<para lang="ru">
4463теперь nginx ограничивает максимальную вложенность подзапросов,
4464а не количество одновременных подзапросов.
4465</para>
4466<para lang="en">
4467now nginx limits subrequests recursion,
4468not simultaneous subrequests.
4469</para>
4470</change>
4471
4472<change type="change">
4473<para lang="ru">
4474теперь при возврате ответов из кэша nginx проверяет ключ полностью.<br/>
4475Спасибо Геннадию Махомеду и Сергею Брестеру.
4476</para>
4477<para lang="en">
4478now nginx checks the whole cache key when returning a response from cache.<br/>
4479Thanks to Gena Makhomed and Sergey Brester.
4480</para>
4481</change>
4482
4483<change type="bugfix">
4484<para lang="ru">
4485при использовании кэша
4486в логах могли появляться сообщения "header already sent";
4487ошибка появилась в 1.7.5.
4488</para>
4489<para lang="en">
4490"header already sent" alerts might appear in logs
4491when using cache;
4492the bug had appeared in 1.7.5.
4493</para>
4494</change>
4495
4496<change type="bugfix">
4497<para lang="ru">
4498при использовании CephFS и директивы timer_resolution на Linux
4499в логах могли появляться сообщения
4500"writev() failed (4: Interrupted system call)".
4501</para>
4502<para lang="en">
4503"writev() failed (4: Interrupted system call)"
4504errors might appear in logs
4505when using CephFS and the "timer_resolution" directive on Linux.
4506</para>
4507</change>
4508
4509<change type="bugfix">
4510<para lang="ru">
4511в обработке ошибок конфигурации.<br/>
4512Спасибо Markus Linnala.
4513</para>
4514<para lang="en">
4515in invalid configurations handling.<br/>
4516Thanks to Markus Linnala.
4517</para>
4518</change>
4519
4520<change type="bugfix">
4521<para lang="ru">
4522при использовании директивы sub_filter на уровне http
4523в рабочем процессе происходил segmentation fault;
4524ошибка появилась в 1.9.4.
4525</para>
4526<para lang="en">
4527a segmentation fault occurred in a worker process
4528if the "sub_filter" directive was used at http level;
4529the bug had appeared in 1.9.4.
4530</para>
4531</change>
4532
4533</changes>
4534
4535
4536<changes ver="1.9.4" date="2015-08-18">
4537
4538<change type="change">
4539<para lang="ru">
4540директивы proxy_downstream_buffer и proxy_upstream_buffer в модуле stream
4541заменены директивой proxy_buffer_size.
4542</para>
4543<para lang="en">
4544the "proxy_downstream_buffer" and "proxy_upstream_buffer" directives
4545of the stream module are replaced with the "proxy_buffer_size" directive.
4546</para>
4547</change>
4548
4549<change type="feature">
4550<para lang="ru">
4551директива tcp_nodelay в модуле stream.
4552</para>
4553<para lang="en">
4554the "tcp_nodelay" directive in the stream module.
4555</para>
4556</change>
4557
4558<change type="feature">
4559<para lang="ru">
4560теперь можно указать несколько директив sub_filter одновременно.
4561</para>
4562<para lang="en">
4563multiple "sub_filter" directives can be used simultaneously.
4564</para>
4565</change>
4566
4567<change type="feature">
4568<para lang="ru">
4569директива sub_filter поддерживает переменные в строке поиска.
4570</para>
4571<para lang="en">
4572variables support in the search string of the "sub_filter" directive.
4573</para>
4574</change>
4575
4576<change type="workaround">
4577<para lang="ru">
4578тестирование конфигурации могло не работать под Linux OpenVZ.<br/>
4579Спасибо Геннадию Махомеду.
4580</para>
4581<para lang="en">
4582configuration testing might fail under Linux OpenVZ.<br/>
4583Thanks to Gena Makhomed.
4584</para>
4585</change>
4586
4587<change type="bugfix">
4588<para lang="ru">
4589после переконфигурации старые рабочие процессы могли сильно нагружать процессор
4590при больших значениях worker_connections.
4591</para>
4592<para lang="en">
4593old worker processes might hog CPU after reconfiguration
4594with a large number of worker_connections.
4595</para>
4596</change>
4597
4598<change type="bugfix">
4599<para lang="ru">
4600при совместном использовании директив try_files и alias
4601внутри location'а, заданного регулярным выражением,
4602в рабочем процессе мог произойти segmentation fault;
4603ошибка появилась в 1.7.1.
4604</para>
4605<para lang="en">
4606a segmentation fault might occur in a worker process
4607if the "try_files" and "alias" directives were used
4608inside a location given by a regular expression;
4609the bug had appeared in 1.7.1.
4610</para>
4611</change>
4612
4613<change type="bugfix">
4614<para lang="ru">
4615директива try_files внутри вложенного location'а, заданного регулярным
4616выражением, работала неправильно, если во внешнем location'е использовалась
4617директива alias.
4618</para>
4619<para lang="en">
4620the "try_files" directive inside a nested location
4621given by a regular expression worked incorrectly
4622if the "alias" directive was used in the outer location.
4623</para>
4624</change>
4625
4626<change type="bugfix">
4627<para lang="ru">
4628в обработке ошибок при построении хэш-таблиц.
4629</para>
4630<para lang="en">
4631in hash table initialization error handling.
4632</para>
4633</change>
4634
4635<change type="bugfix">
4636<para lang="ru">
4637nginx не собирался с Visual Studio 2015.
4638</para>
4639<para lang="en">
4640nginx could not be built with Visual Studio 2015.
4641</para>
4642</change>
4643
4644</changes>
4645
4646
4647<changes ver="1.9.3" date="2015-07-14">
4648
4649<change type="change">
4650<para lang="ru">
4651дублирующиеся блоки http, mail и stream теперь запрещены.
4652</para>
4653<para lang="en">
4654duplicate "http", "mail", and "stream" blocks are now disallowed.
4655</para>
4656</change>
4657
4658<change type="feature">
4659<para lang="ru">
4660ограничение количества соединений в модуле stream.
4661</para>
4662<para lang="en">
4663connection limiting in the stream module.
4664</para>
4665</change>
4666
4667<change type="feature">
4668<para lang="ru">
4669ограничение скорости в модуле stream.
4670</para>
4671<para lang="en">
4672data rate limiting in the stream module.
4673</para>
4674</change>
4675
4676<change type="bugfix">
4677<para lang="ru">
4678директива zone в блоке upstream не работала на Windows.
4679</para>
4680<para lang="en">
4681the "zone" directive inside the "upstream" block did not work on Windows.
4682</para>
4683</change>
4684
4685<change type="bugfix">
4686<para lang="ru">
4687совместимость с LibreSSL в модуле stream.<br/>
4688Спасибо Piotr Sikora.
4689</para>
4690<para lang="en">
4691compatibility with LibreSSL in the stream module.<br/>
4692Thanks to Piotr Sikora.
4693</para>
4694</change>
4695
4696<change type="bugfix">
4697<para lang="ru">
4698в параметре --builddir в configure.<br/>
4699Спасибо Piotr Sikora.
4700</para>
4701<para lang="en">
4702in the "--builddir" configure parameter.<br/>
4703Thanks to Piotr Sikora.
4704</para>
4705</change>
4706
4707<change type="bugfix">
4708<para lang="ru">
4709директива ssl_stapling_file не работала;
4710ошибка появилась в 1.9.2.<br/>
4711Спасибо Faidon Liambotis и Brandon Black.
4712</para>
4713<para lang="en">
4714the "ssl_stapling_file" directive did not work;
4715the bug had appeared in 1.9.2.<br/>
4716Thanks to Faidon Liambotis and Brandon Black.
4717</para>
4718</change>
4719
4720<change type="bugfix">
4721<para lang="ru">
4722при использовании директивы ssl_stapling
4723в рабочем процессе мог произойти segmentation fault;
4724ошибка появилась в 1.9.2.<br/>
4725Спасибо Matthew Baldwin.
4726</para>
4727<para lang="en">
4728a segmentation fault might occur in a worker process
4729if the "ssl_stapling" directive was used;
4730the bug had appeared in 1.9.2.<br/>
4731Thanks to Matthew Baldwin.
4732</para>
4733</change>
4734
4735</changes>
4736
4737
4738<changes ver="1.9.2" date="2015-06-16">
4739
4740<change type="feature">
4741<para lang="ru">
4742параметр backlog директивы listen
4743в почтовом прокси-сервере и модуле stream.
4744</para>
4745<para lang="en">
4746the "backlog" parameter of the "listen" directives
4747of the mail proxy and stream modules.
4748</para>
4749</change>
4750
4751<change type="feature">
4752<para lang="ru">
4753директивы allow и deny в модуле stream.
4754</para>
4755<para lang="en">
4756the "allow" and "deny" directives in the stream module.
4757</para>
4758</change>
4759
4760<change type="feature">
4761<para lang="ru">
4762директива proxy_bind в модуле stream.
4763</para>
4764<para lang="en">
4765the "proxy_bind" directive in the stream module.
4766</para>
4767</change>
4768
4769<change type="feature">
4770<para lang="ru">
4771директива proxy_protocol в модуле stream.
4772</para>
4773<para lang="en">
4774the "proxy_protocol" directive in the stream module.
4775</para>
4776</change>
4777
4778<change type="feature">
4779<para lang="ru">
4780ключ -T.
4781</para>
4782<para lang="en">
4783the -T switch.
4784</para>
4785</change>
4786
4787<change type="feature">
4788<para lang="ru">
4789параметр REQUEST_SCHEME добавлен в стандартные конфигурационные файлы
4790fastcgi.conf, fastcgi_params, scgi_params и uwsgi_params.
4791</para>
4792<para lang="en">
4793the REQUEST_SCHEME parameter added to the fastcgi.conf, fastcgi_params,
4794scgi_params, and uwsgi_params standard configuration files.
4795</para>
4796</change>
4797
4798<change type="bugfix">
4799<para lang="ru">
4800параметр reuseport директивы listen в модуле stream
4801не работал.
4802</para>
4803<para lang="en">
4804the "reuseport" parameter of the "listen" directive of the stream module
4805did not work.
4806</para>
4807</change>
4808
4809<change type="bugfix">
4810<para lang="ru">
4811OCSP stapling в некоторых случаях мог вернуть устаревший OCSP-ответ.
4812</para>
4813<para lang="en">
4814OCSP stapling might return an expired OCSP response in some cases.
4815</para>
4816</change>
4817
4818</changes>
4819
4820
4821<changes ver="1.9.1" date="2015-05-26">
4822
4823<change type="change">
4824<para lang="ru">
4825теперь протокол SSLv3 по умолчанию запрещён.
4826</para>
4827<para lang="en">
4828now SSLv3 protocol is disabled by default.
4829</para>
4830</change>
4831
4832<change type="change">
4833<para lang="ru">
4834некоторые давно устаревшие директивы больше не поддерживаются.
4835</para>
4836<para lang="en">
4837some long deprecated directives are not supported anymore.
4838</para>
4839</change>
4840
4841<change type="feature">
4842<para lang="ru">
4843параметр reuseport директивы listen.<br/>
4844Спасибо Yingqi Lu из Intel и Sepherosa Ziehau.
4845</para>
4846<para lang="en">
4847the "reuseport" parameter of the "listen" directive.<br/>
4848Thanks to Yingqi Lu at Intel and Sepherosa Ziehau.
4849</para>
4850</change>
4851
4852<change type="feature">
4853<para lang="ru">
4854переменная $upstream_connect_time.
4855</para>
4856<para lang="en">
4857the $upstream_connect_time variable.
4858</para>
4859</change>
4860
4861<change type="bugfix">
4862<para lang="ru">
4863в директиве hash на big-endian платформах.
4864</para>
4865<para lang="en">
4866in the "hash" directive on big-endian platforms.
4867</para>
4868</change>
4869
4870<change type="bugfix">
4871<para lang="ru">
4872nginx мог не запускаться на некоторых старых версиях Linux;
4873ошибка появилась в 1.7.11.
4874</para>
4875<para lang="en">
4876nginx might fail to start on some old Linux variants;
4877the bug had appeared in 1.7.11.
4878</para>
4879</change>
4880
4881<change type="bugfix">
4882<para lang="ru">
4883в парсинге IP-адресов.<br/>
4884Спасибо Сергею Половко.
4885</para>
4886<para lang="en">
4887in IP address parsing.<br/>
4888Thanks to Sergey Polovko.
4889</para>
4890</change>
4891
4892</changes>
4893
4894
4895<changes ver="1.9.0" date="2015-04-28">
4896
4897<change type="change">
4898<para lang="ru">
4899устаревшие методы обработки соединений aio и rtsig больше не поддерживаются.
4900</para>
4901<para lang="en">
4902obsolete aio and rtsig event methods have been removed.
4903</para>
4904</change>
4905
4906<change type="feature">
4907<para lang="ru">
4908директива zone в блоке upstream.
4909</para>
4910<para lang="en">
4911the "zone" directive inside the "upstream" block.
4912</para>
4913</change>
4914
4915<change type="feature">
4916<para lang="ru">
4917модуль stream.
4918</para>
4919<para lang="en">
4920the stream module.
4921</para>
4922</change>
4923
4924<change type="feature">
4925<para lang="ru">
4926поддержка byte ranges для ответов модуля ngx_http_memcached_module.<br/>
4927Спасибо Martin Mlynář.
4928</para>
4929<para lang="en">
4930byte ranges support in the ngx_http_memcached_module.<br/>
4931Thanks to Martin Mlynář.
4932</para>
4933</change>
4934
4935<change type="feature">
4936<para lang="ru">
4937разделяемую память теперь можно использовать на версиях Windows
4938с рандомизацией адресного пространства.<br/>
4939Спасибо Сергею Брестеру.
4940</para>
4941<para lang="en">
4942shared memory can now be used on Windows versions
4943with address space layout randomization.<br/>
4944Thanks to Sergey Brester.
4945</para>
4946</change>
4947
4948<change type="feature">
4949<para lang="ru">
4950директиву error_log теперь можно использовать
4951на уровнях mail и server в почтовом прокси-сервере.
4952</para>
4953<para lang="en">
4954the "error_log" directive can now be used
4955on mail and server levels in mail proxy.
4956</para>
4957</change>
4958
4959<change type="bugfix">
4960<para lang="ru">
4961параметр proxy_protocol директивы listen не работал,
4962если не был указан в первой директиве listen для данного listen-сокета.
4963</para>
4964<para lang="en">
4965the "proxy_protocol" parameter of the "listen" directive did not work
4966if not specified in the first "listen" directive for a listen socket.
4967</para>
4968</change>
4969
4970</changes>
4971
4972
4973<changes ver="1.7.12" date="2015-04-07">
4974
4975<change type="feature">
4976<para lang="ru">
4977теперь директива tcp_nodelay работает для SSL-соединений с бэкендами.
4978</para>
4979<para lang="en">
4980now the "tcp_nodelay" directive works with backend SSL connections.
4981</para>
4982</change>
4983
4984<change type="feature">
4985<para lang="ru">
4986теперь потоки могут использоваться для чтения заголовков файлов в кэше.
4987</para>
4988<para lang="en">
4989now thread pools can be used to read cache file headers.
4990</para>
4991</change>
4992
4993<change type="bugfix">
4994<para lang="ru">
4995в директиве proxy_request_buffering.
4996</para>
4997<para lang="en">
4998in the "proxy_request_buffering" directive.
4999</para>
5000</change>
5001
5002<change type="bugfix">
5003<para lang="ru">
5004при использовании потоков на Linux
5005в рабочем процессе мог произойти segmentation fault.
5006</para>
5007<para lang="en">
5008a segmentation fault might occur in a worker process
5009when using thread pools on Linux.
5010</para>
5011</change>
5012
5013<change type="bugfix">
5014<para lang="ru">
5015в обработке ошибок при использовании директивы ssl_stapling.<br/>
5016Спасибо Filipe da Silva.
5017</para>
5018<para lang="en">
5019in error handling when using the "ssl_stapling" directive.<br/>
5020Thanks to Filipe da Silva.
5021</para>
5022</change>
5023
5024<change type="bugfix">
5025<para lang="ru">
5026в модуле ngx_http_spdy_module.
5027</para>
5028<para lang="en">
5029in the ngx_http_spdy_module.
5030</para>
5031</change>
5032
5033</changes>
5034
5035
5036<changes ver="1.7.11" date="2015-03-24">
5037
5038<change type="change">
5039<para lang="ru">
5040параметр sendfile директивы aio более не нужен;
5041теперь nginx автоматически использует AIO для подгрузки данных для sendfile,
5042если одновременно используются директивы aio и sendfile.
5043</para>
5044<para lang="en">
5045the "sendfile" parameter of the "aio" directive is deprecated;
5046now nginx automatically uses AIO to pre-load data for sendfile
5047if both "aio" and "sendfile" directives are used.
5048</para>
5049</change>
5050
5051<change type="feature">
5052<para lang="ru">
5053экспериментальная поддержка потоков.
5054</para>
5055<para lang="en">
5056experimental thread pools support.
5057</para>
5058</change>
5059
5060<change type="feature">
5061<para lang="ru">
5062директивы proxy_request_buffering, fastcgi_request_buffering,
5063scgi_request_buffering и uwsgi_request_buffering.
5064</para>
5065<para lang="en">
5066the "proxy_request_buffering", "fastcgi_request_buffering",
5067"scgi_request_buffering", and "uwsgi_request_buffering" directives.
5068</para>
5069</change>
5070
5071<change type="feature">
5072<para lang="ru">
5073экспериментальное API для обработки тела запроса.
5074</para>
5075<para lang="en">
5076request body filters experimental API.
5077</para>
5078</change>
5079
5080<change type="feature">
5081<para lang="ru">
5082проверка клиентских SSL-сертификатов в почтовом прокси-сервере.<br/>
5083Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva.
5084</para>
5085<para lang="en">
5086client SSL certificates support in mail proxy.<br/>
5087Thanks to Sven Peter, Franck Levionnois, and Filipe Da Silva.
5088</para>
5089</change>
5090
5091<change type="feature">
5092<para lang="ru">
5093уменьшение времени запуска
5094при использовании директивы "hash ... consistent" в блоке upstream.<br/>
5095Спасибо Wai Keen Woon.
5096</para>
5097<para lang="en">
5098startup speedup
5099when using the "hash ... consistent" directive in the upstream block.<br/>
5100Thanks to Wai Keen Woon.
5101</para>
5102</change>
5103
5104<change type="feature">
5105<para lang="ru">
5106отладочное логгирование в кольцевой буфер в памяти.
5107</para>
5108<para lang="en">
5109debug logging into a cyclic memory buffer.
5110</para>
5111</change>
5112
5113<change type="bugfix">
5114<para lang="ru">
5115в обработке хэш-таблиц.<br/>
5116Спасибо Chris West.
5117</para>
5118<para lang="en">
5119in hash table handling.<br/>
5120Thanks to Chris West.
5121</para>
5122</change>
5123
5124<change type="bugfix">
5125<para lang="ru">
5126в директиве proxy_cache_revalidate.
5127</para>
5128<para lang="en">
5129in the "proxy_cache_revalidate" directive.
5130</para>
5131</change>
5132
5133<change type="bugfix">
5134<para lang="ru">
5135SSL-соединения могли зависать, если использовался отложенный accept
5136или параметр proxy_protocol директивы listen.<br/>
5137Спасибо James Hamlin.
5138</para>
5139<para lang="en">
5140SSL connections might hang if deferred accept
5141or the "proxy_protocol" parameter of the "listen" directive were used.<br/>
5142Thanks to James Hamlin.
5143</para>
5144</change>
5145
5146<change type="bugfix">
5147<para lang="ru">
5148переменная $upstream_response_time могла содержать неверное значение
5149при использовании директивы image_filter.
5150</para>
5151<para lang="en">
5152the $upstream_response_time variable might contain a wrong value
5153if the "image_filter" directive was used.
5154</para>
5155</change>
5156
5157<change type="bugfix">
5158<para lang="ru">
5159в обработке целочисленных переполнений.<br/>
5160Спасибо Régis Leroy.
5161</para>
5162<para lang="en">
5163in integer overflow handling.<br/>
5164Thanks to Régis Leroy.
5165</para>
5166</change>
5167
5168<change type="bugfix">
5169<para lang="ru">
5170при использовании LibreSSL было невозможно включить поддержку SSLv3.
5171</para>
5172<para lang="en">
5173it was not possible to enable SSLv3 with LibreSSL.
5174</para>
5175</change>
5176
5177<change type="bugfix">
5178<para lang="ru">
5179при использовании LibreSSL в логах появлялись сообщения
5180"ignoring stale global SSL error ... called a function you should not call".
5181</para>
5182<para lang="en">
5183the "ignoring stale global SSL error ... called a function you should not call"
5184alerts appeared in logs when using LibreSSL.
5185</para>
5186</change>
5187
5188<change type="bugfix">
5189<para lang="ru">
5190сертификаты, указанные в директивах ssl_client_certificate и
5191ssl_trusted_certificate, использовались
5192для автоматического построения цепочек сертификатов.
5193</para>
5194<para lang="en">
5195certificates specified by the "ssl_client_certificate" and
5196"ssl_trusted_certificate" directives were inadvertently used
5197to automatically construct certificate chains.
5198</para>
5199</change>
5200
5201</changes>
5202
5203
5204<changes ver="1.7.10" date="2015-02-10">
5205
5206<change type="feature">
5207<para lang="ru">
5208параметр use_temp_path директив proxy_cache_path, fastcgi_cache_path,
5209scgi_cache_path и uwsgi_cache_path.
5210</para>
5211<para lang="en">
5212the "use_temp_path" parameter of the "proxy_cache_path", "fastcgi_cache_path",
5213"scgi_cache_path", and "uwsgi_cache_path" directives.
5214</para>
5215</change>
5216
5217<change type="feature">
5218<para lang="ru">
5219переменная $upstream_header_time.
5220</para>
5221<para lang="en">
5222the $upstream_header_time variable.
5223</para>
5224</change>
5225
5226<change type="workaround">
5227<para lang="ru">
5228теперь при переполнении диска nginx пытается писать error_log'и только
5229раз в секунду.
5230</para>
5231<para lang="en">
5232now on disk overflow nginx tries to write error logs once a second only.
5233</para>
5234</change>
5235
5236<change type="bugfix">
5237<para lang="ru">
5238директива try_files при тестировании каталогов
5239не игнорировала обычные файлы.<br/>
5240Спасибо Damien Tournoud.
5241</para>
5242<para lang="en">
5243the "try_files" directive did not ignore normal files
5244while testing directories.<br/>
5245Thanks to Damien Tournoud.
5246</para>
5247</change>
5248
5249<change type="bugfix">
5250<para lang="ru">
5251при использовании директивы sendfile на OS X
5252возникали ошибки "sendfile() failed";
5253ошибка появилась в nginx 1.7.8.
5254</para>
5255<para lang="en">
5256alerts "sendfile() failed"
5257if the "sendfile" directive was used on OS X;
5258the bug had appeared in 1.7.8.
5259</para>
5260</change>
5261
5262<change type="bugfix">
5263<para lang="ru">
5264в лог могли писаться сообщения "sem_post() failed".
5265</para>
5266<para lang="en">
5267alerts "sem_post() failed" might appear in logs.
5268</para>
5269</change>
5270
5271<change type="bugfix">
5272<para lang="ru">
5273nginx не собирался с musl libc.<br/>
5274Спасибо James Taylor.
5275</para>
5276<para lang="en">
5277nginx could not be built with musl libc.<br/>
5278Thanks to James Taylor.
5279</para>
5280</change>
5281
5282<change type="bugfix">
5283<para lang="ru">
5284nginx не собирался на Tru64 UNIX.<br/>
5285Спасибо Goetz T. Fischer.
5286</para>
5287<para lang="en">
5288nginx could not be built on Tru64 UNIX.<br/>
5289Thanks to Goetz T. Fischer.
5290</para>
5291</change>
5292
5293</changes>
5294
5295
5296<changes ver="1.7.9" date="2014-12-23">
5297
5298<change type="feature">
5299<para lang="ru">
5300директивы proxy_cache, fastcgi_cache, scgi_cache и uwsgi_cache
5301поддерживают переменные.
5302</para>
5303<para lang="en">
5304variables support in the "proxy_cache", "fastcgi_cache", "scgi_cache",
5305and "uwsgi_cache" directives.
5306</para>
5307</change>
5308
5309<change type="feature">
5310<para lang="ru">
5311директива expires поддерживает переменные.
5312</para>
5313<para lang="en">
5314variables support in the "expires" directive.
5315</para>
5316</change>
5317
5318<change type="feature">
5319<para lang="ru">
5320возможность загрузки секретных ключей с аппаратных устройств
5321с помощью OpenSSL engines.<br/>
5322Спасибо Дмитрию Пичулину.
5323</para>
5324<para lang="en">
5325loading of secret keys from hardware tokens
5326with OpenSSL engines.<br/>
5327Thanks to Dmitrii Pichulin.
5328</para>
5329</change>
5330
5331<change type="feature">
5332<para lang="ru">
5333директива autoindex_format.
5334</para>
5335<para lang="en">
5336the "autoindex_format" directive.
5337</para>
5338</change>
5339
5340<change type="bugfix">
5341<para lang="ru">
5342ревалидация элементов кэша теперь используется только для ответов
5343с кодами 200 и 206.<br/>
5344Спасибо Piotr Sikora.
5345</para>
5346<para lang="en">
5347cache revalidation is now only used for responses
5348with 200 and 206 status codes.<br/>
5349Thanks to Piotr Sikora.
5350</para>
5351</change>
5352
5353<change type="bugfix">
5354<para lang="ru">
5355строка "TE" заголовка запроса клиента передавалась на бэкенд при проксировании.
5356</para>
5357<para lang="en">
5358the "TE" client request header line was passed to backends while proxying.
5359</para>
5360</change>
5361
5362<change type="bugfix">
5363<para lang="ru">
5364директивы proxy_pass, fastcgi_pass, scgi_pass и uwsgi_pass
5365могли неправильно работать внутри блоков if и limit_except.
5366</para>
5367<para lang="en">
5368the "proxy_pass", "fastcgi_pass", "scgi_pass", and "uwsgi_pass" directives
5369might not work correctly inside the "if" and "limit_except" blocks.
5370</para>
5371</change>
5372
5373<change type="bugfix">
5374<para lang="ru">
5375директива proxy_store с параметром "on" игнорировалась,
5376если на предыдущем уровне использовалась директива proxy_store
5377с явно заданным путём к файлам.
5378</para>
5379<para lang="en">
5380the "proxy_store" directive with the "on" parameter was ignored
5381if the "proxy_store" directive with an explicitly specified file path
5382was used on a previous level.
5383</para>
5384</change>
5385
5386<change type="bugfix">
5387<para lang="ru">
5388nginx не собирался с BoringSSL.<br/>
5389Спасибо Lukas Tribus.
5390</para>
5391<para lang="en">
5392nginx could not be built with BoringSSL.<br/>
5393Thanks to Lukas Tribus.
5394</para>
5395</change>
5396
5397</changes>
5398
5399
5400<changes ver="1.7.8" date="2014-12-02">
5401
5402<change type="change">
5403<para lang="ru">
5404теперь строки "If-Modified-Since", "If-Range" и им подобные
5405в заголовке запроса клиента передаются бэкенду при включённом кэшировании,
5406если nginx заранее знает, что не будет кэшировать ответ
5407(например, при использовании proxy_cache_min_uses).
5408</para>
5409<para lang="en">
5410now the "If-Modified-Since", "If-Range", etc.
5411client request header lines are passed to a backend while caching
5412if nginx knows in advance that the response will not be cached
5413(e.g., when using proxy_cache_min_uses).
5414</para>
5415</change>
5416
5417<change type="change">
5418<para lang="ru">
5419теперь после истечения proxy_cache_lock_timeout
5420nginx отправляет запрос на бэкенд без кэширования;
5421новые директивы proxy_cache_lock_age, fastcgi_cache_lock_age,
5422scgi_cache_lock_age и uwsgi_cache_lock_age позволяют указать,
5423через какое время блокировка будет принудительно снята
5424и будет сделана ещё одна попытка закэшировать ответ.
5425</para>
5426<para lang="en">
5427now after proxy_cache_lock_timeout
5428nginx sends a request to a backend with caching disabled;
5429the new directives "proxy_cache_lock_age", "fastcgi_cache_lock_age",
5430"scgi_cache_lock_age", and "uwsgi_cache_lock_age" specify a time
5431after which the lock will be released
5432and another attempt to cache a response will be made.
5433</para>
5434</change>
5435
5436<change type="change">
5437<para lang="ru">
5438директива log_format теперь может использоваться только на уровне http.
5439</para>
5440<para lang="en">
5441the "log_format" directive can now be used only at http level.
5442</para>
5443</change>
5444
5445<change type="feature">
5446<para lang="ru">
5447директивы proxy_ssl_certificate, proxy_ssl_certificate_key,
5448proxy_ssl_password_file, uwsgi_ssl_certificate,
5449uwsgi_ssl_certificate_key и uwsgi_ssl_password_file.<br/>
5450Спасибо Piotr Sikora.
5451</para>
5452<para lang="en">
5453the "proxy_ssl_certificate", "proxy_ssl_certificate_key",
5454"proxy_ssl_password_file", "uwsgi_ssl_certificate",
5455"uwsgi_ssl_certificate_key", and "uwsgi_ssl_password_file" directives.<br/>
5456Thanks to Piotr Sikora.
5457</para>
5458</change>
5459
5460<change type="feature">
5461<para lang="ru">
5462теперь с помощью X-Accel-Redirect
5463можно перейти в именованный location.<br/>
5464Спасибо Toshikuni Fukaya.
5465</para>
5466<para lang="en">
5467it is now possible to switch to a named location
5468using "X-Accel-Redirect".<br/>
5469Thanks to Toshikuni Fukaya.
5470</para>
5471</change>
5472
5473<change type="feature">
5474<para lang="ru">
5475теперь директива tcp_nodelay работает для SPDY-соединений.
5476</para>
5477<para lang="en">
5478now the "tcp_nodelay" directive works with SPDY connections.
5479</para>
5480</change>
5481
5482<change type="feature">
5483<para lang="ru">
5484новые директивы в скриптах подсветки синтаксиса для vim.<br/>
5485Спасибо Peter Wu.
5486</para>
5487<para lang="en">
5488new directives in vim syntax highliting scripts.<br/>
5489Thanks to Peter Wu.
5490</para>
5491</change>
5492
5493<change type="bugfix">
5494<para lang="ru">
5495nginx игнорировал значение "s-maxage"
5496в строке "Cache-Control" в заголовке ответа бэкенда.<br/>
5497Спасибо Piotr Sikora.
5498</para>
5499<para lang="en">
5500nginx ignored the "s-maxage" value
5501in the "Cache-Control" backend response header line.<br/>
5502Thanks to Piotr Sikora.
5503</para>
5504</change>
5505
5506<change type="bugfix">
5507<para lang="ru">
5508в модуле ngx_http_spdy_module.<br/>
5509Спасибо Piotr Sikora.
5510</para>
5511<para lang="en">
5512in the ngx_http_spdy_module.<br/>
5513Thanks to Piotr Sikora.
5514</para>
5515</change>
5516
5517<change type="bugfix">
5518<para lang="ru">
5519в директиве ssl_password_file
5520при использовании OpenSSL 0.9.8zc, 1.0.0o, 1.0.1j.
5521</para>
5522<para lang="en">
5523in the "ssl_password_file" directive
5524when using OpenSSL 0.9.8zc, 1.0.0o, 1.0.1j.
5525</para>
5526</change>
5527
5528<change type="bugfix">
5529<para lang="ru">
5530при использовании директивы post_action
5531в лог писались сообщения "header already sent";
5532ошибка появилась в nginx 1.5.4.
5533</para>
5534<para lang="en">
5535alerts "header already sent" appeared in logs
5536if the "post_action" directive was used;
5537the bug had appeared in 1.5.4.
5538</para>
5539</change>
5540
5541<change type="bugfix">
5542<para lang="ru">
5543при использовании директивы "postpone_output 0" с SSI-подзапросами
5544в лог могли писаться сообщения "the http output chain is empty".
5545</para>
5546<para lang="en">
5547alerts "the http output chain is empty" might appear in logs
5548if the "postpone_output 0" directive was used with SSI includes.
5549</para>
5550</change>
5551
5552<change type="bugfix">
5553<para lang="ru">
5554в директиве proxy_cache_lock при использовании SSI-подзапросов.<br/>
5555Спасибо Yichun Zhang.
5556</para>
5557<para lang="en">
5558in the "proxy_cache_lock" directive with SSI subrequests.<br/>
5559Thanks to Yichun Zhang.
5560</para>
5561</change>
5562
5563</changes>
5564
5565
5566<changes ver="1.7.7" date="2014-10-28">
5567
5568<change type="change">
5569<para lang="ru">
5570теперь nginx учитывает при кэшировании строку "Vary"
5571в заголовке ответа бэкенда.
5572</para>
5573<para lang="en">
5574now nginx takes into account the "Vary"
5575header line in a backend response while caching.
5576</para>
5577</change>
5578
5579<change type="feature">
5580<para lang="ru">
5581директивы proxy_force_ranges, fastcgi_force_ranges,
5582scgi_force_ranges и uwsgi_force_ranges.
5583</para>
5584<para lang="en">
5585the "proxy_force_ranges", "fastcgi_force_ranges",
5586"scgi_force_ranges", and "uwsgi_force_ranges" directives.
5587</para>
5588</change>
5589
5590<change type="feature">
5591<para lang="ru">
5592директивы proxy_limit_rate, fastcgi_limit_rate,
5593scgi_limit_rate и uwsgi_limit_rate.
5594</para>
5595<para lang="en">
5596the "proxy_limit_rate", "fastcgi_limit_rate",
5597"scgi_limit_rate", and "uwsgi_limit_rate" directives.
5598</para>
5599</change>
5600
5601<change type="feature">
5602<para lang="ru">
5603параметр Vary директив proxy_ignore_headers, fastcgi_ignore_headers,
5604scgi_ignore_headers и uwsgi_ignore_headers.
5605</para>
5606<para lang="en">
5607the "Vary" parameter of the "proxy_ignore_headers", "fastcgi_ignore_headers",
5608"scgi_ignore_headers", and "uwsgi_ignore_headers" directives.
5609</para>
5610</change>
5611
5612<change type="bugfix">
5613<para lang="ru">
5614последняя часть ответа, полученного от бэкенда
5615при небуферизированном проксировании,
5616могла не отправляться клиенту,
5617если использовались директивы gzip или gunzip.
5618</para>
5619<para lang="en">
5620the last part of a response received from a backend
5621with unbufferred proxy
5622might not be sent to a client
5623if "gzip" or "gunzip" directives were used.
5624</para>
5625</change>
5626
5627<change type="bugfix">
5628<para lang="ru">
5629в директиве proxy_cache_revalidate.<br/>
5630Спасибо Piotr Sikora.
5631</para>
5632<para lang="en">
5633in the "proxy_cache_revalidate" directive.<br/>
5634Thanks to Piotr Sikora.
5635</para>
5636</change>
5637
5638<change type="bugfix">
5639<para lang="ru">
5640в обработке ошибок.<br/>
5641Спасибо Yichun Zhang и Даниилу Бондареву.
5642</para>
5643<para lang="en">
5644in error handling.<br/>
5645Thanks to Yichun Zhang and Daniil Bondarev.
5646</para>
5647</change>
5648
5649<change type="bugfix">
5650<para lang="ru">
5651в директивах
5652proxy_next_upstream_tries и proxy_next_upstream_timeout.<br/>
5653Спасибо Feng Gu.
5654</para>
5655<para lang="en">
5656in the "proxy_next_upstream_tries" and "proxy_next_upstream_timeout"
5657directives.<br/>
5658Thanks to Feng Gu.
5659</para>
5660</change>
5661
5662<change type="bugfix">
5663<para lang="ru">
5664nginx/Windows не собирался с MinGW-w64 gcc.<br/>
5665Спасибо Kouhei Sutou.
5666</para>
5667<para lang="en">
5668nginx/Windows could not be built with MinGW-w64 gcc.<br/>
5669Thanks to Kouhei Sutou.
5670</para>
5671</change>
5672
5673</changes>
5674
5675
5676<changes ver="1.7.6" date="2014-09-30">
5677
5678<change type="change">
5679<para lang="ru">
5680устаревшая директива limit_zone больше не поддерживается.
5681</para>
5682<para lang="en">
5683the deprecated "limit_zone" directive is not supported anymore.
5684</para>
5685</change>
5686
5687<change type="feature">
5688<para lang="ru">
5689в директивах limit_conn_zone и limit_req_zone теперь можно использовать
5690комбинации нескольких переменных.
5691</para>
5692<para lang="en">
5693the "limit_conn_zone" and "limit_req_zone" directives now can be used
5694with combinations of multiple variables.
5695</para>
5696</change>
5697
5698<change type="bugfix">
5699<para lang="ru">
5700при повторной отправке FastCGI-запроса на бэкенд
5701тело запроса могло передаваться неправильно.
5702</para>
5703<para lang="en">
5704request body might be transmitted incorrectly
5705when retrying a FastCGI request to the next upstream server.
5706</para>
5707</change>
5708
5709<change type="bugfix">
5710<para lang="ru">
5711в логгировании в syslog.
5712</para>
5713<para lang="en">
5714in logging to syslog.
5715</para>
5716</change>
5717
5718</changes>
5719
5720
5721<changes ver="1.7.5" date="2014-09-16">
5722
5723<change type="security">
5724<para lang="ru">
5725при использовании общего для нескольких блоков server
5726разделяемого кэша SSL-сессий или общего ключа для шифрования
5727TLS session tickets было возможно повторно использовать
5728SSL-сессию в контексте другого блока server (CVE-2014-3616).<br/>
5729Спасибо Antoine Delignat-Lavaud.
5730</para>
5731<para lang="en">
5732it was possible to reuse SSL sessions in unrelated contexts
5733if a shared SSL session cache or the same TLS session ticket key
5734was used for multiple "server" blocks (CVE-2014-3616).<br/>
5735Thanks to Antoine Delignat-Lavaud.
5736</para>
5737</change>
5738
5739<change type="change">
5740<para lang="ru">
5741директиву stub_status теперь можно указывать без параметров.
5742</para>
5743<para lang="en">
5744now the "stub_status" directive does not require a parameter.
5745</para>
5746</change>
5747
5748<change type="feature">
5749<para lang="ru">
5750параметр always директивы add_header.
5751</para>
5752<para lang="en">
5753the "always" parameter of the "add_header" directive.
5754</para>
5755</change>
5756
5757<change type="feature">
5758<para lang="ru">
5759директивы
5760proxy_next_upstream_tries, proxy_next_upstream_timeout,
5761fastcgi_next_upstream_tries, fastcgi_next_upstream_timeout,
5762memcached_next_upstream_tries, memcached_next_upstream_timeout,
5763scgi_next_upstream_tries, scgi_next_upstream_timeout,
5764uwsgi_next_upstream_tries и uwsgi_next_upstream_timeout.
5765</para>
5766<para lang="en">
5767the
5768"proxy_next_upstream_tries", "proxy_next_upstream_timeout",
5769"fastcgi_next_upstream_tries", "fastcgi_next_upstream_timeout",
5770"memcached_next_upstream_tries", "memcached_next_upstream_timeout",
5771"scgi_next_upstream_tries", "scgi_next_upstream_timeout",
5772"uwsgi_next_upstream_tries", and "uwsgi_next_upstream_timeout"
5773directives.
5774</para>
5775</change>
5776
5777<change type="bugfix">
5778<para lang="ru">
5779в параметре if директивы access_log.
5780</para>
5781<para lang="en">
5782in the "if" parameter of the "access_log" directive.
5783</para>
5784</change>
5785
5786<change type="bugfix">
5787<para lang="ru">
5788в модуле ngx_http_perl_module.<br/>
5789Спасибо Piotr Sikora.
5790</para>
5791<para lang="en">
5792in the ngx_http_perl_module.<br/>
5793Thanks to Piotr Sikora.
5794</para>
5795</change>
5796
5797<change type="bugfix">
5798<para lang="ru">
5799директива listen почтового прокси-сервера
5800не позволяла указать более двух параметров.
5801</para>
5802<para lang="en">
5803the "listen" directive of the mail proxy module
5804did not allow to specify more than two parameters.
5805</para>
5806</change>
5807
5808<change type="bugfix">
5809<para lang="ru">
5810директива sub_filter не работала
5811с заменяемой строкой из одного символа.
5812</para>
5813<para lang="en">
5814the "sub_filter" directive did not work
5815with a string to replace consisting of a single character.
5816</para>
5817</change>
5818
5819<change type="bugfix">
5820<para lang="ru">
5821запросы могли зависать, если использовался resolver
5822и в процессе обращения к DNS-серверу происходил таймаут.
5823</para>
5824<para lang="en">
5825requests might hang if resolver was used
5826and a timeout occurred during a DNS request.
5827</para>
5828</change>
5829
5830<change type="bugfix">
5831<para lang="ru">
5832в модуле ngx_http_spdy_module при использовании совместно с AIO.
5833</para>
5834<para lang="en">
5835in the ngx_http_spdy_module when using with AIO.
5836</para>
5837</change>
5838
5839<change type="bugfix">
5840<para lang="ru">
5841в рабочем процессе мог произойти segmentation fault,
5842если с помощью директивы set изменялись переменные
5843"$http_...", "$sent_http_..." или "$upstream_http_...".
5844</para>
5845<para lang="en">
5846a segmentation fault might occur in a worker process
5847if the "set" directive was used to change the "$http_...",
5848"$sent_http_...", or "$upstream_http_..." variables.
5849</para>
5850</change>
5851
5852<change type="bugfix">
5853<para lang="ru">
5854в обработке ошибок выделения памяти.<br/>
5855Спасибо Markus Linnala и Feng Gu.
5856</para>
5857<para lang="en">
5858in memory allocation error handling.<br/>
5859Thanks to Markus Linnala and Feng Gu.
5860</para>
5861</change>
5862
5863</changes>
5864
5865
5866<changes ver="1.7.4" date="2014-08-05">
5867
5868<change type="security">
5869<para lang="ru">
5870pipelined-команды не отбрасывались
5871после команды STARTTLS в SMTP прокси-сервере (CVE-2014-3556);
5872ошибка появилась в 1.5.6.<br/>
5873Спасибо Chris Boulton.
5874</para>
5875<para lang="en">
5876pipelined commands were not discarded
5877after STARTTLS command in SMTP proxy (CVE-2014-3556);
5878the bug had appeared in 1.5.6.<br/>
5879Thanks to Chris Boulton.
5880</para>
5881</change>
5882
5883<change type="change">
5884<para lang="ru">
5885экранирование символов в URI теперь использует
5886шестнадцатеричные цифры в верхнем регистре.<br/>
5887Спасибо Piotr Sikora.
5888</para>
5889<para lang="en">
5890URI escaping now uses
5891uppercase hexadecimal digits.<br/>
5892Thanks to Piotr Sikora.
5893</para>
5894</change>
5895
5896<change type="feature">
5897<para lang="ru">
5898теперь nginx можно собрать с BoringSSL и LibreSSL.<br/>
5899Спасибо Piotr Sikora.
5900</para>
5901<para lang="en">
5902now nginx can be build with BoringSSL and LibreSSL.<br/>
5903Thanks to Piotr Sikora.
5904</para>
5905</change>
5906
5907<change type="bugfix">
5908<para lang="ru">
5909запросы могли зависать, если использовался resolver
5910и DNS-сервер возвращал некорректный ответ;
5911ошибка появилась в 1.5.8.
5912</para>
5913<para lang="en">
5914requests might hang if resolver was used
5915and a DNS server returned a malformed response;
5916the bug had appeared in 1.5.8.
5917</para>
5918</change>
5919
5920<change type="bugfix">
5921<para lang="ru">
5922в модуле ngx_http_spdy_module.<br/>
5923Спасибо Piotr Sikora.
5924</para>
5925<para lang="en">
5926in the ngx_http_spdy_module.<br/>
5927Thanks to Piotr Sikora.
5928</para>
5929</change>
5930
5931<change type="bugfix">
5932<para lang="ru">
5933переменная $uri могла содержать мусор
5934при возврате ошибок с кодом 400.<br/>
5935Спасибо Сергею Боброву.
5936</para>
5937<para lang="en">
5938the $uri variable might contain garbage
5939when returning errors with code 400.<br/>
5940Thanks to Sergey Bobrov.
5941</para>
5942</change>
5943
5944<change type="bugfix">
5945<para lang="ru">
5946в обработке ошибок в директиве proxy_store
5947и в модуле ngx_http_dav_module.<br/>
5948Спасибо Feng Gu.
5949</para>
5950<para lang="en">
5951in error handling in the "proxy_store" directive
5952and the ngx_http_dav_module.<br/>
5953Thanks to Feng Gu.
5954</para>
5955</change>
5956
5957<change type="bugfix">
5958<para lang="ru">
5959при логгировании ошибок в syslog мог происходить segmentation fault;
5960ошибка появилась в 1.7.1.
5961</para>
5962<para lang="en">
5963a segmentation fault might occur if logging of errors to syslog was used;
5964the bug had appeared in 1.7.1.
5965</para>
5966</change>
5967
5968<change type="bugfix">
5969<para lang="ru">
5970переменные $geoip_latitude, $geoip_longitude, $geoip_dma_code
5971и $geoip_area_code могли не работать.<br/>
5972Спасибо Yichun Zhang.
5973</para>
5974<para lang="en">
5975the $geoip_latitude, $geoip_longitude, $geoip_dma_code,
5976and $geoip_area_code variables might not work.<br/>
5977Thanks to Yichun Zhang.
5978</para>
5979</change>
5980
5981<change type="bugfix">
5982<para lang="ru">
5983в обработке ошибок выделения памяти.<br/>
5984Спасибо Tatsuhiko Kubo и Piotr Sikora.
5985</para>
5986<para lang="en">
5987in memory allocation error handling.<br/>
5988Thanks to Tatsuhiko Kubo and Piotr Sikora.
5989</para>
5990</change>
5991
5992</changes>
5993
5994
5995<changes ver="1.7.3" date="2014-07-08">
5996
5997<change type="feature">
5998<para lang="ru">
5999weak entity tags теперь не удаляются при изменениях ответа,
6000а strong entity tags преобразуются в weak.
6001</para>
6002<para lang="en">
6003weak entity tags are now preserved on response modifications,
6004and strong ones are changed to weak.
6005</para>
6006</change>
6007
6008<change type="feature">
6009<para lang="ru">
6010ревалидация элементов кэша теперь, если это возможно,
6011использует заголовок If-None-Match.
6012</para>
6013<para lang="en">
6014cache revalidation now uses If-None-Match header
6015if possible.
6016</para>
6017</change>
6018
6019<change type="feature">
6020<para lang="ru">
6021директива ssl_password_file.
6022</para>
6023<para lang="en">
6024the "ssl_password_file" directive.
6025</para>
6026</change>
6027
6028<change type="bugfix">
6029<para lang="ru">
6030при возврате ответа из кэша
6031заголовок запроса If-None-Match игнорировался,
6032если в ответе не было заголовка Last-Modified.
6033</para>
6034<para lang="en">
6035the If-None-Match request header line was ignored
6036if there was no Last-Modified header
6037in a response returned from cache.
6038</para>
6039</change>
6040
6041<change type="bugfix">
6042<para lang="ru">
6043сообщения "peer closed connection in SSL handshake"
6044при соединении с бэкендами логгировались на уровне info вместо error.
6045</para>
6046<para lang="en">
6047"peer closed connection in SSL handshake" messages
6048were logged at "info" level instead of "error" while connecting to backends.
6049</para>
6050</change>
6051
6052<change type="bugfix">
6053<para lang="ru">
6054в модуле ngx_http_dav_module в nginx/Windows.
6055</para>
6056<para lang="en">
6057in the ngx_http_dav_module module in nginx/Windows.
6058</para>
6059</change>
6060
6061<change type="bugfix">
6062<para lang="ru">
6063SPDY-соединения могли неожиданно закрываться,
6064если использовалось кэширование.
6065</para>
6066<para lang="en">
6067SPDY connections might be closed prematurely
6068if caching was used.
6069</para>
6070</change>
6071
6072</changes>
6073
6074
6075<changes ver="1.7.2" date="2014-06-17">
6076
6077<change type="feature">
6078<para lang="ru">
6079директива hash в блоке upstream.
6080</para>
6081<para lang="en">
6082the "hash" directive inside the "upstream" block.
6083</para>
6084</change>
6085
6086<change type="feature">
6087<para lang="ru">
6088дефрагментация свободных блоков разделяемой памяти.<br/>
6089Спасибо Wandenberg Peixoto и Yichun Zhang.
6090</para>
6091<para lang="en">
6092defragmentation of free shared memory blocks.<br/>
6093Thanks to Wandenberg Peixoto and Yichun Zhang.
6094</para>
6095</change>
6096
6097<change type="bugfix">
6098<para lang="ru">
6099в рабочем процессе мог произойти segmentation fault,
6100если использовалось значение access_log по умолчанию;
6101ошибка появилась в 1.7.0.<br/>
6102Спасибо Piotr Sikora.
6103</para>
6104<para lang="en">
6105a segmentation fault might occur in a worker process
6106if the default value of the "access_log" directive was used;
6107the bug had appeared in 1.7.0.<br/>
6108Thanks to Piotr Sikora.
6109</para>
6110</change>
6111
6112<change type="bugfix">
6113<para lang="ru">
6114завершающий слэш ошибочно удалялся
6115из последнего параметра директивы try_files.
6116</para>
6117<para lang="en">
6118trailing slash was mistakenly removed
6119from the last parameter of the "try_files" directive.
6120</para>
6121</change>
6122
6123<change type="bugfix">
6124<para lang="ru">
6125nginx мог не собираться на OS X.
6126</para>
6127<para lang="en">
6128nginx could not be built on OS X in some cases.
6129</para>
6130</change>
6131
6132<change type="bugfix">
6133<para lang="ru">
6134в модуле ngx_http_spdy_module.
6135</para>
6136<para lang="en">
6137in the ngx_http_spdy_module.
6138</para>
6139</change>
6140
6141</changes>
6142
6143
6144<changes ver="1.7.1" date="2014-05-27">
6145
6146<change type="feature">
6147<para lang="ru">
6148переменные "$upstream_cookie_...".
6149</para>
6150<para lang="en">
6151the "$upstream_cookie_..." variables.
6152</para>
6153</change>
6154
6155<change type="feature">
6156<para lang="ru">
6157переменная $ssl_client_fingerprint.
6158</para>
6159<para lang="en">
6160the $ssl_client_fingerprint variable.
6161</para>
6162</change>
6163
6164<change type="feature">
6165<para lang="ru">
6166директивы error_log и access_log теперь поддерживают логгирование в syslog.
6167</para>
6168<para lang="en">
6169the "error_log" and "access_log" directives now support logging to syslog.
6170</para>
6171</change>
6172
6173<change type="feature">
6174<para lang="ru">
6175почтовый прокси-сервер теперь логгирует порт клиента при соединении.
6176</para>
6177<para lang="en">
6178the mail proxy now logs client port on connect.
6179</para>
6180</change>
6181
6182<change type="bugfix">
6183<para lang="ru">
6184утечки памяти при использовании директивы "ssl_stapling".<br/>
6185Спасибо Filipe da Silva.
6186</para>
6187<para lang="en">
6188memory leak if the "ssl_stapling" directive was used.<br/>
6189Thanks to Filipe da Silva.
6190</para>
6191</change>
6192
6193<change type="bugfix">
6194<para lang="ru">
6195директива alias внутри location'а, заданного регулярным выражением,
6196работала неправильно, если использовались директивы if или limit_except.
6197</para>
6198<para lang="en">
6199the "alias" directive used inside a location given by a regular expression
6200worked incorrectly if the "if" or "limit_except" directives were used.
6201</para>
6202</change>
6203
6204<change type="bugfix">
6205<para lang="ru">
6206директива charset не ставила кодировку для сжатых ответов бэкендов.
6207</para>
6208<para lang="en">
6209the "charset" directive did not set a charset to encoded backend responses.
6210</para>
6211</change>
6212
6213<change type="bugfix">
6214<para lang="ru">
6215директива proxy_pass без URI могла использовать оригинальный запрос
6216после установки переменной $args.<br/>
6217Спасибо Yichun Zhang.
6218</para>
6219<para lang="en">
6220a "proxy_pass" directive without URI part might use original request
6221after the $args variable was set.<br/>
6222Thanks to Yichun Zhang.
6223</para>
6224</change>
6225
6226<change type="bugfix">
6227<para lang="ru">
6228в работе параметра none директивы smtp_auth;
6229ошибка появилась в 1.5.6.<br/>
6230Спасибо Святославу Никольскому.
6231</para>
6232<para lang="en">
6233in the "none" parameter in the "smtp_auth" directive;
6234the bug had appeared in 1.5.6.<br/>
6235Thanks to Svyatoslav Nikolsky.
6236</para>
6237</change>
6238
6239<change type="bugfix">
6240<para lang="ru">
6241при совместном использовании sub_filter и SSI
6242ответы могли передаваться неверно.
6243</para>
6244<para lang="en">
6245if sub_filter and SSI were used together,
6246then responses might be transferred incorrectly.
6247</para>
6248</change>
6249
6250<change type="bugfix">
6251<para lang="ru">
6252nginx не собирался с параметром --with-file-aio на Linux/aarch64.
6253</para>
6254<para lang="en">
6255nginx could not be built with the --with-file-aio option on Linux/aarch64.
6256</para>
6257</change>
6258
6259</changes>
6260
6261
6262<changes ver="1.7.0" date="2014-04-24">
6263
6264<change type="feature">
6265<para lang="ru">
6266проверка SSL-сертификатов бэкендов.
6267</para>
6268<para lang="en">
6269backend SSL certificate verification.
6270</para>
6271</change>
6272
6273<change type="feature">
6274<para lang="ru">
6275поддержка SNI при работе с бэкендами по SSL.
6276</para>
6277<para lang="en">
6278support for SNI while working with SSL backends.
6279</para>
6280</change>
6281
6282<change type="feature">
6283<para lang="ru">
6284переменная $ssl_server_name.
6285</para>
6286<para lang="en">
6287the $ssl_server_name variable.
6288</para>
6289</change>
6290
6291<change type="feature">
6292<para lang="ru">
6293параметр if директивы access_log.
6294</para>
6295<para lang="en">
6296the "if" parameter of the "access_log" directive.
6297</para>
6298</change>
6299
6300</changes>
6301
6302
6303<changes ver="1.5.13" date="2014-04-08">
6304
6305<change type="change">
6306<para lang="ru">
6307улучшена обработка хэш-таблиц;
6308в директивах variables_hash_max_size и types_hash_bucket_size
6309значения по умолчанию изменены на 1024 и 64 соответственно.
6310</para>
6311<para lang="en">
6312improved hash table handling;
6313the default values of the "variables_hash_max_size" and
6314"types_hash_bucket_size" were changed to 1024 and 64 respectively.
6315</para>
6316</change>
6317
6318<change type="feature">
6319<para lang="ru">
6320модуль ngx_http_mp4_module теперь понимает аргумент end.
6321</para>
6322<para lang="en">
6323the ngx_http_mp4_module now supports the "end" argument.
6324</para>
6325</change>
6326
6327<change type="feature">
6328<para lang="ru">
6329поддержка byte ranges модулем ngx_http_mp4_module и при сохранении
6330ответов в кэш.
6331</para>
6332<para lang="en">
6333byte ranges support in the ngx_http_mp4_module and while saving responses
6334to cache.
6335</para>
6336</change>
6337
6338<change type="bugfix">
6339<para lang="ru">
6340теперь nginx не пишет в лог сообщения "ngx_slab_alloc() failed: no memory"
6341при использовании разделяемой памяти в ssl_session_cache
6342и в модуле ngx_http_limit_req_module.
6343</para>
6344<para lang="en">
6345alerts "ngx_slab_alloc() failed: no memory" no longer logged
6346when using shared memory in the "ssl_session_cache" directive
6347and in the ngx_http_limit_req_module.
6348</para>
6349</change>
6350
6351<change type="bugfix">
6352<para lang="ru">
6353директива underscores_in_headers
6354не разрешала подчёркивание в первом символе заголовка.<br/>
6355Спасибо Piotr Sikora.
6356</para>
6357<para lang="en">
6358the "underscores_in_headers" directive
6359did not allow underscore as a first character of a header.<br/>
6360Thanks to Piotr Sikora.
6361</para>
6362</change>
6363
6364<change type="bugfix">
6365<para lang="ru">
6366cache manager мог нагружать процессор при выходе в nginx/Windows.
6367</para>
6368<para lang="en">
6369cache manager might hog CPU on exit in nginx/Windows.
6370</para>
6371</change>
6372
6373<change type="bugfix">
6374<para lang="ru">
6375при использовании ssl_session_cache с параметром shared
6376рабочий процесс nginx/Windows завершался аварийно.
6377</para>
6378<para lang="en">
6379nginx/Windows terminated abnormally
6380if the "ssl_session_cache" directive was used with the "shared" parameter.
6381</para>
6382</change>
6383
6384<change type="bugfix">
6385<para lang="ru">
6386в модуле ngx_http_spdy_module.
6387</para>
6388<para lang="en">
6389in the ngx_http_spdy_module.
6390</para>
6391</change>
6392
6393</changes>
6394
6395
6396<changes ver="1.5.12" date="2014-03-18">
6397
6398<change type="security">
6399<para lang="ru">
6400при обработке специально созданного запроса модулем ngx_http_spdy_module
6401могло происходить переполнение буфера в рабочем процессе,
6402что потенциально могло приводить к выполнению произвольного кода
6403(CVE-2014-0133).<br/>
6404Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel
6405Sadosky, Buenos Aires, Argentina.
6406</para>
6407<para lang="en">
6408a heap memory buffer overflow might occur in a worker process
6409while handling a specially crafted request by ngx_http_spdy_module,
6410potentially resulting in arbitrary code execution
6411(CVE-2014-0133).<br/>
6412Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. Manuel
6413Sadosky, Buenos Aires, Argentina.
6414</para>
6415</change>
6416
6417<change type="feature">
6418<para lang="ru">
6419параметр proxy_protocol в директивах listen и real_ip_header,
6420переменная $proxy_protocol_addr.
6421</para>
6422<para lang="en">
6423the "proxy_protocol" parameters of the "listen" and "real_ip_header" directives,
6424the $proxy_protocol_addr variable.
6425</para>
6426</change>
6427
6428<change type="bugfix">
6429<para lang="ru">
6430в директиве fastcgi_next_upstream.<br/>
6431Спасибо Lucas Molas.
6432</para>
6433<para lang="en">
6434in the "fastcgi_next_upstream" directive.<br/>
6435Thanks to Lucas Molas.
6436</para>
6437</change>
6438
6439</changes>
6440
6441
6442<changes ver="1.5.11" date="2014-03-04">
6443
6444<change type="security">
6445<para lang="ru">
6446при обработке специально созданного запроса модулем ngx_http_spdy_module
6447на 32-битных платформах могла повреждаться память рабочего процесса,
6448что потенциально могло приводить к выполнению произвольного кода
6449(CVE-2014-0088);
6450ошибка появилась в 1.5.10.<br/>
6451Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel
6452Sadosky, Buenos Aires, Argentina.
6453</para>
6454<para lang="en">
6455memory corruption might occur in a worker process on 32-bit platforms
6456while handling a specially crafted request by ngx_http_spdy_module,
6457potentially resulting in arbitrary code execution (CVE-2014-0088);
6458the bug had appeared in 1.5.10.<br/>
6459Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. Manuel
6460Sadosky, Buenos Aires, Argentina.
6461</para>
6462</change>
6463
6464<change type="feature">
6465<para lang="ru">
6466переменная $ssl_session_reused.
6467</para>
6468<para lang="en">
6469the $ssl_session_reused variable.
6470</para>
6471</change>
6472
6473<change type="bugfix">
6474<para lang="ru">
6475директива client_max_body_size могла не работать
6476при чтении тела запроса с использованием chunked transfer encoding;
6477ошибка появилась в 1.3.9.<br/>
6478Спасибо Lucas Molas.
6479</para>
6480<para lang="en">
6481the "client_max_body_size" directive might not work
6482when reading a request body using chunked transfer encoding;
6483the bug had appeared in 1.3.9.<br/>
6484Thanks to Lucas Molas.
6485</para>
6486</change>
6487
6488<change type="bugfix">
6489<para lang="ru">
6490при проксировании WebSocket-соединений
6491в рабочем процессе мог произойти segmentation fault.
6492</para>
6493<para lang="en">
6494a segmentation fault might occur in a worker process
6495when proxying WebSocket connections.
6496</para>
6497</change>
6498
6499<change type="bugfix">
6500<para lang="ru">
6501в рабочем процессе мог произойти segmentation fault,
6502если использовался модуль ngx_http_spdy_module на 32-битных платформах;
6503ошибка появилась в 1.5.10.
6504</para>
6505<para lang="en">
6506a segmentation fault might occur in a worker process
6507if the ngx_http_spdy_module was used on 32-bit platforms;
6508the bug had appeared in 1.5.10.
6509</para>
6510</change>
6511
6512<change type="bugfix">
6513<para lang="ru">
6514значение переменной $upstream_status могло быть неверным,
6515если использовались директивы proxy_cache_use_stale
6516или proxy_cache_revalidate.<br/>
6517Спасибо Piotr Sikora.
6518</para>
6519<para lang="en">
6520the $upstream_status variable might contain wrong data
6521if the "proxy_cache_use_stale" or "proxy_cache_revalidate" directives
6522were used.<br/>
6523Thanks to Piotr Sikora.
6524</para>
6525</change>
6526
6527<change type="bugfix">
6528<para lang="ru">
6529в рабочем процессе мог произойти segmentation fault,
6530если ошибки с кодом 400 с помощью директивы error_page
6531перенаправлялись в именованный location.
6532</para>
6533<para lang="en">
6534a segmentation fault might occur in a worker process
6535if errors with code 400 were redirected to a named location
6536using the "error_page" directive.
6537</para>
6538</change>
6539
6540<change type="bugfix">
6541<para lang="ru">
6542nginx/Windows не собирался с Visual Studio 2013.
6543</para>
6544<para lang="en">
6545nginx/Windows could not be built with Visual Studio 2013.
6546</para>
6547</change>
6548
6549</changes>
6550
6551
6552<changes ver="1.5.10" date="2014-02-04">
6553
6554<change type="feature">
6555<para lang="ru">
6556модуль ngx_http_spdy_module теперь использует протокол SPDY 3.1.<br/>
6557Спасибо Automattic и MaxCDN за спонсирование разработки.
6558</para>
6559<para lang="en">
6560the ngx_http_spdy_module now uses SPDY 3.1 protocol.<br/>
6561Thanks to Automattic and MaxCDN for sponsoring this work.
6562</para>
6563</change>
6564
6565<change type="feature">
6566<para lang="ru">
6567модуль ngx_http_mp4_module теперь пропускает дорожки,
6568имеющие меньшую длину, чем запрошенная перемотка.
6569</para>
6570<para lang="en">
6571the ngx_http_mp4_module now skips tracks
6572too short for a seek requested.
6573</para>
6574</change>
6575
6576<change type="bugfix">
6577<para lang="ru">
6578в рабочем процессе мог произойти segmentation fault,
6579если переменная $ssl_session_id использовалась при логгировании;
6580ошибка появилась в 1.5.9.
6581</para>
6582<para lang="en">
6583a segmentation fault might occur in a worker process
6584if the $ssl_session_id variable was used in logs;
6585the bug had appeared in 1.5.9.
6586</para>
6587</change>
6588
6589<change type="bugfix">
6590<para lang="ru">
6591переменные $date_local и $date_gmt использовали неверный формат
6592вне модуля ngx_http_ssi_filter_module.
6593</para>
6594<para lang="en">
6595the $date_local and $date_gmt variables used wrong format
6596outside of the ngx_http_ssi_filter_module.
6597</para>
6598</change>
6599
6600<change type="bugfix">
6601<para lang="ru">
6602клиентские соединения могли сразу закрываться,
6603если использовался отложенный accept;
6604ошибка появилась в 1.3.15.
6605</para>
6606<para lang="en">
6607client connections might be immediately closed
6608if deferred accept was used;
6609the bug had appeared in 1.3.15.
6610</para>
6611</change>
6612
6613<change type="bugfix">
6614<para lang="ru">
6615сообщения "getsockopt(TCP_FASTOPEN) ... failed" записывались в лог
6616в процессе обновления исполняемого файла на Linux;
6617ошибка появилась в 1.5.8.<br/>
6618Спасибо Piotr Sikora.
6619</para>
6620<para lang="en">
6621alerts "getsockopt(TCP_FASTOPEN) ... failed" appeared in logs
6622during binary upgrade on Linux;
6623the bug had appeared in 1.5.8.<br/>
6624Thanks to Piotr Sikora.
6625</para>
6626</change>
6627
6628</changes>
6629
6630
6631<changes ver="1.5.9" date="2014-01-22">
6632
6633<change type="change">
6634<para lang="ru">
6635теперь в заголовке X-Accel-Redirect nginx ожидает закодированный URI.
6636</para>
6637<para lang="en">
6638now nginx expects escaped URIs in "X-Accel-Redirect" headers.
6639</para>
6640</change>
6641
6642<change type="feature">
6643<para lang="ru">
6644директива ssl_buffer_size.
6645</para>
6646<para lang="en">
6647the "ssl_buffer_size" directive.
6648</para>
6649</change>
6650
6651<change type="feature">
6652<para lang="ru">
6653директиву limit_rate теперь можно использовать для
6654ограничения скорости передачи ответов клиенту в SPDY-соединениях.
6655</para>
6656<para lang="en">
6657the "limit_rate" directive can now be used to
6658rate limit responses sent in SPDY connections.
6659</para>
6660</change>
6661
6662<change type="feature">
6663<para lang="ru">
6664директива spdy_chunk_size.
6665</para>
6666<para lang="en">
6667the "spdy_chunk_size" directive.
6668</para>
6669</change>
6670
6671<change type="feature">
6672<para lang="ru">
6673директива ssl_session_tickets.<br/>
6674Спасибо Dirkjan Bussink.
6675</para>
6676<para lang="en">
6677the "ssl_session_tickets" directive.<br/>
6678Thanks to Dirkjan Bussink.
6679</para>
6680</change>
6681
6682<change type="bugfix">
6683<para lang="ru">
6684переменная $ssl_session_id содержала всю сессию в сериализованном виде
6685вместо её идентификатора.<br/>
6686Спасибо Ivan Ristić.
6687</para>
6688<para lang="en">
6689the $ssl_session_id variable contained full session serialized
6690instead of just a session id.<br/>
6691Thanks to Ivan Ristić.
6692</para>
6693</change>
6694
6695<change type="bugfix">
6696<para lang="ru">
6697nginx неправильно обрабатывал закодированный символ "?" в команде SSI include.
6698</para>
6699<para lang="en">
6700nginx incorrectly handled escaped "?" character in the "include" SSI command.
6701</para>
6702</change>
6703
6704<change type="bugfix">
6705<para lang="ru">
6706модуль ngx_http_dav_module не раскодировал целевой URI при
6707обработке методов COPY и MOVE.
6708</para>
6709<para lang="en">
6710the ngx_http_dav_module did not unescape destination URI
6711of the COPY and MOVE methods.
6712</para>
6713</change>
6714
6715<change type="bugfix">
6716<para lang="ru">
6717resolver не понимал доменные имена с точкой в конце.
6718Спасибо Yichun Zhang.
6719</para>
6720<para lang="en">
6721resolver did not understand domain names with a trailing dot.
6722Thanks to Yichun Zhang.
6723</para>
6724</change>
6725
6726<change type="bugfix">
6727<para lang="ru">
6728при проксировании в логах могли появляться сообщения "zero size buf in output";
6729ошибка появилась в 1.3.9.
6730</para>
6731<para lang="en">
6732alerts "zero size buf in output" might appear in logs while proxying;
6733the bug had appeared in 1.3.9.
6734</para>
6735</change>
6736
6737<change type="bugfix">
6738<para lang="ru">
6739в рабочем процессе мог произойти segmentation fault,
6740если использовался модуль ngx_http_spdy_module.
6741</para>
6742<para lang="en">
6743a segmentation fault might occur in a worker process
6744if the ngx_http_spdy_module was used.
6745</para>
6746</change>
6747
6748<change type="bugfix">
6749<para lang="ru">
6750при использовании методов обработки соединений select, poll и /dev/poll
6751проксируемые WebSocket-соединения могли зависать сразу после открытия.
6752</para>
6753<para lang="en">
6754proxied WebSocket connections might hang right after handshake
6755if the select, poll, or /dev/poll methods were used.
6756</para>
6757</change>
6758
6759<change type="bugfix">
6760<para lang="ru">
6761директива xclient почтового прокси-сервера
6762некорректно передавала IPv6-адреса.
6763</para>
6764<para lang="en">
6765the "xclient" directive of the mail proxy module
6766incorrectly handled IPv6 client addresses.
6767</para>
6768</change>
6769
6770</changes>
6771
6772
6773<changes ver="1.5.8" date="2013-12-17">
6774
6775<change type="feature">
6776<para lang="ru">
6777теперь resolver поддерживает IPv6.
6778</para>
6779<para lang="en">
6780IPv6 support in resolver.
6781</para>
6782</change>
6783
6784<change type="feature">
6785<para lang="ru">
6786директива listen поддерживает параметр fastopen.<br/>
6787Спасибо Mathew Rodley.
6788</para>
6789<para lang="en">
6790the "listen" directive supports the "fastopen" parameter.<br/>
6791Thanks to Mathew Rodley.
6792</para>
6793</change>
6794
6795<change type="feature">
6796<para lang="ru">
6797поддержка SSL в модуле ngx_http_uwsgi_module.<br/>
6798Спасибо Roberto De Ioris.
6799</para>
6800<para lang="en">
6801SSL support in the ngx_http_uwsgi_module.<br/>
6802Thanks to Roberto De Ioris.
6803</para>
6804</change>
6805
6806<change type="feature">
6807<para lang="ru">
6808скрипты подсветки синтаксиса для vim добавлены в contrib.<br/>
6809Спасибо Evan Miller.
6810</para>
6811<para lang="en">
6812vim syntax highlighting scripts were added to contrib.<br/>
6813Thanks to Evan Miller.
6814</para>
6815</change>
6816
6817<change type="bugfix">
6818<para lang="ru">
6819при чтении тела запроса с использованием chunked transfer encoding
6820по SSL-соединению мог произойти таймаут.
6821</para>
6822<para lang="en">
6823a timeout might occur while reading client request body
6824in an SSL connection using chunked transfer encoding.
6825</para>
6826</change>
6827
6828<change type="bugfix">
6829<para lang="ru">
6830директива master_process работала неправильно в nginx/Windows.
6831</para>
6832<para lang="en">
6833the "master_process" directive did not work correctly in nginx/Windows.
6834</para>
6835</change>
6836
6837<change type="bugfix">
6838<para lang="ru">
6839параметр setfib директивы listen мог не работать.
6840</para>
6841<para lang="en">
6842the "setfib" parameter of the "listen" directive might not work.
6843</para>
6844</change>
6845
6846<change type="bugfix">
6847<para lang="ru">
6848в модуле ngx_http_spdy_module.
6849</para>
6850<para lang="en">
6851in the ngx_http_spdy_module.
6852</para>
6853</change>
6854
6855</changes>
6856
6857
6858<changes ver="1.5.7" date="2013-11-19">
6859
6860<change type="security">
6861<para lang="ru">
6862символ, следующий за незакодированным пробелом в строке запроса,
6863обрабатывался неправильно (CVE-2013-4547);
6864ошибка появилась в 0.8.41.<br/>
6865Спасибо Ivan Fratric из Google Security Team.
6866</para>
6867<para lang="en">
6868a character following an unescaped space in a request line
6869was handled incorrectly (CVE-2013-4547);
6870the bug had appeared in 0.8.41.<br/>
6871Thanks to Ivan Fratric of the Google Security Team.
6872</para>
6873</change>
6874
6875<change type="change">
6876<para lang="ru">
6877уровень логгирования ошибок auth_basic об отсутствии пароля
6878понижен с уровня error до info.
6879</para>
6880<para lang="en">
6881a logging level of auth_basic errors about no user/password provided
6882has been lowered from "error" to "info".
6883</para>
6884</change>
6885
6886<change type="feature">
6887<para lang="ru">
6888директивы proxy_cache_revalidate, fastcgi_cache_revalidate,
6889scgi_cache_revalidate и uwsgi_cache_revalidate.
6890</para>
6891<para lang="en">
6892the "proxy_cache_revalidate", "fastcgi_cache_revalidate",
6893"scgi_cache_revalidate", and "uwsgi_cache_revalidate" directives.
6894</para>
6895</change>
6896
6897<change type="feature">
6898<para lang="ru">
6899директива ssl_session_ticket_key.<br/>
6900Спасибо Piotr Sikora.
6901</para>
6902<para lang="en">
6903the "ssl_session_ticket_key" directive.<br/>
6904Thanks to Piotr Sikora.
6905</para>
6906</change>
6907
6908<change type="bugfix">
6909<para lang="ru">
6910директива "add_header Cache-Control ''"
6911добавляла строку заголовка ответа "Cache-Control" с пустым значением.
6912</para>
6913<para lang="en">
6914the directive "add_header Cache-Control ''"
6915added a "Cache-Control" response header line with an empty value.
6916</para>
6917</change>
6918
6919<change type="bugfix">
6920<para lang="ru">
6921директива "satisfy any" могла вернуть ошибку 403 вместо 401
6922при использовании директив auth_request и auth_basic.<br/>
6923Спасибо Jan Marc Hoffmann.
6924</para>
6925<para lang="en">
6926the "satisfy any" directive might return 403 error instead of 401
6927if auth_request and auth_basic directives were used.<br/>
6928Thanks to Jan Marc Hoffmann.
6929</para>
6930</change>
6931
6932<change type="bugfix">
6933<para lang="ru">
6934параметры accept_filter и deferred директивы listen игнорировались
6935для listen-сокетов, создаваемых в процессе обновления исполняемого файла.<br/>
6936Спасибо Piotr Sikora.
6937</para>
6938<para lang="en">
6939the "accept_filter" and "deferred" parameters of the "listen" directive
6940were ignored for listen sockets created during binary upgrade.<br/>
6941Thanks to Piotr Sikora.
6942</para>
6943</change>
6944
6945<change type="bugfix">
6946<para lang="ru">
6947часть данных, полученных от бэкенда при небуферизированном проксировании,
6948могла не отправляться клиенту сразу,
6949если использовались директивы gzip или gunzip.<br/>
6950Спасибо Yichun Zhang.
6951</para>
6952<para lang="en">
6953some data received from a backend with unbufferred proxy
6954might not be sent to a client immediately
6955if "gzip" or "gunzip" directives were used.<br/>
6956Thanks to Yichun Zhang.
6957</para>
6958</change>
6959
6960<change type="bugfix">
6961<para lang="ru">
6962в обработке ошибок в модуле ngx_http_gunzip_filter_module.
6963</para>
6964<para lang="en">
6965in error handling in ngx_http_gunzip_filter_module.
6966</para>
6967</change>
6968
6969<change type="bugfix">
6970<para lang="ru">
6971ответы могли зависать,
6972если использовался модуль ngx_http_spdy_module
6973и директива auth_request.
6974</para>
6975<para lang="en">
6976responses might hang
6977if the ngx_http_spdy_module was used
6978with the "auth_request" directive.
6979</para>
6980</change>
6981
6982<change type="bugfix">
6983<para lang="ru">
6984утечки памяти в nginx/Windows.
6985</para>
6986<para lang="en">
6987memory leak in nginx/Windows.
6988</para>
6989</change>
6990
6991</changes>
6992
6993
6994<changes ver="1.5.6" date="2013-10-01">
6995
6996<change type="feature">
6997<para lang="ru">
6998директива fastcgi_buffering.
6999</para>
7000<para lang="en">
7001the "fastcgi_buffering" directive.
7002</para>
7003</change>
7004
7005<change type="feature">
7006<para lang="ru">
7007директивы proxy_ssl_protocols и proxy_ssl_ciphers.<br/>
7008Спасибо Piotr Sikora.
7009</para>
7010<para lang="en">
7011the "proxy_ssl_protocols" and "proxy_ssl_ciphers" directives.<br/>
7012Thanks to Piotr Sikora.
7013</para>
7014</change>
7015
7016<change type="feature">
7017<para lang="ru">
7018оптимизация SSL handshake при использовании длинных цепочек сертификатов.
7019</para>
7020<para lang="en">
7021optimization of SSL handshakes when using long certificate chains.
7022</para>
7023</change>
7024
7025<change type="feature">
7026<para lang="ru">
7027почтовый прокси-сервер поддерживает SMTP pipelining.
7028</para>
7029<para lang="en">
7030the mail proxy supports SMTP pipelining.
7031</para>
7032</change>
7033
7034<change type="bugfix">
7035<para lang="ru">
7036в модуле ngx_http_auth_basic_module
7037при использовании метода шифрования паролей "$apr1$".<br/>
7038Спасибо Markus Linnala.
7039</para>
7040<para lang="en">
7041in the ngx_http_auth_basic_module
7042when using "$apr1$" password encryption method.<br/>
7043Thanks to Markus Linnala.
7044</para>
7045</change>
7046
7047<change type="bugfix">
7048<para lang="ru">
7049на MacOSX, Cygwin и nginx/Windows
7050для обработки запроса мог использоваться неверный location,
7051если для задания location'ов использовались символы разных регистров.
7052</para>
7053<para lang="en">
7054in MacOSX, Cygwin, and nginx/Windows
7055incorrect location might be used to process a request
7056if locations were given using characters in different cases.
7057</para>
7058</change>
7059
7060<change type="bugfix">
7061<para lang="ru">
7062автоматическое перенаправление с добавлением завершающего слэша
7063для проксированных location'ов могло не работать.
7064</para>
7065<para lang="en">
7066automatic redirect with appended trailing slash
7067for proxied locations might not work.
7068</para>
7069</change>
7070
7071<change type="bugfix">
7072<para lang="ru">
7073в почтовом прокси-сервере.
7074</para>
7075<para lang="en">
7076in the mail proxy server.
7077</para>
7078</change>
7079
7080<change type="bugfix">
7081<para lang="ru">
7082в модуле ngx_http_spdy_module.
7083</para>
7084<para lang="en">
7085in the ngx_http_spdy_module.
7086</para>
7087</change>
7088
7089</changes>
7090
7091
7092<changes ver="1.5.5" date="2013-09-17">
7093
7094<change type="change">
7095<para lang="ru">
7096теперь nginx по умолчанию использует HTTP/1.0,
7097если точно определить протокол не удалось.
7098</para>
7099<para lang="en">
7100now nginx assumes HTTP/1.0 by default
7101if it is not able to detect protocol reliably.
7102</para>
7103</change>
7104
7105<change type="feature">
7106<para lang="ru">
7107директива disable_symlinks теперь использует O_PATH на Linux.
7108</para>
7109<para lang="en">
7110the "disable_symlinks" directive now uses O_PATH on Linux.
7111</para>
7112</change>
7113
7114<change type="feature">
7115<para lang="ru">
7116для определения того, что клиент закрыл соединение,
7117при использовании метода epoll
7118теперь используются события EPOLLRDHUP.
7119</para>
7120<para lang="en">
7121now nginx uses EPOLLRDHUP events
7122to detect premature connection close by clients
7123if the "epoll" method is used.
7124</para>
7125</change>
7126
7127<change type="bugfix">
7128<para lang="ru">
7129в директиве valid_referers при использовании параметра server_names.
7130</para>
7131<para lang="en">
7132in the "valid_referers" directive if the "server_names" parameter was used.
7133</para>
7134</change>
7135
7136<change type="bugfix">
7137<para lang="ru">
7138переменная $request_time не работала в nginx/Windows.
7139</para>
7140<para lang="en">
7141the $request_time variable did not work in nginx/Windows.
7142</para>
7143</change>
7144
7145<change type="bugfix">
7146<para lang="ru">
7147в директиве image_filter.<br/>
7148Спасибо Lanshun Zhou.
7149</para>
7150<para lang="en">
7151in the "image_filter" directive.<br/>
7152Thanks to Lanshun Zhou.
7153</para>
7154</change>
7155
7156<change type="bugfix">
7157<para lang="ru">
7158совместимость с OpenSSL 1.0.1f.<br/>
7159Спасибо Piotr Sikora.
7160</para>
7161<para lang="en">
7162OpenSSL 1.0.1f compatibility.<br/>
7163Thanks to Piotr Sikora.
7164</para>
7165</change>
7166
7167
7168</changes>
7169
7170
7171<changes ver="1.5.4" date="2013-08-27">
7172
7173<change type="change">
7174<para lang="ru">
7175MIME-тип для расширения js изменён на "application/javascript";
7176значение по умолчанию директивы charset_types изменено соответственно.
7177</para>
7178<para lang="en">
7179the "js" extension MIME type has been changed to "application/javascript";
7180default value of the "charset_types" directive was changed accordingly.
7181</para>
7182</change>
7183
7184<change type="change">
7185<para lang="ru">
7186теперь директива image_filter с параметром size
7187возвращает ответ с MIME-типом "application/json".
7188</para>
7189<para lang="en">
7190now the "image_filter" directive with the "size" parameter
7191returns responses with the "application/json" MIME type.
7192</para>
7193</change>
7194
7195<change type="feature">
7196<para lang="ru">
7197модуль ngx_http_auth_request_module.
7198</para>
7199<para lang="en">
7200the ngx_http_auth_request_module.
7201</para>
7202</change>
7203
7204<change type="bugfix">
7205<para lang="ru">
7206на старте или во время переконфигурации мог произойти segmentation fault,
7207если использовалась директива try_files с пустым параметром.
7208</para>
7209<para lang="en">
7210a segmentation fault might occur on start or during reconfiguration
7211if the "try_files" directive was used with an empty parameter.
7212</para>
7213</change>
7214
7215<change type="bugfix">
7216<para lang="ru">
7217утечки памяти при использовании в директивах root и auth_basic_user_file
7218относительных путей, заданных с помощью переменных.
7219</para>
7220<para lang="en">
7221memory leak if relative paths were specified using variables
7222in the "root" or "auth_basic_user_file" directives.
7223</para>
7224</change>
7225
7226<change type="bugfix">
7227<para lang="ru">
7228директива valid_referers неправильно выполняла регулярные выражения,
7229если заголовок Referer начинался с "https://".<br/>
7230Спасибо Liangbin Li.
7231</para>
7232<para lang="en">
7233the "valid_referers" directive incorrectly executed regular expressions
7234if a "Referer" header started with "https://".<br/>
7235Thanks to Liangbin Li.
7236</para>
7237</change>
7238
7239<change type="bugfix">
7240<para lang="ru">
7241ответы могли зависать, если использовались подзапросы и при обработке подзапроса
7242происходила ошибка во время SSL handshake с бэкендом.<br/>
7243Спасибо Aviram Cohen.
7244</para>
7245<para lang="en">
7246responses might hang if subrequests were used
7247and an SSL handshake error happened during subrequest processing.<br/>
7248Thanks to Aviram Cohen.
7249</para>
7250</change>
7251
7252<change type="bugfix">
7253<para lang="ru">
7254в модуле ngx_http_autoindex_module.
7255</para>
7256<para lang="en">
7257in the ngx_http_autoindex_module.
7258</para>
7259</change>
7260
7261<change type="bugfix">
7262<para lang="ru">
7263в модуле ngx_http_spdy_module.
7264</para>
7265<para lang="en">
7266in the ngx_http_spdy_module.
7267</para>
7268</change>
7269
7270</changes>
7271
7272
7273<changes ver="1.5.3" date="2013-07-30">
7274
7275<change>
7276<para lang="ru">
7277Изменение во внутреннем API:
7278теперь при небуферизированной работе с бэкендами
7279u->length по умолчанию устанавливается в -1.
7280</para>
7281<para lang="en">
7282Change in internal API:
7283now u->length defaults to -1
7284if working with backends in unbuffered mode.
7285</para>
7286</change>
7287
7288<change type="change">
7289<para lang="ru">
7290теперь при получении неполного ответа от бэкенда
7291nginx отправляет полученную часть ответа,
7292после чего закрывает соединение с клиентом.
7293</para>
7294<para lang="en">
7295now after receiving an incomplete response from a backend server
7296nginx tries to send an available part of the response to a client,
7297and then closes client connection.
7298</para>
7299</change>
7300
7301<change type="bugfix">
7302<para lang="ru">
7303в рабочем процессе мог произойти segmentation fault,
7304если использовался модуль ngx_http_spdy_module
7305и директива client_body_in_file_only.
7306</para>
7307<para lang="en">
7308a segmentation fault might occur in a worker process
7309if the ngx_http_spdy_module was used
7310with the "client_body_in_file_only" directive.
7311</para>
7312</change>
7313
7314<change type="bugfix">
7315<para lang="ru">
7316параметр so_keepalive директивы listen
7317мог работать некорректно на DragonFlyBSD.<br/>
7318Спасибо Sepherosa Ziehau.
7319</para>
7320<para lang="en">
7321the "so_keepalive" parameter of the "listen" directive
7322might be handled incorrectly on DragonFlyBSD.<br/>
7323Thanks to Sepherosa Ziehau.
7324</para>
7325</change>
7326
7327<change type="bugfix">
7328<para lang="ru">
7329в модуле ngx_http_xslt_filter_module.
7330</para>
7331<para lang="en">
7332in the ngx_http_xslt_filter_module.
7333</para>
7334</change>
7335
7336<change type="bugfix">
7337<para lang="ru">
7338в модуле ngx_http_sub_filter_module.
7339</para>
7340<para lang="en">
7341in the ngx_http_sub_filter_module.
7342</para>
7343</change>
7344
7345</changes>
7346
7347
7348<changes ver="1.5.2" date="2013-07-02">
7349
7350<change type="feature">
7351<para lang="ru">
7352теперь можно использовать несколько директив error_log.
7353</para>
7354<para lang="en">
7355now several "error_log" directives can be used.
7356</para>
7357</change>
7358
7359<change type="bugfix">
7360<para lang="ru">
7361метод $r->header_in() встроенного перла не возвращал значения строк
7362"Cookie" и "X-Forwarded-For" из заголовка запроса;
7363ошибка появилась в 1.3.14.
7364</para>
7365<para lang="en">
7366the $r->header_in() embedded perl method did not return value of the
7367"Cookie" and "X-Forwarded-For" request header lines;
7368the bug had appeared in 1.3.14.
7369</para>
7370</change>
7371
7372<change type="bugfix">
7373<para lang="ru">
7374в модуле ngx_http_spdy_module.<br/>
7375Спасибо Jim Radford.
7376</para>
7377<para lang="en">
7378in the ngx_http_spdy_module.<br/>
7379Thanks to Jim Radford.
7380</para>
7381</change>
7382
7383<change type="bugfix">
7384<para lang="ru">
7385nginx не собирался на Linux при использовании x32 ABI.<br/>
7386Спасибо Сергею Иванцову.
7387</para>
7388<para lang="en">
7389nginx could not be built on Linux with x32 ABI.<br/>
7390Thanks to Serguei Ivantsov.
7391</para>
7392</change>
7393
7394</changes>
7395
7396
7397<changes ver="1.5.1" date="2013-06-04">
7398
7399<change type="feature">
7400<para lang="ru">
7401директивы ssi_last_modified, sub_filter_last_modified и
7402xslt_last_modified.<br/>
7403Спасибо Алексею Колпакову.
7404</para>
7405<para lang="en">
7406the "ssi_last_modified", "sub_filter_last_modified", and
7407"xslt_last_modified" directives.<br/>
7408Thanks to Alexey Kolpakov.
7409</para>
7410</change>
7411
7412<change type="feature">
7413<para lang="ru">
7414параметр http_403 в директивах proxy_next_upstream, fastcgi_next_upstream,
7415scgi_next_upstream и uwsgi_next_upstream.
7416</para>
7417<para lang="en">
7418the "http_403" parameter of the "proxy_next_upstream", "fastcgi_next_upstream",
7419"scgi_next_upstream", and "uwsgi_next_upstream" directives.
7420</para>
7421</change>
7422
7423<change type="feature">
7424<para lang="ru">
7425директивы allow и deny теперь поддерживают unix domain сокеты.
7426</para>
7427<para lang="en">
7428the "allow" and "deny" directives now support unix domain sockets.
7429</para>
7430</change>
7431
7432<change type="bugfix">
7433<para lang="ru">
7434nginx не собирался с модулем ngx_mail_ssl_module,
7435но без модуля ngx_http_ssl_module;
7436ошибка появилась в 1.3.14.
7437</para>
7438<para lang="en">
7439nginx could not be built with the ngx_mail_ssl_module,
7440but without ngx_http_ssl_module;
7441the bug had appeared in 1.3.14.
7442</para>
7443</change>
7444
7445<change type="bugfix">
7446<para lang="ru">
7447в директиве proxy_set_body.<br/>
7448Спасибо Lanshun Zhou.
7449</para>
7450<para lang="en">
7451in the "proxy_set_body" directive.<br/>
7452Thanks to Lanshun Zhou.
7453</para>
7454</change>
7455
7456<change type="bugfix">
7457<para lang="ru">
7458в директиве lingering_time.<br/>
7459Спасибо Lanshun Zhou.
7460</para>
7461<para lang="en">
7462in the "lingering_time" directive.<br/>
7463Thanks to Lanshun Zhou.
7464</para>
7465</change>
7466
7467<change type="bugfix">
7468<para lang="ru">
7469параметр fail_timeout директивы server
7470в блоке upstream мог не работать,
7471если использовался параметр max_fails;
7472ошибка появилась в 1.3.0.
7473</para>
7474<para lang="en">
7475the "fail_timeout" parameter of the "server" directive
7476in the "upstream" context might not work
7477if "max_fails" parameter was used;
7478the bug had appeared in 1.3.0.
7479</para>
7480</change>
7481
7482<change type="bugfix">
7483<para lang="ru">
7484в рабочем процессе мог произойти segmentation fault,
7485если использовалась директива ssl_stapling.<br/>
7486Спасибо Piotr Sikora.
7487</para>
7488<para lang="en">
7489a segmentation fault might occur in a worker process
7490if the "ssl_stapling" directive was used.<br/>
7491Thanks to Piotr Sikora.
7492</para>
7493</change>
7494
7495<change type="bugfix">
7496<para lang="ru">
7497в почтовом прокси-сервере.<br/>
7498Спасибо Filipe Da Silva.
7499</para>
7500<para lang="en">
7501in the mail proxy server.<br/>
7502Thanks to Filipe Da Silva.
7503</para>
7504</change>
7505
7506<change type="bugfix">
7507<para lang="ru">
7508nginx/Windows мог перестать принимать соединения,
7509если использовалось несколько рабочих процессов.
7510</para>
7511<para lang="en">
7512nginx/Windows might stop accepting connections
7513if several worker processes were used.
7514</para>
7515</change>
7516
7517</changes>
7518
7519
7520<changes ver="1.5.0" date="2013-05-07">
7521
7522<change type="security">
7523<para lang="ru">
7524при обработке специально созданного запроса
7525мог перезаписываться стек рабочего процесса,
7526что могло приводить к выполнению произвольного кода (CVE-2013-2028);
7527ошибка появилась в 1.3.9.<br/>
7528Спасибо Greg MacManus, iSIGHT Partners Labs.
7529</para>
7530<para lang="en">
7531a stack-based buffer overflow might occur in a worker process
7532while handling a specially crafted request,
7533potentially resulting in arbitrary code execution (CVE-2013-2028);
7534the bug had appeared in 1.3.9.<br/>
7535Thanks to Greg MacManus, iSIGHT Partners Labs.
7536</para>
7537</change>
7538
7539</changes>
7540
7541
7542<changes ver="1.4.0" date="2013-04-24">
7543
7544<change type="bugfix">
7545<para lang="ru">
7546nginx не собирался с модулем ngx_http_perl_module,
7547если использовался параметр --with-openssl;
7548ошибка появилась в 1.3.16.
7549</para>
7550<para lang="en">
7551nginx could not be built with the ngx_http_perl_module
7552if the --with-openssl option was used;
7553the bug had appeared in 1.3.16.
7554</para>
7555</change>
7556
7557<change type="bugfix">
7558<para lang="ru">
7559в работе с телом запроса из модуля ngx_http_perl_module;
7560ошибка появилась в 1.3.9.
7561</para>
7562<para lang="en">
7563in a request body handling in the ngx_http_perl_module;
7564the bug had appeared in 1.3.9.
7565</para>
7566</change>
7567
7568</changes>
7569
7570
7571<changes ver="1.3.16" date="2013-04-16">
7572
7573<change type="bugfix">
7574<para lang="ru">
7575в рабочем процессе мог произойти segmentation fault,
7576если использовались подзапросы;
7577ошибка появилась в 1.3.9.
7578</para>
7579<para lang="en">
7580a segmentation fault might occur in a worker process
7581if subrequests were used;
7582the bug had appeared in 1.3.9.
7583</para>
7584</change>
7585
7586<change type="bugfix">
7587<para lang="ru">
7588директива tcp_nodelay вызывала ошибку
7589при проксировании WebSocket-соединений в unix domain сокет.
7590</para>
7591<para lang="en">
7592the "tcp_nodelay" directive caused an error
7593if a WebSocket connection was proxied into a unix domain socket.
7594</para>
7595</change>
7596
7597<change type="bugfix">
7598<para lang="ru">
7599переменная $upstream_response_length возвращала значение "0",
7600если не использовалась буферизация.<br/>
7601Спасибо Piotr Sikora.
7602</para>
7603<para lang="en">
7604the $upstream_response_length variable has an incorrect value "0"
7605if buffering was not used.<br/>
7606Thanks to Piotr Sikora.
7607</para>
7608</change>
7609
7610<change type="bugfix">
7611<para lang="ru">
7612в методах обработки соединений eventport и /dev/poll.
7613</para>
7614<para lang="en">
7615in the eventport and /dev/poll methods.
7616</para>
7617</change>
7618
7619</changes>
7620
7621
7622<changes ver="1.3.15" date="2013-03-26">
7623
7624<change type="change">
7625<para lang="ru">
7626открытие и закрытие соединения без отправки в нём каких-либо данных
7627больше не записывается в access_log с кодом ошибки 400.
7628</para>
7629<para lang="en">
7630opening and closing a connection without sending any data in it
7631is no longer logged to access_log with error code 400.
7632</para>
7633</change>
7634
7635<change type="feature">
7636<para lang="ru">
7637модуль ngx_http_spdy_module.<br/>
7638Спасибо Automattic за спонсирование разработки.
7639</para>
7640<para lang="en">
7641the ngx_http_spdy_module.<br/>
7642Thanks to Automattic for sponsoring this work.
7643</para>
7644</change>
7645
7646<change type="feature">
7647<para lang="ru">
7648директивы limit_req_status и limit_conn_status.<br/>
7649Спасибо Nick Marden.
7650</para>
7651<para lang="en">
7652the "limit_req_status" and "limit_conn_status" directives.<br/>
7653Thanks to Nick Marden.
7654</para>
7655</change>
7656
7657<change type="feature">
7658<para lang="ru">
7659директива image_filter_interlace.<br/>
7660Спасибо Ивану Боброву.
7661</para>
7662<para lang="en">
7663the "image_filter_interlace" directive.<br/>
7664Thanks to Ian Babrou.
7665</para>
7666</change>
7667
7668<change type="feature">
7669<para lang="ru">
7670переменная $connections_waiting в модуле ngx_http_stub_status_module.
7671</para>
7672<para lang="en">
7673$connections_waiting variable in the ngx_http_stub_status_module.
7674</para>
7675</change>
7676
7677<change type="feature">
7678<para lang="ru">
7679теперь почтовый прокси-сервер поддерживает IPv6-бэкенды.
7680</para>
7681<para lang="en">
7682the mail proxy module now supports IPv6 backends.
7683</para>
7684</change>
7685
7686<change type="bugfix">
7687<para lang="ru">
7688при повторной отправке запроса на бэкенд
7689тело запроса могло передаваться неправильно;
7690ошибка появилась в 1.3.9.<br/>
7691Спасибо Piotr Sikora.
7692</para>
7693<para lang="en">
7694request body might be transmitted incorrectly
7695when retrying a request to the next upstream server;
7696the bug had appeared in 1.3.9.<br/>
7697Thanks to Piotr Sikora.
7698</para>
7699</change>
7700
7701<change type="bugfix">
7702<para lang="ru">
7703в директиве client_body_in_file_only;
7704ошибка появилась в 1.3.9.
7705</para>
7706<para lang="en">
7707in the "client_body_in_file_only" directive;
7708the bug had appeared in 1.3.9.
7709</para>
7710</change>
7711
7712<change type="bugfix">
7713<para lang="ru">
7714ответы могли зависать,
7715если использовались подзапросы
7716и при обработке подзапроса происходила DNS-ошибка.<br/>
7717Спасибо Lanshun Zhou.
7718</para>
7719<para lang="en">
7720responses might hang
7721if subrequests were used
7722and a DNS error happened during subrequest processing.<br/>
7723Thanks to Lanshun Zhou.
7724</para>
7725</change>
7726
7727<change type="bugfix">
7728<para lang="ru">
7729в процедуре учёта использования бэкендов.
7730</para>
7731<para lang="en">
7732in backend usage accounting.
7733</para>
7734</change>
7735
7736</changes>
7737
7738
7739<changes ver="1.3.14" date="2013-03-05">
7740
7741<change type="feature">
7742<para lang="ru">
7743переменные $connections_active, $connections_reading и $connections_writing
7744в модуле ngx_http_stub_status_module.
7745</para>
7746<para lang="en">
7747$connections_active, $connections_reading, and $connections_writing variables
7748in the ngx_http_stub_status_module.
7749</para>
7750</change>
7751
7752<change type="feature">
7753<para lang="ru">
7754поддержка WebSocket-соединений
7755в модулях ngx_http_uwsgi_module и ngx_http_scgi_module.
7756</para>
7757<para lang="en">
7758support of WebSocket connections
7759in the ngx_http_uwsgi_module and ngx_http_scgi_module.
7760</para>
7761</change>
7762
7763<change type="bugfix">
7764<para lang="ru">
7765в обработке виртуальных серверов при использовании SNI.
7766</para>
7767<para lang="en">
7768in virtual servers handling with SNI.
7769</para>
7770</change>
7771
7772<change type="bugfix">
7773<para lang="ru">
7774при использовании директивы "ssl_session_cache shared"
7775новые сессии могли не сохраняться,
7776если заканчивалось место в разделяемой памяти.<br/>
7777Спасибо Piotr Sikora.
7778</para>
7779<para lang="en">
7780new sessions were not always stored
7781if the "ssl_session_cache shared" directive was used
7782and there was no free space in shared memory.<br/>
7783Thanks to Piotr Sikora.
7784</para>
7785</change>
7786
7787<change type="bugfix">
7788<para lang="ru">
7789несколько заголовков X-Forwarded-For обрабатывались неправильно.<br/>
7790Спасибо Neal Poole за спонсирование разработки.
7791</para>
7792<para lang="en">
7793multiple X-Forwarded-For headers were handled incorrectly.<br/>
7794Thanks to Neal Poole for sponsoring this work.
7795</para>
7796</change>
7797
7798<change type="bugfix">
7799<para lang="ru">
7800в модуле ngx_http_mp4_module.<br/>
7801Спасибо Gernot Vormayr.
7802</para>
7803<para lang="en">
7804in the ngx_http_mp4_module.<br/>
7805Thanks to Gernot Vormayr.
7806</para>
7807</change>
7808
7809</changes>
7810
7811
7812<changes ver="1.3.13" date="2013-02-19">
7813
7814<change type="change">
7815<para lang="ru">
7816теперь для сборки по умолчанию используется компилятор с именем "cc".
7817</para>
7818<para lang="en">
7819a compiler with name "cc" is now used by default.
7820</para>
7821</change>
7822
7823<change type="feature">
7824<para lang="ru">
7825поддержка проксирования WebSocket-соединений.<br/>
7826Спасибо Apcera и CloudBees за спонсирование разработки.
7827</para>
7828<para lang="en">
7829support for proxying of WebSocket connections.<br/>
7830Thanks to Apcera and CloudBees for sponsoring this work.
7831</para>
7832</change>
7833
7834<change type="feature">
7835<para lang="ru">
7836директива auth_basic_user_file поддерживает шифрование паролей
7837методом "{SHA}".<br/>
7838Спасибо Louis Opter.
7839</para>
7840<para lang="en">
7841the "auth_basic_user_file" directive supports "{SHA}"
7842password encryption method.<br/>
7843Thanks to Louis Opter.
7844</para>
7845</change>
7846
7847</changes>
7848
7849
7850<changes ver="1.3.12" date="2013-02-05">
7851
7852<change type="feature">
7853<para lang="ru">
7854директивы proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind
7855поддерживают переменные.
7856</para>
7857<para lang="en">
7858variables support in the "proxy_bind", "fastcgi_bind", "memcached_bind",
7859"scgi_bind", and "uwsgi_bind" directives.
7860</para>
7861</change>
7862
7863<change type="feature">
7864<para lang="ru">
7865переменные $pipe, $request_length, $time_iso8601 и $time_local
7866теперь можно использовать не только в директиве log_format.<br/>
7867Спасибо Kiril Kalchev.
7868</para>
7869<para lang="en">
7870the $pipe, $request_length, $time_iso8601, and $time_local variables
7871can now be used not only in the "log_format" directive.
7872Thanks to Kiril Kalchev.
7873</para>
7874</change>
7875
7876<change type="feature">
7877<para lang="ru">
7878поддержка IPv6 в модуле ngx_http_geoip_module.<br/>
7879Спасибо Gregor Kališnik.
7880</para>
7881<para lang="en">
7882IPv6 support in the ngx_http_geoip_module.<br/>
7883Thanks to Gregor Kališnik.
7884</para>
7885</change>
7886
7887<change type="bugfix">
7888<para lang="ru">
7889директива proxy_method работала неверно, если была указана на уровне http.
7890</para>
7891<para lang="en">
7892in the "proxy_method" directive.
7893</para>
7894</change>
7895
7896<change type="bugfix">
7897<para lang="ru">
7898в рабочем процессе мог произойти segmentation fault,
7899если использовался resolver и метод poll.
7900</para>
7901<para lang="en">
7902a segmentation fault might occur in a worker process
7903if resolver was used with the poll method.
7904</para>
7905</change>
7906
7907<change type="bugfix">
7908<para lang="ru">
7909nginx мог нагружать процессор во время SSL handshake с бэкендом
7910при использовании методов обработки соединений select, poll и /dev/poll.
7911</para>
7912<para lang="en">
7913nginx might hog CPU during SSL handshake with a backend
7914if the select, poll, or /dev/poll methods were used.
7915</para>
7916</change>
7917
7918<change type="bugfix">
7919<para lang="ru">
7920ошибка "[crit] SSL_write() failed (SSL:)".
7921</para>
7922<para lang="en">
7923the "[crit] SSL_write() failed (SSL:)" error.
7924</para>
7925</change>
7926
7927<change type="bugfix">
7928<para lang="ru">
7929в директиве client_body_in_file_only;
7930ошибка появилась в 1.3.9.
7931</para>
7932<para lang="en">
7933in the "client_body_in_file_only" directive;
7934the bug had appeared in 1.3.9.
7935</para>
7936</change>
7937
7938<change type="bugfix">
7939<para lang="ru">
7940в директиве fastcgi_keep_conn.
7941</para>
7942<para lang="en">
7943in the "fastcgi_keep_conn" directive.
7944</para>
7945</change>
7946
7947</changes>
7948
7949
7950<changes ver="1.3.11" date="2013-01-10">
7951
7952<change type="bugfix">
7953<para lang="ru">
7954при записи в лог мог происходить segmentation fault;
7955ошибка появилась в 1.3.10.
7956</para>
7957<para lang="en">
7958a segmentation fault might occur if logging was used;
7959the bug had appeared in 1.3.10.
7960</para>
7961</change>
7962
7963<change type="bugfix">
7964<para lang="ru">
7965директива proxy_pass не работала с IP-адресами
7966без явного указания порта;
7967ошибка появилась в 1.3.10.
7968</para>
7969<para lang="en">
7970the "proxy_pass" directive did not work with IP addresses
7971without port specified;
7972the bug had appeared in 1.3.10.
7973</para>
7974</change>
7975
7976<change type="bugfix">
7977<para lang="ru">
7978на старте или во время переконфигурации происходил segmentation fault,
7979если директива keepalive была указана несколько раз
7980в одном блоке upstream.
7981</para>
7982<para lang="en">
7983a segmentation fault occurred on start or during reconfiguration
7984if the "keepalive" directive was specified more than once
7985in a single upstream block.
7986</para>
7987</change>
7988
7989<change type="bugfix">
7990<para lang="ru">
7991параметр default директивы geo не определял значение по умолчанию
7992для IPv6-адресов.
7993</para>
7994<para lang="en">
7995parameter "default" of the "geo" directive did not set default value
7996for IPv6 addresses.
7997</para>
7998</change>
7999
8000</changes>
8001
8002
8003<changes ver="1.3.10" date="2012-12-25">
8004
8005<change type="change">
8006<para lang="ru">
8007для указанных в конфигурационном файле доменных имён теперь
8008используются не только IPv4, но и IPv6 адреса.
8009</para>
8010<para lang="en">
8011domain names specified in configuration file
8012are now resolved to IPv6 addresses as well as IPv4 ones.
8013</para>
8014</change>
8015
8016<change type="change">
8017<para lang="ru">
8018теперь при использовании директивы include с маской на Unix-системах
8019включаемые файлы сортируются в алфавитном порядке.
8020</para>
8021<para lang="en">
8022now if the "include" directive with mask is used on Unix systems,
8023included files are sorted in alphabetical order.
8024</para>
8025</change>
8026
8027<change type="change">
8028<para lang="ru">
8029директива add_header добавляет строки в ответы с кодом 201.
8030</para>
8031<para lang="en">
8032the "add_header" directive adds headers to 201 responses.
8033</para>
8034</change>
8035
8036<change type="feature">
8037<para lang="ru">
8038директива geo теперь поддерживает IPv6 адреса в формате CIDR.
8039</para>
8040<para lang="en">
8041the "geo" directive now supports IPv6 addresses in CIDR notation.
8042</para>
8043</change>
8044
8045<change type="feature">
8046<para lang="ru">
8047параметры flush и gzip в директиве access_log.
8048</para>
8049<para lang="en">
8050the "flush" and "gzip" parameters of the "access_log" directive.
8051</para>
8052</change>
8053
8054<change type="feature">
8055<para lang="ru">
8056директива auth_basic поддерживает переменные.
8057</para>
8058<para lang="en">
8059variables support in the "auth_basic" directive.
8060</para>
8061</change>
8062
8063<change type="bugfix">
8064<para lang="ru">
8065nginx в некоторых случаях не собирался с модулем ngx_http_perl_module.
8066</para>
8067<para lang="en">
8068nginx could not be built with the ngx_http_perl_module in some cases.
8069</para>
8070</change>
8071
8072<change type="bugfix">
8073<para lang="ru">
8074в рабочем процессе мог произойти segmentation fault,
8075если использовался модуль ngx_http_xslt_module.
8076</para>
8077<para lang="en">
8078a segmentation fault might occur in a worker process
8079if the ngx_http_xslt_module was used.
8080</para>
8081</change>
8082
8083<change type="bugfix">
8084<para lang="ru">
8085nginx мог не собираться на MacOSX.<br/>
8086Спасибо Piotr Sikora.
8087</para>
8088<para lang="en">
8089nginx could not be built on MacOSX in some cases.<br/>
8090Thanks to Piotr Sikora.
8091</para>
8092</change>
8093
8094<change type="bugfix">
8095<para lang="ru">
8096при использовании директивы limit_rate с большими значениями скорости
8097на 32-битных системах ответ мог возвращаться не целиком.<br/>
8098Спасибо Алексею Антропову.
8099</para>
8100<para lang="en">
8101the "limit_rate" directive with high rates
8102might result in truncated responses on 32-bit platforms.<br/>
8103Thanks to Alexey Antropov.
8104</para>
8105</change>
8106
8107<change type="bugfix">
8108<para lang="ru">
8109в рабочем процессе мог произойти segmentation fault,
8110если использовалась директива if.<br/>
8111Спасибо Piotr Sikora.
8112</para>
8113<para lang="en">
8114a segmentation fault might occur in a worker process
8115if the "if" directive was used.<br/>
8116Thanks to Piotr Sikora.
8117</para>
8118</change>
8119
8120<change type="bugfix">
8121<para lang="ru">
8122ответ "100 Continue" выдавался
8123вместе с ответом "413 Request Entity Too Large".
8124</para>
8125<para lang="en">
8126a "100 Continue" response was issued
8127with "413 Request Entity Too Large" responses.
8128</para>
8129</change>
8130
8131<change type="bugfix">
8132<para lang="ru">
8133директивы image_filter, image_filter_jpeg_quality и image_filter_sharpen
8134могли наследоваться некорректно.<br/>
8135Спасибо Ивану Боброву.
8136</para>
8137<para lang="en">
8138the "image_filter", "image_filter_jpeg_quality"
8139and "image_filter_sharpen" directives
8140might be inherited incorrectly.<br/>
8141Thanks to Ian Babrou.
8142</para>
8143</change>
8144
8145<change type="bugfix">
8146<para lang="ru">
8147при использовании директивы auth_basic под Linux
8148могли возникать ошибки "crypt_r() failed".
8149</para>
8150<para lang="en">
8151"crypt_r() failed" errors might appear
8152if the "auth_basic" directive was used on Linux.
8153</para>
8154</change>
8155
8156<change type="bugfix">
8157<para lang="ru">
8158в обработке backup-серверов.<br/>
8159Спасибо Thomas Chen.
8160</para>
8161<para lang="en">
8162in backup servers handling.<br/>
8163Thanks to Thomas Chen.
8164</para>
8165</change>
8166
8167<change type="bugfix">
8168<para lang="ru">
8169при проксировании HEAD-запросов мог возвращаться некорректный ответ,
8170если использовалась директива gzip.
8171</para>
8172<para lang="en">
8173proxied HEAD requests might return incorrect response
8174if the "gzip" directive was used.
8175</para>
8176</change>
8177
8178</changes>
8179
8180
8181<changes ver="1.3.9" date="2012-11-27">
8182
8183<change type="feature">
8184<para lang="ru">
8185поддержка chunked transfer encoding при получении тела запроса.
8186</para>
8187<para lang="en">
8188support for chunked transfer encoding while reading client request body.
8189</para>
8190</change>
8191
8192<change type="feature">
8193<para lang="ru">
8194переменные $request_time и $msec
8195теперь можно использовать не только в директиве log_format.
8196</para>
8197<para lang="en">
8198the $request_time and $msec variables
8199can now be used not only in the "log_format" directive.
8200</para>
8201</change>
8202
8203<change type="bugfix">
8204<para lang="ru">
8205cache manager и cache loader могли не запускаться,
8206если использовалось более 512 listen-сокетов.
8207</para>
8208<para lang="en">
8209cache manager and cache loader processes might not be able to start
8210if more than 512 listen sockets were used.
8211</para>
8212</change>
8213
8214<change type="bugfix">
8215<para lang="ru">
8216в модуле ngx_http_dav_module.
8217</para>
8218<para lang="en">
8219in the ngx_http_dav_module.
8220</para>
8221</change>
8222
8223</changes>
8224
8225
8226<changes ver="1.3.8" date="2012-10-30">
8227
8228<change type="feature">
8229<para lang="ru">
8230параметр optional_no_ca директивы ssl_verify_client.<br/>
8231Спасибо Михаилу Казанцеву и Eric O'Connor.
8232</para>
8233<para lang="en">
8234the "optional_no_ca" parameter of the "ssl_verify_client" directive.<br/>
8235Thanks to Mike Kazantsev and Eric O'Connor.
8236</para>
8237</change>
8238
8239<change type="feature">
8240<para lang="ru">
8241переменные $bytes_sent, $connection и $connection_requests
8242теперь можно использовать не только в директиве log_format.<br/>
8243Спасибо Benjamin Grössing.
8244</para>
8245<para lang="en">
8246the $bytes_sent, $connection, and $connection_requests variables
8247can now be used not only in the "log_format" directive.<br/>
8248Thanks to Benjamin Grössing.
8249</para>
8250</change>
8251
8252<change type="feature">
8253<para lang="ru">
8254параметр auto директивы worker_processes.
8255</para>
8256<para lang="en">
8257the "auto" parameter of the "worker_processes" directive.
8258</para>
8259</change>
8260
8261<change type="bugfix">
8262<para lang="ru">
8263сообщения "cache file ... has md5 collision".
8264</para>
8265<para lang="en">
8266"cache file ... has md5 collision" alert.
8267</para>
8268</change>
8269
8270<change type="bugfix">
8271<para lang="ru">
8272в модуле ngx_http_gunzip_filter_module.
8273</para>
8274<para lang="en">
8275in the ngx_http_gunzip_filter_module.
8276</para>
8277</change>
8278
8279<change type="bugfix">
8280<para lang="ru">
8281в директиве ssl_stapling.
8282</para>
8283<para lang="en">
8284in the "ssl_stapling" directive.
8285</para>
8286</change>
8287
8288</changes>
8289
8290
8291<changes ver="1.3.7" date="2012-10-02">
8292
8293<change type="feature">
8294<para lang="ru">
8295поддержка OCSP stapling.<br/>
8296Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки.
8297</para>
8298<para lang="en">
8299OCSP stapling support.<br/>
8300Thanks to Comodo, DigiCert and GlobalSign for sponsoring this work.
8301</para>
8302</change>
8303
8304<change type="feature">
8305<para lang="ru">
8306директива ssl_trusted_certificate.
8307</para>
8308<para lang="en">
8309the "ssl_trusted_certificate" directive.
8310</para>
8311</change>
8312
8313<change type="feature">
8314<para lang="ru">
8315теперь resolver случайным образом меняет порядок
8316возвращаемых закэшированных адресов.<br/>
8317Спасибо Антону Жулину.
8318</para>
8319<para lang="en">
8320resolver now randomly rotates addresses
8321returned from cache.<br/>
8322Thanks to Anton Jouline.
8323</para>
8324</change>
8325
8326<change type="bugfix">
8327<para lang="ru">
8328совместимость с OpenSSL 0.9.7.
8329</para>
8330<para lang="en">
8331OpenSSL 0.9.7 compatibility.
8332</para>
8333</change>
8334
8335</changes>
8336
8337
8338<changes ver="1.3.6" date="2012-09-12">
8339
8340<change type="feature">
8341<para lang="ru">
8342модуль ngx_http_gunzip_filter_module.
8343</para>
8344<para lang="en">
8345the ngx_http_gunzip_filter_module.
8346</para>
8347</change>
8348
8349<change type="feature">
8350<para lang="ru">
8351директива memcached_gzip_flag.
8352</para>
8353<para lang="en">
8354the "memcached_gzip_flag" directive.
8355</para>
8356</change>
8357
8358<change type="feature">
8359<para lang="ru">
8360параметр always директивы gzip_static.
8361</para>
8362<para lang="en">
8363the "always" parameter of the "gzip_static" directive.
8364</para>
8365</change>
8366
8367<change type="bugfix">
8368<para lang="ru">
8369в директиве "limit_req";
8370ошибка появилась в 1.1.14.<br/>
8371Спасибо Charles Chen.
8372</para>
8373<para lang="en">
8374in the "limit_req" directive;
8375the bug had appeared in 1.1.14.<br/>
8376Thanks to Charles Chen.
8377</para>
8378</change>
8379
8380<change type="bugfix">
8381<para lang="ru">
8382nginx не собирался gcc 4.7 с оптимизацией -O2
8383если использовался параметр --with-ipv6.
8384</para>
8385<para lang="en">
8386nginx could not be built by gcc 4.7 with -O2 optimization
8387if the --with-ipv6 option was used.
8388</para>
8389</change>
8390
8391</changes>
8392
8393
8394<changes ver="1.3.5" date="2012-08-21">
8395
8396<change type="change">
8397<para lang="ru">
8398модуль ngx_http_mp4_module больше не отфильтровывает дорожки
8399в форматах, отличных от H.264 и AAC.
8400</para>
8401<para lang="en">
8402the ngx_http_mp4_module module no longer skips
8403tracks in formats other than H.264 and AAC.
8404</para>
8405</change>
8406
8407<change type="bugfix">
8408<para lang="ru">
8409в рабочем процессе мог произойти segmentation fault,
8410если в директиве map в качестве значений использовались переменные.
8411</para>
8412<para lang="en">
8413a segmentation fault might occur in a worker process
8414if the "map" directive was used with variables as values.
8415</para>
8416</change>
8417
8418<change type="bugfix">
8419<para lang="ru">
8420в рабочем процессе мог произойти segmentation fault
8421при использовании директивы geo с параметром ranges,
8422но без параметра default; ошибка появилась в 0.8.43.<br/>
8423Спасибо Zhen Chen и Weibin Yao.
8424</para>
8425<para lang="en">
8426a segmentation fault might occur in a worker process
8427if the "geo" directive was used with the "ranges" parameter
8428but without the "default" parameter; the bug had appeared in 0.8.43.<br/>
8429Thanks to Zhen Chen and Weibin Yao.
8430</para>
8431</change>
8432
8433<change type="bugfix">
8434<para lang="ru">
8435в обработке параметра командной строки -p.
8436</para>
8437<para lang="en">
8438in the -p command-line parameter handling.
8439</para>
8440</change>
8441
8442<change type="bugfix">
8443<para lang="ru">
8444в почтовом прокси-сервере.
8445</para>
8446<para lang="en">
8447in the mail proxy server.
8448</para>
8449</change>
8450
8451<change type="bugfix">
8452<para lang="ru">
8453незначительных потенциальных ошибок.<br/>
8454Спасибо Coverity.
8455</para>
8456<para lang="en">
8457of minor potential bugs.<br/>
8458Thanks to Coverity.
8459</para>
8460</change>
8461
8462<change type="bugfix">
8463<para lang="ru">
8464nginx/Windows не собирался с Visual Studio 2005 Express.<br/>
8465Спасибо HAYASHI Kentaro.
8466</para>
8467<para lang="en">
8468nginx/Windows could not be built with Visual Studio 2005 Express.<br/>
8469Thanks to HAYASHI Kentaro.
8470</para>
8471</change>
8472
8473</changes>
8474
8475
8476<changes ver="1.3.4" date="2012-07-31">
8477
8478<change type="change">
8479<para lang="ru">
8480теперь на слушающих IPv6-сокетах параметр ipv6only
8481включён по умолчанию.
8482</para>
8483<para lang="en">
8484the "ipv6only" parameter is now turned on by default for
8485listening IPv6 sockets.
8486</para>
8487</change>
8488
8489<change type="feature">
8490<para lang="ru">
8491поддержка компилятора Clang.
8492</para>
8493<para lang="en">
8494the Clang compiler support.
8495</para>
8496</change>
8497
8498<change type="bugfix">
8499<para lang="ru">
8500могли создаваться лишние слушающие сокеты.<br/>
8501Спасибо Роману Одайскому.
8502</para>
8503<para lang="en">
8504extra listening sockets might be created.<br/>
8505Thanks to Roman Odaisky.
8506</para>
8507</change>
8508
8509<change type="bugfix">
8510<para lang="ru">
8511nginx/Windows мог нагружать процессор, если при запуске рабочего процесса
8512происходила ошибка.<br/>
8513Спасибо Ricardo Villalobos Guevara.
8514</para>
8515<para lang="en">
8516nginx/Windows might hog CPU if a worker process failed to start.<br/>
8517Thanks to Ricardo Villalobos Guevara.
8518</para>
8519</change>
8520
8521<change type="bugfix">
8522<para lang="ru">
8523директивы proxy_pass_header, fastcgi_pass_header, scgi_pass_header,
8524uwsgi_pass_header, proxy_hide_header, fastcgi_hide_header,
8525scgi_hide_header и uwsgi_hide_header
8526могли наследоваться некорректно.
8527</para>
8528<para lang="en">
8529the "proxy_pass_header", "fastcgi_pass_header", "scgi_pass_header",
8530"uwsgi_pass_header", "proxy_hide_header", "fastcgi_hide_header",
8531"scgi_hide_header", and "uwsgi_hide_header" directives
8532might be inherited incorrectly.
8533</para>
8534</change>
8535
8536</changes>
8537
8538
8539<changes ver="1.3.3" date="2012-07-10">
8540
8541<change type="feature">
8542<para lang="ru">
8543поддержка entity tags и директива etag.
8544</para>
8545<para lang="en">
8546entity tags support and the "etag" directive.
8547</para>
8548</change>
8549
8550<change type="bugfix">
8551<para lang="ru">
8552при использовании директивы map с параметром hostnames
8553не игнорировалась конечная точка в исходном значении.
8554</para>
8555<para lang="en">
8556trailing dot in a source value was not ignored
8557if the "map" directive was used with the "hostnames" parameter.
8558</para>
8559</change>
8560
8561<change type="bugfix">
8562<para lang="ru">
8563для обработки запроса мог использоваться неверный location,
8564если переход в именованный location происходил
8565после изменения URI с помощью директивы rewrite.
8566</para>
8567<para lang="en">
8568incorrect location might be used to process a request
8569if a URI was changed via a "rewrite" directive
8570before an internal redirect to a named location.
8571</para>
8572</change>
8573
8574</changes>
8575
8576
8577<changes ver="1.3.2" date="2012-06-26">
8578
8579<change type="change">
8580<para lang="ru">
8581параметр single директивы keepalive теперь игнорируется.
8582</para>
8583<para lang="en">
8584the "single" parameter of the "keepalive" directive is now ignored.
8585</para>
8586</change>
8587
8588<change type="change">
8589<para lang="ru">
8590сжатие SSL теперь отключено
8591в том числе при использовании OpenSSL старее 1.0.0.
8592</para>
8593<para lang="en">
8594SSL compression is now disabled when using all versions of OpenSSL,
8595including ones prior to 1.0.0.
8596</para>
8597</change>
8598
8599<change type="feature">
8600<para lang="ru">
8601директиву "ip_hash" теперь можно использовать для балансировки IPv6 клиентов.
8602</para>
8603<para lang="en">
8604it is now possible to use the "ip_hash" directive to balance IPv6 clients.
8605</para>
8606</change>
8607
8608<change type="feature">
8609<para lang="ru">
8610переменную $status теперь можно использовать не только в директиве log_format.
8611</para>
8612<para lang="en">
8613the $status variable can now be used not only in the "log_format" directive.
8614</para>
8615</change>
8616
8617<change type="bugfix">
8618<para lang="ru">
8619при завершении рабочего процесса мог произойти segmentation fault,
8620если использовалась директива resolver.
8621</para>
8622<para lang="en">
8623a segmentation fault might occur in a worker process on shutdown
8624if the "resolver" directive was used.
8625</para>
8626</change>
8627
8628<change type="bugfix">
8629<para lang="ru">
8630в рабочем процессе мог произойти segmentation fault,
8631если использовался модуль ngx_http_mp4_module.
8632</para>
8633<para lang="en">
8634a segmentation fault might occur in a worker process
8635if the ngx_http_mp4_module was used.
8636</para>
8637</change>
8638
8639<change type="bugfix">
8640<para lang="ru">
8641в модуле ngx_http_mp4_module.
8642</para>
8643<para lang="en">
8644in the ngx_http_mp4_module.
8645</para>
8646</change>
8647
8648<change type="bugfix">
8649<para lang="ru">
8650в рабочем процессе мог произойти segmentation fault,
8651если использовались конфликтующие имена серверов с масками.
8652</para>
8653<para lang="en">
8654a segmentation fault might occur in a worker process
8655if conflicting wildcard server names were used.
8656</para>
8657</change>
8658
8659<change type="bugfix">
8660<para lang="ru">
8661на платформе ARM nginx мог аварийно завершаться по сигналу SIGBUS.
8662</para>
8663<para lang="en">
8664nginx might be terminated abnormally on a SIGBUS signal on ARM platform.
8665</para>
8666</change>
8667
8668<change type="bugfix">
8669<para lang="ru">
8670во время переконфигурации на HP-UX в лог
8671записывался alert "sendmsg() failed (9: Bad file number)".
8672</para>
8673<para lang="en">
8674an alert "sendmsg() failed (9: Bad file number)" on HP-UX
8675while reconfiguration.
8676</para>
8677</change>
8678
8679</changes>
8680
8681
8682<changes ver="1.3.1" date="2012-06-05">
8683
8684<change type="security">
8685<para lang="ru">
8686теперь nginx/Windows игнорирует точку в конце компонента URI
8687и не разрешает URI, содержащие последовательность ":$".<br/>
8688Спасибо Владимиру Кочеткову, Positive Research Center.
8689</para>
8690<para lang="en">
8691now nginx/Windows ignores trailing dot in URI path component, and
8692does not allow URIs with ":$" in it.<br/>
8693Thanks to Vladimir Kochetkov, Positive Research Center.
8694</para>
8695</change>
8696
8697<change type="feature">
8698<para lang="ru">
8699директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass и
8700директива server в блоке upstream
8701теперь поддерживают IPv6-адреса.
8702</para>
8703<para lang="en">
8704the "proxy_pass", "fastcgi_pass", "scgi_pass", "uwsgi_pass" directives, and
8705the "server" directive inside the "upstream" block,
8706now support IPv6 addresses.
8707</para>
8708</change>
8709
8710<change type="feature">
8711<para lang="ru">
8712в директиве resolver теперь можно указывать порт и
8713задавать IPv6-адреса DNS-серверов.
8714</para>
8715<para lang="en">
8716the "resolver" directive now supports IPv6 addresses and
8717an optional port specification.
8718</para>
8719</change>
8720
8721<change type="feature">
8722<para lang="ru">
8723директива least_conn в блоке upstream.
8724</para>
8725<para lang="en">
8726the "least_conn" directive inside the "upstream" block.
8727</para>
8728</change>
8729
8730<change type="feature">
8731<para lang="ru">
8732при использовании директивы ip_hash
8733теперь можно задавать веса серверов.
8734</para>
8735<para lang="en">
8736it is now possible to specify a weight for servers
8737while using the "ip_hash" directive.
8738</para>
8739</change>
8740
8741<change type="bugfix">
8742<para lang="ru">
8743в рабочем процессе мог произойти segmentation fault,
8744если использовалась директива image_filter;
8745ошибка появилась в 1.3.0.
8746</para>
8747<para lang="en">
8748a segmentation fault might occur in a worker process
8749if the "image_filter" directive was used;
8750the bug had appeared in 1.3.0.
8751</para>
8752</change>
8753
8754<change type="bugfix">
8755<para lang="ru">
8756nginx не собирался с модулем ngx_cpp_test_module;
8757ошибка появилась в 1.1.12.
8758</para>
8759<para lang="en">
8760nginx could not be built with ngx_cpp_test_module;
8761the bug had appeared in 1.1.12.
8762</para>
8763</change>
8764
8765<change type="bugfix">
8766<para lang="ru">
8767доступ к переменным из SSI и встроенного перла мог не работать после
8768переконфигурации.<br/>
8769Спасибо Yichun Zhang.
8770</para>
8771<para lang="en">
8772access to variables from SSI and embedded perl module might not work after
8773reconfiguration.<br/>
8774Thanks to Yichun Zhang.
8775</para>
8776</change>
8777
8778<change type="bugfix">
8779<para lang="ru">
8780в модуле ngx_http_xslt_filter_module.<br/>
8781Спасибо Kuramoto Eiji.
8782</para>
8783<para lang="en">
8784in the ngx_http_xslt_filter_module.<br/>
8785Thanks to Kuramoto Eiji.
8786</para>
8787</change>
8788
8789<change type="bugfix">
8790<para lang="ru">
8791утечки памяти при использовании переменной $geoip_org.<br/>
8792Спасибо Денису Латыпову.
8793</para>
8794<para lang="en">
8795memory leak if $geoip_org variable was used.<br/>
8796Thanks to Denis F. Latypoff.
8797</para>
8798</change>
8799
8800<change type="bugfix">
8801<para lang="ru">
8802в директивах proxy_cookie_domain и proxy_cookie_path.
8803</para>
8804<para lang="en">
8805in the "proxy_cookie_domain" and "proxy_cookie_path" directives.
8806</para>
8807</change>
8808
8809</changes>
8810
8811
8812<changes ver="1.3.0" date="2012-05-15">
8813
8814<change type="feature">
8815<para lang="ru">
8816директива debug_connection теперь поддерживает IPv6-адреса
8817и параметр "unix:".
8818</para>
8819<para lang="en">
8820the "debug_connection" directive now supports IPv6 addresses
8821and the "unix:" parameter.
8822</para>
8823</change>
8824
8825<change type="feature">
8826<para lang="ru">
8827директива set_real_ip_from и параметр proxy
8828директивы geo теперь поддерживают IPv6-адреса.
8829</para>
8830<para lang="en">
8831the "set_real_ip_from" directive and the "proxy" parameter
8832of the "geo" directive now support IPv6 addresses.
8833</para>
8834</change>
8835
8836<change type="feature">
8837<para lang="ru">
8838директивы real_ip_recursive, geoip_proxy и geoip_proxy_recursive.
8839</para>
8840<para lang="en">
8841the "real_ip_recursive", "geoip_proxy", and "geoip_proxy_recursive" directives.
8842</para>
8843</change>
8844
8845<change type="feature">
8846<para lang="ru">
8847параметр proxy_recursive директивы geo.
8848</para>
8849<para lang="en">
8850the "proxy_recursive" parameter of the "geo" directive.
8851</para>
8852</change>
8853
8854<change type="bugfix">
8855<para lang="ru">
8856в рабочем процессе мог произойти segmentation fault,
8857если использовалась директива resolver.
8858</para>
8859<para lang="en">
8860a segmentation fault might occur in a worker process
8861if the "resolver" directive was used.
8862</para>
8863</change>
8864
8865<change type="bugfix">
8866<para lang="ru">
8867в рабочем процессе мог произойти segmentation fault,
8868если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
8869и бэкенд возвращал некорректный ответ.
8870</para>
8871<para lang="en">
8872a segmentation fault might occur in a worker process
8873if the "fastcgi_pass", "scgi_pass", or "uwsgi_pass" directives were used
8874and backend returned incorrect response.
8875</para>
8876</change>
8877
8878<change type="bugfix">
8879<para lang="ru">
8880в рабочем процессе мог произойти segmentation fault,
8881если использовалась директива rewrite и в новых аргументах запроса в строке
8882замены использовались переменные.
8883</para>
8884<para lang="en">
8885a segmentation fault might occur in a worker process
8886if the "rewrite" directive was used and new request arguments
8887in a replacement used variables.
8888</para>
8889</change>
8890
8891<change type="bugfix">
8892<para lang="ru">
8893nginx мог нагружать процессор,
8894если было достигнуто ограничение на количество открытых файлов.
8895</para>
8896<para lang="en">
8897nginx might hog CPU
8898if the open file resource limit was reached.
8899</para>
8900</change>
8901
8902<change type="bugfix">
8903<para lang="ru">
8904при использовании директивы proxy_next_upstream с параметром http_404
8905nginx мог бесконечно перебирать бэкенды, если в блоке upstream был
8906хотя бы один сервер с флагом backup.
8907</para>
8908<para lang="en">
8909nginx might loop infinitely over backends
8910if the "proxy_next_upstream" directive with the "http_404" parameter was used
8911and there were backup servers specified in an upstream block.
8912</para>
8913</change>
8914
8915<change type="bugfix">
8916<para lang="ru">
8917при использовании директивы ip_hash
8918установка параметра down директивы server
8919могла приводить к ненужному перераспределению клиентов между бэкендами.
8920</para>
8921<para lang="en">
8922adding the "down" parameter of the "server" directive
8923might cause unneeded client redistribution among backend servers
8924if the "ip_hash" directive was used.
8925</para>
8926</change>
8927
8928<change type="bugfix">
8929<para lang="ru">
8930утечки сокетов.<br/>
8931Спасибо Yichun Zhang.
8932</para>
8933<para lang="en">
8934socket leak.<br/>
8935Thanks to Yichun Zhang.
8936</para>
8937</change>
8938
8939<change type="bugfix">
8940<para lang="ru">
8941в модуле ngx_http_fastcgi_module.
8942</para>
8943<para lang="en">
8944in the ngx_http_fastcgi_module.
8945</para>
8946</change>
8947
8948</changes>
8949
8950
8951<changes ver="1.2.0" date="2012-04-23">
8952
8953<change type="bugfix">
8954<para lang="ru">
8955в рабочем процессе мог произойти segmentation fault,
8956если использовалась директива try_files;
8957ошибка появилась в 1.1.19.
8958</para>
8959<para lang="en">
8960a segmentation fault might occur in a worker process
8961if the "try_files" directive was used;
8962the bug had appeared in 1.1.19.
8963</para>
8964</change>
8965
8966<change type="bugfix">
8967<para lang="ru">
8968ответ мог быть передан не полностью,
8969если использовалось больше IOV_MAX буферов.
8970</para>
8971<para lang="en">
8972response might be truncated
8973if there were more than IOV_MAX buffers used.
8974</para>
8975</change>
8976
8977<change type="bugfix">
8978<para lang="ru">
8979в работе параметра crop директивы image_filter.<br/>
8980Спасибо Maxim Bublis.
8981</para>
8982<para lang="en">
8983in the "crop" parameter of the "image_filter" directive.<br/>
8984Thanks to Maxim Bublis.
8985</para>
8986</change>
8987
8988</changes>
8989
8990
8991<changes ver="1.1.19" date="2012-04-12">
8992
8993<change type="security">
8994<para lang="ru">
8995при обработке специально созданного mp4 файла модулем ngx_http_mp4_module
8996могли перезаписываться области памяти рабочего процесса, что могло
8997приводить к выполнению произвольного кода (CVE-2012-2089).<br/>
8998Спасибо Matthew Daley.
8999</para>
9000<para lang="en">
9001specially crafted mp4 file might allow to overwrite
9002memory locations in a worker process
9003if the ngx_http_mp4_module was used,
9004potentially resulting in arbitrary code execution (CVE-2012-2089).<br/>
9005Thanks to Matthew Daley.
9006</para>
9007</change>
9008
9009<change type="bugfix">
9010<para lang="ru">
9011nginx/Windows мог завершаться аварийно.<br/>
9012Спасибо Vincent Lee.
9013</para>
9014<para lang="en">
9015nginx/Windows might be terminated abnormally.<br/>
9016Thanks to Vincent Lee.
9017</para>
9018</change>
9019
9020<change type="bugfix">
9021<para lang="ru">
9022nginx нагружал процессор, если все серверы в upstream'е были помечены
9023флагом backup.
9024</para>
9025<para lang="en">
9026nginx hogged CPU if all servers in an upstream were marked as "backup".
9027</para>
9028</change>
9029
9030<change type="bugfix">
9031<para lang="ru">
9032директивы allow и deny могли наследоваться некорректно,
9033если в них использовались IPv6 адреса.
9034</para>
9035<para lang="en">
9036the "allow" and "deny" directives might be inherited incorrectly
9037if they were used with IPv6 addresses.
9038</para>
9039</change>
9040
9041<change type="bugfix">
9042<para lang="ru">
9043директивы modern_browser и ancient_browser
9044могли наследоваться некорректно.
9045</para>
9046<para lang="en">
9047the "modern_browser" and "ancient_browser" directives
9048might be inherited incorrectly.
9049</para>
9050</change>
9051
9052<change type="bugfix">
9053<para lang="ru">
9054таймауты могли работать некорректно на Solaris/SPARC.
9055</para>
9056<para lang="en">
9057timeouts might be handled incorrectly on Solaris/SPARC.
9058</para>
9059</change>
9060
9061<change type="bugfix">
9062<para lang="ru">
9063в модуле ngx_http_mp4_module.
9064</para>
9065<para lang="en">
9066in the ngx_http_mp4_module.
9067</para>
9068</change>
9069
9070</changes>
9071
9072
9073<changes ver="1.1.18" date="2012-03-28">
9074
9075<change type="change">
9076<para lang="ru">
9077теперь keepalive соединения не запрещены для Safari по умолчанию.
9078</para>
9079<para lang="en">
9080keepalive connections are no longer disabled for Safari by default.
9081</para>
9082</change>
9083
9084<change type="feature">
9085<para lang="ru">
9086переменная $connection_requests.
9087</para>
9088<para lang="en">
9089the $connection_requests variable.
9090</para>
9091</change>
9092
9093<change type="feature">
9094<para lang="ru">
9095переменные $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd и
9096$tcpinfo_rcv_space.
9097</para>
9098<para lang="en">
9099$tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd and
9100$tcpinfo_rcv_space variables.
9101</para>
9102</change>
9103
9104<change type="feature">
9105<para lang="ru">
9106директива worker_cpu_affinity теперь работает на FreeBSD.
9107</para>
9108<para lang="en">
9109the "worker_cpu_affinity" directive now works on FreeBSD.
9110</para>
9111</change>
9112
9113<change type="feature">
9114<para lang="ru">
9115директивы xslt_param и xslt_string_param.<br/>
9116Спасибо Samuel Behan.
9117</para>
9118<para lang="en">
9119the "xslt_param" and "xslt_string_param" directives.<br/>
9120Thanks to Samuel Behan.
9121</para>
9122</change>
9123
9124<change type="bugfix">
9125<para lang="ru">
9126в configure.<br/>
9127Спасибо Piotr Sikora.
9128</para>
9129<para lang="en">
9130in configure tests.<br/>
9131Thanks to Piotr Sikora.
9132</para>
9133</change>
9134
9135<change type="bugfix">
9136<para lang="ru">
9137в модуле ngx_http_xslt_filter_module.
9138</para>
9139<para lang="en">
9140in the ngx_http_xslt_filter_module.
9141</para>
9142</change>
9143
9144<change type="bugfix">
9145<para lang="ru">
9146nginx не собирался на Debian GNU/Hurd.
9147</para>
9148<para lang="en">
9149nginx could not be built on Debian GNU/Hurd.
9150</para>
9151</change>
9152
9153</changes>
9154
9155
9156<changes ver="1.1.17" date="2012-03-15">
9157
9158<change type="security">
9159<para lang="ru">
9160содержимое ранее освобождённой памяти могло быть отправлено клиенту,
9161если бэкенд возвращал специально созданный ответ.<br/>
9162Спасибо Matthew Daley.
9163</para>
9164<para lang="en">
9165content of previously freed memory might be sent to a client
9166if backend returned specially crafted response.<br/>
9167Thanks to Matthew Daley.
9168</para>
9169</change>
9170
9171<change type="bugfix">
9172<para lang="ru">
9173при использовании встроенного перла из SSI.<br/>
9174Спасибо Matthew Daley.
9175</para>
9176<para lang="en">
9177in the embedded perl module if used from SSI.<br/>
9178Thanks to Matthew Daley.
9179</para>
9180</change>
9181
9182<change type="bugfix">
9183<para lang="ru">
9184в модуле ngx_http_uwsgi_module.
9185</para>
9186<para lang="en">
9187in the ngx_http_uwsgi_module.
9188</para>
9189</change>
9190
9191</changes>
9192
9193
9194<changes ver="1.1.16" date="2012-02-29">
9195
9196<change type="change">
9197<para lang="ru">
9198ограничение на количество одновременных подзапросов поднято до 200.
9199</para>
9200<para lang="en">
9201the simultaneous subrequest limit has been raised to 200.
9202</para>
9203</change>
9204
9205<change type="feature">
9206<para lang="ru">
9207параметр from в директиве disable_symlinks.
9208</para>
9209<para lang="en">
9210the "from" parameter of the "disable_symlinks" directive.
9211</para>
9212</change>
9213
9214<change type="feature">
9215<para lang="ru">
9216директивы return и error_page теперь могут использоваться для возврата
9217перенаправлений с кодом 307.
9218</para>
9219<para lang="en">
9220the "return" and "error_page" directives can now be used to return 307
9221redirections.
9222</para>
9223</change>
9224
9225<change type="bugfix">
9226<para lang="ru">
9227в рабочем процессе мог произойти segmentation fault,
9228если использовалась директива resolver
9229и на глобальном уровне не была задана директива error_log.<br/>
9230Спасибо Роману Арутюняну.
9231</para>
9232<para lang="en">
9233a segmentation fault might occur in a worker process
9234if the "resolver" directive was used
9235and there was no "error_log" directive specified at global level.<br/>
9236Thanks to Roman Arutyunyan.
9237</para>
9238</change>
9239
9240<change type="bugfix">
9241<para lang="ru">
9242в рабочем процессе мог произойти segmentation fault,
9243если использовались директивы "proxy_http_version 1.1" или
9244"fastcgi_keep_conn on".
9245</para>
9246<para lang="en">
9247a segmentation fault might occur in a worker process
9248if the "proxy_http_version 1.1" or "fastcgi_keep_conn on" directives
9249were used.
9250</para>
9251</change>
9252
9253<change type="bugfix">
9254<para lang="ru">
9255утечек памяти.<br/>
9256Спасибо Lanshun Zhou.
9257</para>
9258<para lang="en">
9259memory leaks.<br/>
9260Thanks to Lanshun Zhou.
9261</para>
9262</change>
9263
9264<change type="bugfix">
9265<para lang="ru">
9266в директиве disable_symlinks.
9267</para>
9268<para lang="en">
9269in the "disable_symlinks" directive.
9270</para>
9271</change>
9272
9273<change type="bugfix">
9274<para lang="ru">
9275при использовании ZFS размер кэша на диске мог считаться некорректно;
9276ошибка появилась в 1.0.1.
9277</para>
9278<para lang="en">
9279on ZFS filesystem disk cache size might be calculated incorrectly;
9280the bug had appeared in 1.0.1.
9281</para>
9282</change>
9283
9284<change type="bugfix">
9285<para lang="ru">
9286nginx не собирался компилятором icc 12.1.
9287</para>
9288<para lang="en">
9289nginx could not be built by the icc 12.1 compiler.
9290</para>
9291</change>
9292
9293<change type="bugfix">
9294<para lang="ru">
9295nginx не собирался gcc на Solaris;
9296ошибка появилась в 1.1.15.
9297</para>
9298<para lang="en">
9299nginx could not be built by gcc on Solaris;
9300the bug had appeared in 1.1.15.
9301</para>
9302</change>
9303
9304</changes>
9305
9306
9307<changes ver="1.1.15" date="2012-02-15">
9308
9309<change type="feature">
9310<para lang="ru">
9311директива disable_symlinks.
9312</para>
9313<para lang="en">
9314the "disable_symlinks" directive.
9315</para>
9316</change>
9317
9318<change type="feature">
9319<para lang="ru">
9320директивы proxy_cookie_domain и proxy_cookie_path.
9321</para>
9322<para lang="en">
9323the "proxy_cookie_domain" and "proxy_cookie_path" directives.
9324</para>
9325</change>
9326
9327<change type="bugfix">
9328<para lang="ru">
9329nginx мог некорректно сообщать об ошибке "upstream prematurely closed
9330connection" вместо "upstream sent too big header".<br/>
9331Спасибо Feibo Li.
9332</para>
9333<para lang="en">
9334nginx might log incorrect error "upstream prematurely closed connection"
9335instead of correct "upstream sent too big header" one.<br/>
9336Thanks to Feibo Li.
9337</para>
9338</change>
9339
9340<change type="bugfix">
9341<para lang="ru">
9342nginx не собирался с модулем ngx_http_perl_module,
9343если использовался параметр --with-openssl.
9344</para>
9345<para lang="en">
9346nginx could not be built with the ngx_http_perl_module
9347if the --with-openssl option was used.
9348</para>
9349</change>
9350
9351<change type="bugfix">
9352<para lang="ru">
9353количество внутренних перенаправлений в именованные location'ы
9354не ограничивалось.
9355</para>
9356<para lang="en">
9357the number of internal redirects to named locations was not limited.
9358</para>
9359</change>
9360
9361<change type="bugfix">
9362<para lang="ru">
9363вызов $r->flush() несколько раз подряд мог приводить к ошибкам
9364в модуле ngx_http_gzip_filter_module.
9365</para>
9366<para lang="en">
9367calling $r->flush() multiple times might cause errors
9368in the ngx_http_gzip_filter_module.
9369</para>
9370</change>
9371
9372<change type="bugfix">
9373<para lang="ru">
9374при использовании директивы proxy_store с SSI-подзапросами
9375временные файлы могли не удаляться.
9376</para>
9377<para lang="en">
9378temporary files might be not removed
9379if the "proxy_store" directive was used with SSI includes.
9380</para>
9381</change>
9382
9383<change type="bugfix">
9384<para lang="ru">
9385в некоторых случаях некэшируемые переменные (такие, как $args)
9386возвращали старое пустое закэшированное значение.
9387</para>
9388<para lang="en">
9389in some cases non-cacheable variables (such as the $args variable)
9390returned old empty cached value.
9391</para>
9392</change>
9393
9394<change type="bugfix">
9395<para lang="ru">
9396в рабочем процессе мог произойти segmentation fault,
9397если одновременно создавалось слишком много SSI-подзапросов;
9398ошибка появилась в 0.7.25.
9399</para>
9400<para lang="en">
9401a segmentation fault might occur in a worker process
9402if too many SSI subrequests were issued simultaneously;
9403the bug had appeared in 0.7.25.
9404</para>
9405</change>
9406
9407</changes>
9408
9409
9410<changes ver="1.1.14" date="2012-01-30">
9411
9412<change type="feature">
9413<para lang="ru">
9414теперь можно указать несколько ограничений limit_req одновременно.
9415</para>
9416<para lang="en">
9417multiple "limit_req" limits may be used simultaneously.
9418</para>
9419</change>
9420
9421<change type="bugfix">
9422<para lang="ru">
9423в обработке ошибок при соединении с бэкендом.<br/>
9424Спасибо Piotr Sikora.
9425</para>
9426<para lang="en">
9427in error handling while connecting to a backend.<br/>
9428Thanks to Piotr Sikora.
9429</para>
9430</change>
9431
9432<change type="bugfix">
9433<para lang="ru">
9434в обработке ошибок при использовании AIO на FreeBSD.
9435</para>
9436<para lang="en">
9437in AIO error handling on FreeBSD.
9438</para>
9439</change>
9440
9441<change type="bugfix">
9442<para lang="ru">
9443в инициализации библиотеки OpenSSL.
9444</para>
9445<para lang="en">
9446in the OpenSSL library initialization.
9447</para>
9448</change>
9449
9450<change type="bugfix">
9451<para lang="ru">
9452директивы proxy_redirect могли наследоваться некорректно.
9453</para>
9454<para lang="en">
9455the "proxy_redirect" directives might be inherited incorrectly.
9456</para>
9457</change>
9458
9459<change type="bugfix">
9460<para lang="ru">
9461утечки памяти при переконфигурации, если использовалась директива pcre_jit.
9462</para>
9463<para lang="en">
9464memory leak during reconfiguration if the "pcre_jit" directive was used.
9465</para>
9466</change>
9467
9468</changes>
9469
9470
9471<changes ver="1.1.13" date="2012-01-16">
9472
9473<change type="feature">
9474<para lang="ru">
9475параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
9476</para>
9477<para lang="en">
9478the "TLSv1.1" and "TLSv1.2" parameters of the "ssl_protocols" directive.
9479</para>
9480</change>
9481
9482<change type="bugfix">
9483<para lang="ru">
9484параметры директивы limit_req наследовались некорректно;
9485ошибка появилась в 1.1.12.
9486</para>
9487<para lang="en">
9488the "limit_req" directive parameters were not inherited correctly;
9489the bug had appeared in 1.1.12.
9490</para>
9491</change>
9492
9493<change type="bugfix">
9494<para lang="ru">
9495директива proxy_redirect некорректно обрабатывала заголовок Refresh
9496при использовании регулярных выражений.
9497</para>
9498<para lang="en">
9499the "proxy_redirect" directive incorrectly processed "Refresh" header
9500if regular expression were used.
9501</para>
9502</change>
9503
9504<change type="bugfix">
9505<para lang="ru">
9506директива proxy_cache_use_stale с параметром error не возвращала ответ из
9507кэша, если все бэкенды были признаны неработающими.
9508</para>
9509<para lang="en">
9510the "proxy_cache_use_stale" directive with "error" parameter did not return
9511answer from cache if there were no live upstreams.
9512</para>
9513</change>
9514
9515<change type="bugfix">
9516<para lang="ru">
9517директива worker_cpu_affinity могла не работать.
9518</para>
9519<para lang="en">
9520the "worker_cpu_affinity" directive might not work.
9521</para>
9522</change>
9523
9524<change type="bugfix">
9525<para lang="ru">
9526nginx не собирался на Solaris;
9527ошибка появилась в 1.1.12.
9528</para>
9529<para lang="en">
9530nginx could not be built on Solaris;
9531the bug had appeared in 1.1.12.
9532</para>
9533</change>
9534
9535<change type="bugfix">
9536<para lang="ru">
9537в модуле ngx_http_mp4_module.
9538</para>
9539<para lang="en">
9540in the ngx_http_mp4_module.
9541</para>
9542</change>
9543
9544</changes>
9545
9546
9547<changes ver="1.1.12" date="2011-12-26">
9548
9549<change type="change">
9550<para lang="ru">
9551после перенаправления запроса с помощью директивы error_page
9552директива proxy_pass без URI теперь использует изменённый URI.<br/>
9553Спасибо Lanshun Zhou.
9554</para>
9555<para lang="en">
9556a "proxy_pass" directive without URI part now uses changed URI
9557after redirection with the "error_page" directive.<br/>
9558Thanks to Lanshun Zhou.
9559</para>
9560</change>
9561
9562<change type="feature">
9563<para lang="ru">
9564директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
9565proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
9566</para>
9567<para lang="en">
9568the "proxy/fastcgi/scgi/uwsgi_cache_lock",
9569"proxy/fastcgi/scgi/uwsgi_cache_lock_timeout" directives.
9570</para>
9571</change>
9572
9573<change type="feature">
9574<para lang="ru">
9575директива pcre_jit.
9576</para>
9577<para lang="en">
9578the "pcre_jit" directive.
9579</para>
9580</change>
9581
9582<change type="feature">
9583<para lang="ru">
9584SSI команда if поддерживает выделения в регулярных выражениях.
9585</para>
9586<para lang="en">
9587the "if" SSI command supports captures in regular expressions.
9588</para>
9589</change>
9590
9591<change type="bugfix">
9592<para lang="ru">
9593SSI команда if не работала внутри команды block.
9594</para>
9595<para lang="en">
9596the "if" SSI command did not work inside the "block" command.
9597</para>
9598</change>
9599
9600<change type="bugfix">
9601<para lang="ru">
9602директивы limit_conn_log_level и limit_req_log_level могли не работать.
9603</para>
9604<para lang="en">
9605the "limit_conn_log_level" and "limit_req_log_level" directives might not work.
9606</para>
9607</change>
9608
9609<change type="bugfix">
9610<para lang="ru">
9611директива limit_rate не позволяла передавать на полной скорости,
9612даже если был указан очень большой лимит.
9613</para>
9614<para lang="en">
9615the "limit_rate" directive did not allow to use full throughput,
9616even if limit value was very high.
9617</para>
9618</change>
9619
9620<change type="bugfix">
9621<para lang="ru">
9622директива sendfile_max_chunk не работала,
9623если использовалась директива limit_rate.
9624</para>
9625<para lang="en">
9626the "sendfile_max_chunk" directive did not work,
9627if the "limit_rate" directive was used.
9628</para>
9629</change>
9630
9631<change type="bugfix">
9632<para lang="ru">
9633если в директиве proxy_pass использовались переменные и не был указан URI,
9634всегда использовался URI исходного запроса.
9635</para>
9636<para lang="en">
9637a "proxy_pass" directive without URI part always used original request URI
9638if variables were used.
9639</para>
9640</change>
9641
9642<change type="bugfix">
9643<para lang="ru">
9644после перенаправления запроса с помощью директивы try_files
9645директива proxy_pass без URI могла использовать URI исходного запроса.<br/>
9646Спасибо Lanshun Zhou.
9647</para>
9648<para lang="en">
9649a "proxy_pass" directive without URI part might use original request
9650after redirection with the "try_files" directive.<br/>
9651Thanks to Lanshun Zhou.
9652</para>
9653</change>
9654
9655<change type="bugfix">
9656<para lang="ru">
9657в модуле ngx_http_scgi_module.
9658</para>
9659<para lang="en">
9660in the ngx_http_scgi_module.
9661</para>
9662</change>
9663
9664<change type="bugfix">
9665<para lang="ru">
9666в модуле ngx_http_mp4_module.
9667</para>
9668<para lang="en">
9669in the ngx_http_mp4_module.
9670</para>
9671</change>
9672
9673<change type="bugfix">
9674<para lang="ru">
9675nginx не собирался на Solaris;
9676ошибка появилась в 1.1.9.
9677</para>
9678<para lang="en">
9679nginx could not be built on Solaris;
9680the bug had appeared in 1.1.9.
9681</para>
9682</change>
9683
9684</changes>
9685
9686
9687<changes ver="1.1.11" date="2011-12-12">
9688
9689<change type="feature">
9690<para lang="ru">
9691параметр so_keepalive в директиве listen.<br/>
9692Спасибо Всеволоду Стахову.
9693</para>
9694<para lang="en">
9695the "so_keepalive" parameter of the "listen" directive.<br/>
9696Thanks to Vsevolod Stakhov.
9697</para>
9698</change>
9699
9700<change type="feature">
9701<para lang="ru">
9702параметр if_not_empty в директивах fastcgi/scgi/uwsgi_param.
9703</para>
9704<para lang="en">
9705the "if_not_empty" parameter of the "fastcgi/scgi/uwsgi_param" directives.
9706</para>
9707</change>
9708
9709<change type="feature">
9710<para lang="ru">
9711переменная $https.
9712</para>
9713<para lang="en">
9714the $https variable.
9715</para>
9716</change>
9717
9718<change type="feature">
9719<para lang="ru">
9720директива proxy_redirect поддерживает переменные в первом параметре.
9721</para>
9722<para lang="en">
9723the "proxy_redirect" directive supports variables in the first parameter.
9724</para>
9725</change>
9726
9727<change type="feature">
9728<para lang="ru">
9729директива proxy_redirect поддерживает регулярные выражения.
9730</para>
9731<para lang="en">
9732the "proxy_redirect" directive supports regular expressions.
9733</para>
9734</change>
9735
9736<change type="bugfix">
9737<para lang="ru">
9738переменная $sent_http_cache_control могла содержать неверное значение при
9739использовании директивы expires.<br/>
9740Спасибо Yichun Zhang.
9741</para>
9742<para lang="en">
9743the $sent_http_cache_control variable might contain a wrong value if the
9744"expires" directive was used.<br/>
9745Thanks to Yichun Zhang.
9746</para>
9747</change>
9748
9749<change type="bugfix">
9750<para lang="ru">
9751директива read_ahead могла не работать при использовании совместно с
9752try_files и open_file_cache.
9753</para>
9754<para lang="en">
9755the "read_ahead" directive might not work combined with "try_files"
9756and "open_file_cache".
9757</para>
9758</change>
9759
9760<change type="bugfix">
9761<para lang="ru">
9762если в параметре inactive директивы proxy_cache_path
9763было указано малое время,
9764в рабочем процессе мог произойти segmentation fault.
9765</para>
9766<para lang="en">
9767a segmentation fault might occur in a worker process
9768if small time was used in the "inactive" parameter of
9769the "proxy_cache_path" directive.
9770</para>
9771</change>
9772
9773<change type="bugfix">
9774<para lang="ru">
9775ответы из кэша могли зависать.
9776</para>
9777<para lang="en">
9778responses from cache might hang.
9779</para>
9780</change>
9781
9782</changes>
9783
9784
9785<changes ver="1.1.10" date="2011-11-30">
9786
9787<change type="bugfix">
9788<para lang="ru">
9789при использовании AIO на Linux в рабочем процессе происходил segmentation fault;
9790ошибка появилась в 1.1.9.
9791</para>
9792<para lang="en">
9793a segmentation fault occurred in a worker process if AIO was used on Linux;
9794the bug had appeared in 1.1.9.
9795</para>
9796</change>
9797
9798</changes>
9799
9800
9801<changes ver="1.1.9" date="2011-11-28">
9802
9803<change type="change">
9804<para lang="ru">
9805теперь двойные кавычки экранируется при выводе SSI-командой echo.<br/>
9806Спасибо Зауру Абасмирзоеву.
9807</para>
9808<para lang="en">
9809now double quotes are encoded in an "echo" SSI-command output.<br/>
9810Thanks to Zaur Abasmirzoev.
9811</para>
9812</change>
9813
9814<change type="feature">
9815<para lang="ru">
9816параметр valid в директиве resolver.  По умолчанию теперь
9817используется TTL, возвращённый DNS-сервером.<br/>
9818Спасибо Кириллу Коринскому.
9819</para>
9820<para lang="en">
9821the "valid" parameter of the "resolver" directive.  By default TTL
9822returned by a DNS server is used.<br/>
9823Thanks to Kirill A. Korinskiy.
9824</para>
9825</change>
9826
9827<change type="bugfix">
9828<para lang="ru">
9829nginx мог перестать отвечать, если рабочий процесс завершался аварийно.
9830</para>
9831<para lang="en">
9832nginx might hang after a worker process abnormal termination.
9833</para>
9834</change>
9835
9836<change type="bugfix">
9837<para lang="ru">
9838в рабочем процессе мог произойти segmentation fault,
9839если использовалось SNI;
9840ошибка появилась в 1.1.2.
9841</para>
9842<para lang="en">
9843a segmentation fault might occur in a worker process
9844if SNI was used;
9845the bug had appeared in 1.1.2.
9846</para>
9847</change>
9848
9849<change type="bugfix">
9850<para lang="ru">
9851в директиве keepalive_disable;
9852ошибка появилась в 1.1.8.<br/>
9853Спасибо Александру Усову.
9854</para>
9855<para lang="en">
9856in the "keepalive_disable" directive;
9857the bug had appeared in 1.1.8.<br/>
9858Thanks to Alexander Usov.
9859</para>
9860</change>
9861
9862<change type="bugfix">
9863<para lang="ru">
9864сигнал SIGWINCH переставал работать после первого обновления исполняемого
9865файла;
9866ошибка появилась в 1.1.1.
9867</para>
9868<para lang="en">
9869SIGWINCH signal did not work after first binary upgrade;
9870the bug had appeared in 1.1.1.
9871</para>
9872</change>
9873
9874<change type="bugfix">
9875<para lang="ru">
9876теперь ответы бэкендов, длина которых не соответствует заголовку
9877Content-Length, не кэширутся.
9878</para>
9879<para lang="en">
9880backend responses with length not matching "Content-Length" header line
9881are no longer cached.
9882</para>
9883</change>
9884
9885<change type="bugfix">
9886<para lang="ru">
9887в директиве scgi_param при использовании составных параметров.
9888</para>
9889<para lang="en">
9890in the "scgi_param" directive, if complex parameters were used.
9891</para>
9892</change>
9893
9894<change type="bugfix">
9895<para lang="ru">
9896в методе epoll.<br/>
9897Спасибо Yichun Zhang.
9898</para>
9899<para lang="en">
9900in the "epoll" event method.<br/>
9901Thanks to Yichun Zhang.
9902</para>
9903</change>
9904
9905<change type="bugfix">
9906<para lang="ru">
9907в модуле ngx_http_flv_module.<br/>
9908Спасибо Piotr Sikora.
9909</para>
9910<para lang="en">
9911in the ngx_http_flv_module.<br/>
9912Thanks to Piotr Sikora.
9913</para>
9914</change>
9915
9916<change type="bugfix">
9917<para lang="ru">
9918в модуле ngx_http_mp4_module.
9919</para>
9920<para lang="en">
9921in the ngx_http_mp4_module.
9922</para>
9923</change>
9924
9925<change type="bugfix">
9926<para lang="ru">
9927теперь nginx понимает IPv6-адреса в строке запроса и в заголовке Host.
9928</para>
9929<para lang="en">
9930IPv6 addresses are now handled properly in a request line and in a "Host"
9931request header line.
9932</para>
9933</change>
9934
9935<change type="bugfix">
9936<para lang="ru">
9937директивы add_header и expires не работали для ответов с кодом 206,
9938если запрос проксировался.
9939</para>
9940<para lang="en">
9941"add_header" and "expires" directives did not work if a request was proxied
9942and response status code was 206.
9943</para>
9944</change>
9945
9946<change type="bugfix">
9947<para lang="ru">
9948nginx не собирался на FreeBSD 10.
9949</para>
9950<para lang="en">
9951nginx could not be built on FreeBSD 10.
9952</para>
9953</change>
9954
9955<change type="bugfix">
9956<para lang="ru">
9957nginx не собирался на AIX.
9958</para>
9959<para lang="en">
9960nginx could not be built on AIX.
9961</para>
9962</change>
9963
9964</changes>
9965
9966
9967<changes ver="1.1.8" date="2011-11-14">
9968
9969<change type="change">
9970<para lang="ru">
9971модуль ngx_http_limit_zone_module переименован в ngx_http_limit_conn_module.
9972</para>
9973<para lang="en">
9974the ngx_http_limit_zone_module was renamed to the ngx_http_limit_conn_module.
9975</para>
9976</change>
9977
9978<change type="change">
9979<para lang="ru">
9980директива limit_zone заменена директивой limit_conn_zone с новым синтаксисом.
9981</para>
9982<para lang="en">
9983the "limit_zone" directive was superseded by the "limit_conn_zone" directive
9984with a new syntax.
9985</para>
9986</change>
9987
9988<change type="feature">
9989<para lang="ru">
9990поддержка ограничения по нескольким limit_conn на одном уровне.
9991</para>
9992<para lang="en">
9993support for multiple "limit_conn" limits on the same level.
9994</para>
9995</change>
9996
9997<change type="feature">
9998<para lang="ru">
9999директива image_filter_sharpen.
10000</para>
10001<para lang="en">
10002the "image_filter_sharpen" directive.
10003</para>
10004</change>
10005
10006<change type="bugfix">
10007<para lang="ru">
10008в рабочем процессе мог произойти segmentation fault,
10009если resolver получил большой DNS-ответ.<br/>
10010Спасибо Ben Hawkes.
10011</para>
10012<para lang="en">
10013a segmentation fault might occur in a worker process
10014if resolver got a big DNS response.<br/>
10015Thanks to Ben Hawkes.
10016</para>
10017</change>
10018
10019<change type="bugfix">
10020<para lang="ru">
10021в вычислении ключа для кэширования,
10022если использовалась внутренняя реализация MD5;
10023ошибка появилась в 1.0.4.
10024</para>
10025<para lang="en">
10026in cache key calculation
10027if internal MD5 implementation was used;
10028the bug had appeared in 1.0.4.
10029</para>
10030</change>
10031
10032<change type="bugfix">
10033<para lang="ru">
10034строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса
10035клиента могли передаваться бэкенду при кэшировании; или не передаваться при
10036выключенном кэшировании, если кэширование было включено в другой части
10037конфигурации.
10038</para>
10039<para lang="en">
10040the "If-Modified-Since", "If-Range", etc. client request header lines
10041might be passed to backend while caching; or not passed without caching
10042if caching was enabled in another part of the configuration.
10043</para>
10044</change>
10045
10046<change type="bugfix">
10047<para lang="ru">
10048модуль ngx_http_mp4_module выдавал неверную строку "Content-Length"
10049в заголовке ответа, использовался аргумент start.<br/>
10050Спасибо Piotr Sikora.
10051</para>
10052<para lang="en">
10053the module ngx_http_mp4_module sent incorrect "Content-Length" response
10054header line if the "start" argument was used.<br/>
10055Thanks to Piotr Sikora.
10056</para>
10057</change>
10058
10059</changes>
10060
10061
10062<changes ver="1.1.7" date="2011-10-31">
10063
10064<change type="feature">
10065<para lang="ru">
10066поддержка нескольких DNS серверов в директиве "resolver".<br/>
10067Спасибо Кириллу Коринскому.
10068</para>
10069<para lang="en">
10070support of several DNS servers in the "resolver" directive.<br/>
10071Thanks to Kirill A. Korinskiy.
10072</para>
10073</change>
10074
10075<change type="bugfix">
10076<para lang="ru">
10077на старте или во время переконфигурации происходил segmentation fault,
10078если директива ssl использовалась на уровне http и не был указан
10079ssl_certificate.
10080</para>
10081<para lang="en">
10082a segmentation fault occurred on start or during reconfiguration
10083if the "ssl" directive was used at http level and there was
10084no "ssl_certificate" defined.
10085</para>
10086</change>
10087
10088<change type="bugfix">
10089<para lang="ru">
10090уменьшено потребление памяти при проксировании больших файлов,
10091если они буферизировались на диск.
10092</para>
10093<para lang="en">
10094reduced memory consumption while proxying big files
10095if they were buffered to disk.
10096</para>
10097</change>
10098
10099<change type="bugfix">
10100<para lang="ru">
10101в рабочем процессе мог произойти segmentation fault,
10102если использовалась директива "proxy_http_version 1.1".
10103</para>
10104<para lang="en">
10105a segmentation fault might occur in a worker process
10106if "proxy_http_version 1.1" directive was used.
10107</para>
10108</change>
10109
10110<change type="bugfix">
10111<para lang="ru">
10112в директиве "expires @time".
10113</para>
10114<para lang="en">
10115in the "expires @time" directive.
10116</para>
10117</change>
10118
10119</changes>
10120
10121
10122<changes ver="1.1.6" date="2011-10-17">
10123
10124<change>
10125<para lang="ru">
10126Изменение во внутреннем API: теперь при внутреннем редиректе
10127в именованный location контексты модулей очищаются.<br/>
10128По запросу Yichun Zhang.
10129</para>
10130<para lang="en">
10131Change in internal API: now module context data are cleared
10132while internal redirect to named location.<br/>
10133Requested by Yichun Zhang.
10134</para>
10135</change>
10136
10137<change type="change">
10138<para lang="ru">
10139теперь если сервер, описанный в блоке upstream, был признан неработающим,
10140то после истечения fail_timeout на него будет отправлен только один запрос;
10141сервер будет считаться работающим, если успешно ответит на этот запрос.
10142</para>
10143<para lang="en">
10144if a server in an upstream failed, only one request will be sent to it
10145after fail_timeout; the server will be considered alive if it will
10146successfully respond to the request.
10147</para>
10148</change>
10149
10150<change type="change">
10151<para lang="ru">
10152теперь символы 0x7F-0xFF в access_log записываются в виде \xXX.
10153</para>
10154<para lang="en">
10155now the 0x7F-0xFF characters are escaped as \xXX in an access_log.
10156</para>
10157</change>
10158
10159<change type="feature">
10160<para lang="ru">
10161директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers" теперь поддерживают
10162значения X-Accel-Limit-Rate, X-Accel-Buffering и X-Accel-Charset.
10163</para>
10164<para lang="en">
10165"proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support the following
10166additional values: X-Accel-Limit-Rate, X-Accel-Buffering, X-Accel-Charset.
10167</para>
10168</change>
10169
10170<change type="feature">
10171<para lang="ru">
10172уменьшение потребления памяти при использовании SSL.
10173</para>
10174<para lang="en">
10175decrease of memory consumption if SSL is used.
10176</para>
10177</change>
10178
10179<change type="bugfix">
10180<para lang="ru">
10181некоторые UTF-8 символы обрабатывались неправильно.<br/>
10182Спасибо Алексею Куцу.
10183</para>
10184<para lang="en">
10185some UTF-8 characters were processed incorrectly.<br/>
10186Thanks to Alexey Kuts.
10187</para>
10188</change>
10189
10190<change type="bugfix">
10191<para lang="ru">
10192директивы модуля ngx_http_rewrite_module, заданные на уровне server,
10193применялись повторно, если для запроса не находилось ни одного location'а.
10194</para>
10195<para lang="en">
10196the ngx_http_rewrite_module directives specified at "server" level were
10197executed twice if no matching locations were defined.
10198</para>
10199</change>
10200
10201<change type="bugfix">
10202<para lang="ru">
10203при использовании "aio sendfile" могла происходить утечка сокетов.
10204</para>
10205<para lang="en">
10206a socket leak might occurred if "aio sendfile" was used.
10207</para>
10208</change>
10209
10210<change type="bugfix">
10211<para lang="ru">
10212при использовании файлового AIO соединения с быстрыми клиентами
10213могли быть закрыты по истечению send_timeout.
10214</para>
10215<para lang="en">
10216connections with fast clients might be closed after send_timeout
10217if file AIO was used.
10218</para>
10219</change>
10220
10221<change type="bugfix">
10222<para lang="ru">
10223в модуле ngx_http_autoindex_module.
10224</para>
10225<para lang="en">
10226in the ngx_http_autoindex_module.
10227</para>
10228</change>
10229
10230<change type="bugfix">
10231<para lang="ru">
10232модуль ngx_http_mp4_module не поддерживал перемотку на 32-битных платформах.
10233</para>
10234<para lang="en">
10235the module ngx_http_mp4_module did not support seeking on 32-bit platforms.
10236</para>
10237</change>
10238
10239</changes>
10240
10241
10242<changes ver="1.1.5" date="2011-10-05">
10243
10244<change type="feature">
10245<para lang="ru">
10246директивы uwsgi_buffering и scgi_buffering.<br/>
10247Спасибо Peter Smit.
10248</para>
10249<para lang="en">
10250the "uwsgi_buffering" and "scgi_buffering" directives.<br/>
10251Thanks to Peter Smit.
10252</para>
10253</change>
10254
10255<change type="bugfix">
10256<para lang="ru">
10257при использовании proxy_cache_bypass могли быть закэшированы
10258некэшируемые ответы.<br/>
10259Спасибо John Ferlito.
10260</para>
10261<para lang="en">
10262non-cacheable responses might be cached if "proxy_cache_bypass" directive
10263was used.<br/>
10264Thanks to John Ferlito.
10265</para>
10266</change>
10267
10268<change type="bugfix">
10269<para lang="ru">
10270в модуле ngx_http_proxy_module при работе с бэкендами по HTTP/1.1.
10271</para>
10272<para lang="en">
10273in HTTP/1.1 support in the ngx_http_proxy_module.
10274</para>
10275</change>
10276
10277<change type="bugfix">
10278<para lang="ru">
10279закэшированные ответы с пустым телом возвращались некорректно;
10280ошибка появилась в 0.8.31.
10281</para>
10282<para lang="en">
10283cached responses with an empty body were returned incorrectly;
10284the bug had appeared in 0.8.31.
10285</para>
10286</change>
10287
10288<change type="bugfix">
10289<para lang="ru">
10290ответы с кодом 201 модуля ngx_http_dav_module были некорректны;
10291ошибка появилась в 0.8.32.
10292</para>
10293<para lang="en">
10294201 responses of the ngx_http_dav_module were incorrect;
10295the bug had appeared in 0.8.32.
10296</para>
10297</change>
10298
10299<change type="bugfix">
10300<para lang="ru">
10301в директиве return.
10302</para>
10303<para lang="en">
10304in the "return" directive.
10305</para>
10306</change>
10307
10308<change type="bugfix">
10309<para lang="ru">
10310при использовании директивы "ssl_session_cache builtin" происходил
10311segmentation fault;
10312ошибка появилась в 1.1.1.
10313</para>
10314<para lang="en">
10315the "ssl_session_cache builtin" directive caused segmentation fault;
10316the bug had appeared in 1.1.1.
10317</para>
10318</change>
10319
10320</changes>
10321
10322
10323<changes ver="1.1.4" date="2011-09-20">
10324
10325<change type="feature">
10326<para lang="ru">
10327модуль ngx_http_upstream_keepalive.
10328</para>
10329<para lang="en">
10330the ngx_http_upstream_keepalive module.
10331</para>
10332</change>
10333
10334<change type="feature">
10335<para lang="ru">
10336директива proxy_http_version.
10337</para>
10338<para lang="en">
10339the "proxy_http_version" directive.
10340</para>
10341</change>
10342
10343<change type="feature">
10344<para lang="ru">
10345директива fastcgi_keep_conn.
10346</para>
10347<para lang="en">
10348the "fastcgi_keep_conn" directive.
10349</para>
10350</change>
10351
10352<change type="feature">
10353<para lang="ru">
10354директива worker_aio_requests.
10355</para>
10356<para lang="en">
10357the "worker_aio_requests" directive.
10358</para>
10359</change>
10360
10361<change type="bugfix">
10362<para lang="ru">
10363если nginx был собран с файловым AIO,
10364он не мог запускаться на Linux без поддержки AIO.
10365</para>
10366<para lang="en">
10367if nginx was built --with-file-aio it could not be run on Linux
10368kernel which did not support AIO.
10369</para>
10370</change>
10371
10372<change type="bugfix">
10373<para lang="ru">
10374в обработке ошибок при работе с Linux AIO.
10375<br/>
10376Спасибо Hagai Avrahami.
10377</para>
10378<para lang="en">
10379in Linux AIO error processing.
10380<br/>
10381Thanks to Hagai Avrahami.
10382</para>
10383</change>
10384
10385<change type="bugfix">
10386<para lang="ru">
10387уменьшено потребление памяти для долгоживущих запросов.
10388</para>
10389<para lang="en">
10390reduced memory consumption for long-lived requests.
10391</para>
10392</change>
10393
10394<change type="bugfix">
10395<para lang="ru">
10396модуль ngx_http_mp4_module не поддерживал 64-битный MP4-атом co64.
10397</para>
10398<para lang="en">
10399the module ngx_http_mp4_module did not support 64-bit MP4 "co64" atom.
10400</para>
10401</change>
10402
10403</changes>
10404
10405
10406<changes ver="1.1.3" date="2011-09-14">
10407
10408<change type="feature">
10409<para lang="ru">
10410модуль ngx_http_mp4_module.
10411</para>
10412<para lang="en">
10413the module ngx_http_mp4_module.
10414</para>
10415</change>
10416
10417<change type="bugfix">
10418<para lang="ru">
10419в Linux AIO, используемым совместно с open_file_cache.
10420</para>
10421<para lang="en">
10422in Linux AIO combined with open_file_cache.
10423</para>
10424</change>
10425
10426<change type="bugfix">
10427<para lang="ru">
10428open_file_cache не обновлял информацию о файле,
10429если файл был изменён не атомарно.
10430</para>
10431<para lang="en">
10432open_file_cache did not update file info on retest
10433if file was not atomically changed.
10434</para>
10435</change>
10436
10437<change type="bugfix">
10438<para lang="ru">
10439nginx не собирался на MacOSX 10.7.
10440</para>
10441<para lang="en">
10442nginx could not be built on MacOSX 10.7.
10443</para>
10444</change>
10445
10446</changes>
10447
10448
10449<changes ver="1.1.2" date="2011-09-05">
10450
10451<change type="change">
10452<para lang="ru">
10453теперь, если суммарный размер всех диапазонов больше размера исходного ответа,
10454то nginx возвращает только исходный ответ, не обрабатывая диапазоны.
10455</para>
10456<para lang="en">
10457now if total size of all ranges is greater than source response size,
10458then nginx disables ranges and returns just the source response.
10459</para>
10460</change>
10461
10462<change type="feature">
10463<para lang="ru">
10464директива max_ranges.
10465</para>
10466<para lang="en">
10467the "max_ranges" directive.
10468</para>
10469</change>
10470
10471<change type="bugfix">
10472<para lang="ru">
10473директивы ssl_verify_client, ssl_verify_depth и ssl_prefer_server_cipher
10474могли работать некорректно, если использовался SNI.
10475</para>
10476<para lang="en">
10477the "ssl_verify_client", "ssl_verify_depth", and "ssl_prefer_server_ciphers"
10478directives might work incorrectly if SNI was used.
10479</para>
10480</change>
10481
10482<change type="bugfix">
10483<para lang="ru">
10484в директивах proxy/fastcgi/scgi/ uwsgi_ignore_client_abort.
10485</para>
10486<para lang="en">
10487in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort" directives.
10488</para>
10489</change>
10490
10491</changes>
10492
10493
10494<changes ver="1.1.1" date="2011-08-22">
10495
10496<change type="change">
10497<para lang="ru">
10498теперь загрузчик кэша за каждую итерацию либо обрабатывает число файлов,
10499указанное в параметре load_files, либо работает не дольше времени,
10500указанного в параметре loader_threshold.
10501</para>
10502<para lang="en">
10503now cache loader processes either as many files as specified by "loader_files"
10504parameter or works no longer than time specified by the "loader_threshold"
10505parameter during each iteration.
10506</para>
10507</change>
10508
10509<change type="change">
10510<para lang="ru">
10511SIGWINCH сигнал теперь работает только в режиме демона.
10512</para>
10513<para lang="en">
10514now SIGWINCH signal works only in daemon mode.
10515</para>
10516</change>
10517
10518<change type="feature">
10519<para lang="ru">
10520теперь разделяемые зоны и кэши используют семафоры POSIX на Solaris.<br/>
10521Спасибо Денису Иванову.
10522</para>
10523<para lang="en">
10524now shared zones and caches use POSIX semaphores on Solaris.<br/>
10525Thanks to Den Ivanov.
10526</para>
10527</change>
10528
10529<change type="feature">
10530<para lang="ru">
10531теперь на NetBSD поддерживаются accept фильтры.
10532</para>
10533<para lang="en">
10534accept filters are now supported on NetBSD.
10535</para>
10536</change>
10537
10538<change type="bugfix">
10539<para lang="ru">
10540nginx не собирался на Linux 3.0.
10541</para>
10542<para lang="en">
10543nginx could not be built on Linux 3.0.
10544</para>
10545</change>
10546
10547<change type="bugfix">
10548<para lang="ru">
10549в некоторых случаях nginx не использовал сжатие;
10550ошибка появилась в 1.1.0.
10551</para>
10552<para lang="en">
10553nginx did not use gzipping in some cases;
10554the bug had appeared in 1.1.0.
10555</para>
10556</change>
10557
10558<change type="bugfix">
10559<para lang="ru">
10560обработка тела запроса могла быть неверной, если клиент использовал pipelining.
10561</para>
10562<para lang="en">
10563request body might be processed incorrectly if client used pipelining.
10564</para>
10565</change>
10566
10567<change type="bugfix">
10568<para lang="ru">
10569в директиве request_body_in_single_buf.
10570</para>
10571<para lang="en">
10572in the "request_body_in_single_buf" directive.
10573</para>
10574</change>
10575
10576<change type="bugfix">
10577<para lang="ru">
10578в директивах proxy_set_body и proxy_pass_request_body
10579при использовании SSL-соединения с бэкендом.
10580</para>
10581<para lang="en">
10582in "proxy_set_body" and "proxy_pass_request_body" directives
10583if SSL connection to backend was used.
10584</para>
10585</change>
10586
10587<change type="bugfix">
10588<para lang="ru">
10589nginx нагружал процессор, если все серверы в upstream'е были помечены
10590флагом down.
10591</para>
10592<para lang="en">
10593nginx hogged CPU if all servers in an upstream were marked as "down".
10594</para>
10595</change>
10596
10597<change type="bugfix">
10598<para lang="ru">
10599при переконфигурации мог произойти segmentation fault,
10600если в предыдущей конфигурации был определён, но не использовался
10601ssl_session_cache.
10602</para>
10603<para lang="en">
10604a segmentation fault might occur during reconfiguration
10605if ssl_session_cache was defined but not used in previous configuration.
10606</para>
10607</change>
10608
10609<change type="bugfix">
10610<para lang="ru">
10611при использовании большого количества backup-серверов
10612в рабочем процессе мог произойти segmentation fault.
10613</para>
10614<para lang="en">
10615a segmentation fault might occur in a worker process
10616if many backup servers were used in an upstream.
10617</para>
10618</change>
10619
10620<change type="bugfix">
10621<para lang="ru">
10622при использовании директив fastcgi/scgi/uwsgi_param
10623со значениями, начинающимися со строки "HTTP_",
10624в рабочем процессе мог произойти segmentation fault;
10625ошибка появилась в 0.8.40.
10626</para>
10627<para lang="en">
10628a segmentation fault might occur in a worker process
10629if "fastcgi/scgi/uwsgi_param" directives were used
10630with values starting with "HTTP_";
10631the bug had appeared in 0.8.40.
10632</para>
10633</change>
10634
10635</changes>
10636
10637
10638<changes ver="1.1.0" date="2011-08-01">
10639
10640<change type="feature">
10641<para lang="ru">
10642уменьшение времени работы загрузчика кэша.
10643</para>
10644<para lang="en">
10645cache loader run time decrease.
10646</para>
10647</change>
10648
10649<change type="feature">
10650<para lang="ru">
10651параметры loader_files, loader_sleep и loader_threshold
10652директив proxy/fastcgi/scgi/uwsgi_cache_path.
10653</para>
10654<para lang="en">
10655"loader_files", "loader_sleep", and "loader_threshold" options
10656of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives.
10657</para>
10658</change>
10659
10660<change type="feature">
10661<para lang="ru">
10662уменьшение времени загрузки конфигураций с большим количеством HTTPS серверов.
10663</para>
10664<para lang="en">
10665loading time decrease of configuration with large number of HTTPS sites.
10666</para>
10667</change>
10668
10669<change type="feature">
10670<para lang="ru">
10671теперь nginx поддерживает шифры с обменом ECDHE-ключами.<br/>
10672Спасибо Adrian Kotelba.
10673</para>
10674<para lang="en">
10675now nginx supports ECDHE key exchange ciphers.<br/>
10676Thanks to Adrian Kotelba.
10677</para>
10678</change>
10679
10680<change type="feature">
10681<para lang="ru">
10682директива lingering_close.<br/>
10683Спасибо Максиму Дунину.
10684</para>
10685<para lang="en">
10686the "lingering_close" directive.<br/>
10687Thanks to Maxim Dounin.
10688</para>
10689</change>
10690
10691<change type="bugfix">
10692<para lang="ru">
10693закрытия соединения для pipelined-запросов.<br/>
10694Спасибо Максиму Дунину.
10695</para>
10696<para lang="en">
10697in closing connection for pipelined requests.<br/>
10698Thanks to Maxim Dounin.
10699</para>
10700</change>
10701
10702<change type="bugfix">
10703<para lang="ru">
10704nginx не запрещал сжатие при получении значения "gzip;q=0"
10705в строке "Accept-Encoding" в заголовке запроса клиента.
10706</para>
10707<para lang="en">
10708nginx did not disable gzipping if client sent "gzip;q=0" in
10709"Accept-Encoding" request header line.
10710</para>
10711</change>
10712
10713<change type="bugfix">
10714<para lang="ru">
10715таймаута при небуферизированном проксировании.<br/>
10716Спасибо Максиму Дунину.
10717</para>
10718<para lang="en">
10719in timeout in unbuffered proxied mode.<br/>
10720Thanks to Maxim Dounin.
10721</para>
10722</change>
10723
10724<change type="bugfix">
10725<para lang="ru">
10726утечки памяти при использовании переменных в директиве proxy_pass
10727при работе с бэкендом по HTTPS.<br/>
10728Спасибо Максиму Дунину.
10729</para>
10730<para lang="en">
10731memory leaks when a "proxy_pass" directive contains variables and proxies
10732to an HTTPS backend.<br/>
10733Thanks to Maxim Dounin.
10734</para>
10735</change>
10736
10737<change type="bugfix">
10738<para lang="ru">
10739в проверке параметра директивы proxy_pass, заданного переменными.<br/>
10740Спасибо Lanshun Zhou.
10741</para>
10742<para lang="en">
10743in parameter validation of a "proxy_pass" directive with variables.<br/>
10744Thanks to Lanshun Zhou.
10745</para>
10746</change>
10747
10748<change type="bugfix">
10749<para lang="ru">
10750SSL не работал на QNX.<br/>
10751Спасибо Максиму Дунину.
10752</para>
10753<para lang="en">
10754SSL did not work on QNX.<br/>
10755Thanks to Maxim Dounin.
10756</para>
10757</change>
10758
10759<change type="bugfix">
10760<para lang="ru">
10761SSL модули не собирались gcc 4.6 без параметра --with-debug.
10762</para>
10763<para lang="en">
10764SSL modules could not be built by gcc 4.6 without --with-debug option.
10765</para>
10766</change>
10767
10768</changes>
10769
10770
10771<changes ver="1.0.5" date="2011-07-19">
10772
10773<change type="change">
10774<para lang="ru">
10775теперь по умолчанию используются следующие шифры SSL: "HIGH:!aNULL:!MD5".<br/>
10776Спасибо Rob Stradling.
10777</para>
10778<para lang="en">
10779now default SSL ciphers are "HIGH:!aNULL:!MD5".<br/>
10780Thanks to Rob Stradling.
10781</para>
10782</change>
10783
10784<change type="feature">
10785<para lang="ru">
10786директивы referer_hash_max_size и referer_hash_bucket_size.<br/>
10787Спасибо Witold Filipczyk.
10788</para>
10789<para lang="en">
10790the "referer_hash_max_size" and "referer_hash_bucket_size"
10791directives.<br/>
10792Thanks to Witold Filipczyk.
10793</para>
10794</change>
10795
10796<change type="feature">
10797<para lang="ru">
10798переменная $uid_reset.
10799</para>
10800<para lang="en">
10801$uid_reset variable.
10802</para>
10803</change>
10804
10805<change type="bugfix">
10806<para lang="ru">
10807при использовании кэширования
10808в рабочем процессе мог произойти segmentation fault.<br/>
10809Спасибо Lanshun Zhou.
10810</para>
10811<para lang="en">
10812a segmentation fault might occur in a worker process,
10813if a caching was used.<br/>
10814Thanks to Lanshun Zhou.
10815</para>
10816</change>
10817
10818<change type="bugfix">
10819<para lang="ru">
10820при использовании кэширования рабочие процессы
10821могли зациклиться во время переконфигурации;
10822ошибка появилась в 0.8.48.<br/>
10823Спасибо Максиму Дунину.
10824</para>
10825<para lang="en">
10826worker processes may got caught in an endless loop during reconfiguration,
10827if a caching was used;
10828the bug had appeared in 0.8.48.<br/>
10829Thanks to Maxim Dounin.
10830</para>
10831</change>
10832
10833<change type="bugfix">
10834<para lang="ru">
10835сообщения "stalled cache updating".<br/>
10836Спасибо Максиму Дунину.
10837</para>
10838<para lang="en">
10839"stalled cache updating" alert.<br/>
10840Thanks to Maxim Dounin.
10841</para>
10842</change>
10843
10844</changes>
10845
10846
10847<changes ver="1.0.4" date="2011-06-01">
10848
10849<change type="change">
10850<para lang="ru">
10851теперь в регулярных выражениях в директиве map можно задать
10852чувствительность к регистру с помощью префиксов "~" и "~*".
10853</para>
10854<para lang="en">
10855now regular expressions case sensitivity in the "map" directive
10856is given by prefixes "~" or "~*".
10857</para>
10858</change>
10859
10860<change type="feature">
10861<para lang="ru">
10862теперь разделяемые зоны и кэши используют семафоры POSIX на Linux.<br/>
10863Спасибо Денису Латыпову.
10864</para>
10865<para lang="en">
10866now shared zones and caches use POSIX semaphores on Linux.<br/>
10867Thanks to Denis F. Latypoff.
10868</para>
10869</change>
10870
10871<change type="bugfix">
10872<para lang="ru">
10873сообщения "stalled cache updating".
10874</para>
10875<para lang="en">
10876"stalled cache updating" alert.
10877</para>
10878</change>
10879
10880<change type="bugfix">
10881<para lang="ru">
10882nginx не собирался с параметром --without-http_auth_basic_module;
10883ошибка появилась в 1.0.3.
10884</para>
10885<para lang="en">
10886nginx could not be built --without-http_auth_basic_module;
10887the bug had appeared in 1.0.3.
10888</para>
10889</change>
10890
10891</changes>
10892
10893
10894<changes ver="1.0.3" date="2011-05-25">
10895
10896<change type="feature">
10897<para lang="ru">
10898директива auth_basic_user_file поддерживает шифрование пароля
10899методами "$apr1", "{PLAIN}" и "{SSHA}".<br/>
10900Спасибо Максиму Дунину.
10901</para>
10902<para lang="en">
10903the "auth_basic_user_file" directive supports "$apr1", "{PLAIN}",
10904and "{SSHA}" password encryption methods.<br/>
10905Thanks to Maxim Dounin.
10906</para>
10907</change>
10908
10909<change type="feature">
10910<para lang="ru">
10911директива geoip_org и переменная $geoip_org.<br/>
10912Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
10913</para>
10914<para lang="en">
10915the "geoip_org" directive and $geoip_org variable.<br/>
10916Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff.
10917</para>
10918</change>
10919
10920<change type="feature">
10921<para lang="ru">
10922модули ngx_http_geo_module и ngx_http_geoip_module поддерживают
10923адреса IPv4, отображённые на IPv6 адреса.
10924</para>
10925<para lang="en">
10926ngx_http_geo_module and ngx_http_geoip_module support IPv4 addresses
10927mapped to IPv6 addresses.
10928</para>
10929</change>
10930
10931<change type="bugfix">
10932<para lang="ru">
10933при проверке адреса IPv4, отображённого на адрес IPv6,
10934в рабочем процессе происходил segmentation fault,
10935если директивы access или deny были определены только для адресов IPv6;
10936ошибка появилась в 0.8.22.
10937</para>
10938<para lang="en">
10939a segmentation fault occurred in a worker process
10940during testing IPv4 address mapped to IPv6 address,
10941if access or deny rules were defined only for IPv6;
10942the bug had appeared in 0.8.22.
10943</para>
10944</change>
10945
10946<change type="bugfix">
10947<para lang="ru">
10948закэшированный ответ мог быть испорчен, если значения директив
10949proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/ uwsgi_no_cache
10950были разными;
10951ошибка появилась в 0.8.46.
10952</para>
10953<para lang="en">
10954a cached response may be broken if "proxy/fastcgi/scgi/ uwsgi_cache_bypass"
10955and "proxy/fastcgi/scgi/uwsgi_no_cache" directive values were different;
10956the bug had appeared in 0.8.46.
10957</para>
10958</change>
10959
10960</changes>
10961
10962
10963<changes ver="1.0.2" date="2011-05-10">
10964
10965<change type="feature">
10966<para lang="ru">
10967теперь разделяемые зоны и кэши используют семафоры POSIX.
10968</para>
10969<para lang="en">
10970now shared zones and caches use POSIX semaphores.
10971</para>
10972</change>
10973
10974<change type="bugfix">
10975<para lang="ru">
10976в работе параметра rotate директивы image_filter.<br/>
10977Спасибо Adam Bocim.
10978</para>
10979<para lang="en">
10980in the "rotate" parameter of the "image_filter" directive.<br/>
10981Thanks to Adam Bocim.
10982</para>
10983</change>
10984
10985<change type="bugfix">
10986<para lang="ru">
10987nginx не собирался на Solaris;
10988ошибка появилась в 1.0.1.
10989</para>
10990<para lang="en">
10991nginx could not be built on Solaris;
10992the bug had appeared in 1.0.1.
10993</para>
10994</change>
10995
10996</changes>
10997
10998
10999<changes ver="1.0.1" date="2011-05-03">
11000
11001<change type="change">
11002<para lang="ru">
11003теперь директива split_clients использует алгоритм MurmurHash2 из-за
11004лучшего распределения.<br/>
11005Спасибо Олегу Мамонтову.
11006</para>
11007<para lang="en">
11008now the "split_clients" directive uses MurmurHash2 algorithm because
11009of better distribution.<br/>
11010Thanks to Oleg Mamontov.
11011</para>
11012</change>
11013
11014<change type="change">
11015<para lang="ru">
11016теперь длинные строки, начинающиеся с нуля, не считаются ложными
11017значениями.<br/>
11018Спасибо Максиму Дунину.
11019</para>
11020<para lang="en">
11021now long strings starting with zero are not considered as false values.<br/>
11022Thanks to Maxim Dounin.
11023</para>
11024</change>
11025
11026<change type="change">
11027<para lang="ru">
11028теперь по умолчанию nginx использует значение 511 для listen backlog на Linux.
11029</para>
11030<para lang="en">
11031now nginx uses a default listen backlog value 511 on Linux.
11032</para>
11033</change>
11034
11035<change type="feature">
11036<para lang="ru">
11037переменные $upstream_... можно использовать в SSI и перловом модулях.
11038</para>
11039<para lang="en">
11040the $upstream_... variables may be used in the SSI and perl modules.
11041</para>
11042</change>
11043
11044<change type="bugfix">
11045<para lang="ru">
11046теперь nginx лучше ограничивает размер кэша на диске.<br/>
11047Спасибо Олегу Мамонтову.
11048</para>
11049<para lang="en">
11050now nginx limits better disk cache size.<br/>
11051Thanks to Oleg Mamontov.
11052</para>
11053</change>
11054
11055<change type="bugfix">
11056<para lang="ru">
11057при парсинге неправильного IPv4 адреса мог произойти segmentation fault;
11058ошибка появилась в 0.8.22.<br/>
11059Спасибо Максиму Дунину.
11060</para>
11061<para lang="en">
11062a segmentation fault might occur while parsing incorrect IPv4 address;
11063the bug had appeared in 0.9.3.<br/>
11064Thanks to Maxim Dounin.
11065</para>
11066</change>
11067
11068<change type="bugfix">
11069<para lang="ru">
11070nginx не собирался gcc 4.6 без параметра --with-debug.
11071</para>
11072<para lang="en">
11073nginx could not be built by gcc 4.6 without --with-debug option.
11074</para>
11075</change>
11076
11077<change type="bugfix">
11078<para lang="ru">
11079nginx не собирался на Solaris 9 и более ранних;
11080ошибка появилась в 0.9.3.<br/>
11081Спасибо Dagobert Michelsen.
11082</para>
11083<para lang="en">
11084nginx could not be built on Solaris 9 and earlier;
11085the bug had appeared in 0.9.3.<br/>
11086Thanks to Dagobert Michelsen.
11087</para>
11088</change>
11089
11090<change type="bugfix">
11091<para lang="ru">
11092переменная $request_time имела неверные значения, если использовались
11093подзапросы;
11094ошибка появилась в 0.8.47.<br/>
11095Спасибо Игорю А. Валькову.
11096</para>
11097<para lang="en">
11098$request_time variable had invalid values if subrequests were used;
11099the bug had appeared in 0.8.47.<br/>
11100Thanks to Igor A. Valcov.
11101</para>
11102</change>
11103
11104</changes>
11105
11106
11107<changes ver="1.0.0" date="2011-04-12">
11108
11109<change type="bugfix">
11110<para lang="ru">
11111cache manager мог нагружать процессор после переконфигурации.<br/>
11112Спасибо Максиму Дунину.
11113</para>
11114<para lang="en">
11115a cache manager might hog CPU after reload.<br/>
11116Thanks to Maxim Dounin.
11117</para>
11118</change>
11119
11120<change type="bugfix">
11121<para lang="ru">
11122директива "image_filter crop" неправильно работала в сочетании с
11123"image_filter rotate 180".
11124</para>
11125<para lang="en">
11126an "image_filter crop" directive worked incorrectly coupled with
11127an "image_filter rotate 180" directive.
11128</para>
11129</change>
11130
11131<change type="bugfix">
11132<para lang="ru">
11133директива "satisfy any" запрещала выдачу пользовательской страницы
11134для 401 кода.
11135</para>
11136<para lang="en">
11137a "satisfy any" directive disabled custom 401 error page.
11138</para>
11139</change>
11140
11141</changes>
11142
11143
11144<changes ver="0.9.7" date="2011-04-04">
11145
11146<change type="feature">
11147<para lang="ru">
11148теперь соединения в состоянии keepalive могут быть закрыты преждевременно,
11149если у воркера нет свободных соединений.<br/>
11150Спасибо Максиму Дунину.
11151</para>
11152<para lang="en">
11153now keepalive connections may be closed premature,
11154if there are no free worker connections.<br/>
11155Thanks to Maxim Dounin.
11156</para>
11157</change>
11158
11159<change type="feature">
11160<para lang="ru">
11161параметр rotate директивы image_filter.<br/>
11162Спасибо Adam Bocim.
11163</para>
11164<para lang="en">
11165the "rotate" parameter of the "image_filter" directive.<br/>
11166Thanks to Adam Bocim.
11167</para>
11168</change>
11169
11170<change type="bugfix">
11171<para lang="ru">
11172ситуации, когда бэкенд в директивах fastcgi_pass, scgi_pass или uwsgi_pass
11173задан выражением и ссылается на описанный upstream.
11174</para>
11175<para lang="en">
11176a case when a backend in "fastcgi_pass", "scgi_pass", or "uwsgi_pass"
11177directives is given by expression and refers to a defined upstream.
11178</para>
11179</change>
11180
11181</changes>
11182
11183
11184<changes ver="0.9.6" date="2011-03-21">
11185
11186<change type="feature">
11187<para lang="ru">
11188директива map поддерживает регулярные выражения в качестве значения
11189первого параметра.
11190</para>
11191<para lang="en">
11192the "map" directive supports regular expressions as value of the first
11193parameter.
11194</para>
11195</change>
11196
11197<change type="feature">
11198<para lang="ru">
11199переменная $time_iso8601 для access_log.<br/>
11200Спасибо Michael Lustfield.
11201</para>
11202<para lang="en">
11203$time_iso8601 access_log variable.<br/>
11204Thanks to Michael Lustfield.
11205</para>
11206</change>
11207
11208</changes>
11209
11210
11211<changes ver="0.9.5" date="2011-02-21">
11212
11213<change type="change">
11214<para lang="ru">
11215теперь по умолчанию nginx использует значение -1 для listen backlog
11216на Linux.<br/>
11217Спасибо Андрею Нигматулину.
11218</para>
11219<para lang="en">
11220now nginx uses a default listen backlog value -1 on Linux.<br/>
11221Thanks to Andrei Nigmatulin.
11222</para>
11223</change>
11224
11225<change type="feature">
11226<para lang="ru">
11227параметр utf8 в директивах geoip_country и geoip_city.<br/>
11228Спасибо Денису Латыпову.
11229</para>
11230<para lang="en">
11231the "utf8" parameter of "geoip_country" and "geoip_city" directives.<br/>
11232Thanks to Denis F. Latypoff.
11233</para>
11234</change>
11235
11236<change type="bugfix">
11237<para lang="ru">
11238исправление в умолчательной директиве proxy_redirect, если в директиве
11239proxy_pass не был описан URI.<br/>
11240Спасибо Максиму Дунину.
11241</para>
11242<para lang="en">
11243in a default "proxy_redirect" directive if "proxy_pass" directive has no
11244URI part.<br/>
11245Thanks to Maxim Dounin.
11246</para>
11247</change>
11248
11249<change type="bugfix">
11250<para lang="ru">
11251директива error_page не работала с нестандартными кодами ошибок;
11252ошибка появилась в 0.8.53.<br/>
11253Спасибо Максиму Дунину.
11254</para>
11255<para lang="en">
11256an "error_page" directive did not work with nonstandard error codes;
11257the bug had appeared in 0.8.53.<br/>
11258Thanks to Maxim Dounin.
11259</para>
11260</change>
11261
11262</changes>
11263
11264
11265<changes ver="0.9.4" date="2011-01-21">
11266
11267<change type="feature">
11268<para lang="ru">
11269директива server_name поддерживает переменную $hostname.
11270</para>
11271<para lang="en">
11272the "server_name" directive supports the $hostname variable.
11273</para>
11274</change>
11275
11276<change type="feature">
11277<para lang="ru">
11278494 код для ошибки "Request Header Too Large".
11279</para>
11280<para lang="en">
11281494 code for "Request Header Too Large" error.
11282</para>
11283</change>
11284
11285</changes>
11286
11287
11288<changes ver="0.9.3" date="2010-12-13">
11289
11290<change type="bugfix">
11291<para lang="ru">
11292если для пары IPv6-адрес:порт описан только один сервер, то выделения
11293в регулярных выражениях в директиве server_name не работали.
11294</para>
11295<para lang="en">
11296if there was a single server for given IPv6 address:port pair,
11297then captures in regular expressions in a "server_name" directive did not work.
11298</para>
11299</change>
11300
11301<change type="bugfix">
11302<para lang="ru">
11303nginx не собирался под Solaris;
11304ошибка появилась в 0.9.0.
11305</para>
11306<para lang="en">
11307nginx could not be built on Solaris;
11308the bug had appeared in 0.9.0.
11309</para>
11310</change>
11311
11312</changes>
11313
11314
11315<changes ver="0.9.2" date="2010-12-06">
11316
11317<change type="feature">
11318<para lang="ru">
11319поддержка строки "If-Unmodified-Since" в заголовке запроса клиента.
11320</para>
11321<para lang="en">
11322the "If-Unmodified-Since" client request header line support.
11323</para>
11324</change>
11325
11326<change type="workaround">
11327<para lang="ru">
11328использование accept(), если accept4() не реализован;
11329ошибка появилась в 0.9.0.
11330</para>
11331<para lang="en">
11332fallback to accept() syscall if accept4() was not implemented;
11333the issue had appeared in 0.9.0.
11334</para>
11335</change>
11336
11337<change type="bugfix">
11338<para lang="ru">
11339nginx не собирался под Cygwin;
11340ошибка появилась в 0.9.0.
11341</para>
11342<para lang="en">
11343nginx could not be built on Cygwin;
11344the bug had appeared in 0.9.0.
11345</para>
11346</change>
11347
11348<change type="bugfix">
11349<para lang="ru">
11350уязвимости в OpenSSL CVE-2010-4180.<br/>
11351Спасибо Максиму Дунину.
11352</para>
11353<para lang="en">
11354for OpenSSL vulnerability CVE-2010-4180.<br/>
11355Thanks to Maxim Dounin.
11356</para>
11357</change>
11358
11359</changes>
11360
11361
11362<changes ver="0.9.1" date="2010-11-30">
11363
11364<change type="bugfix">
11365<para lang="ru">
11366директивы вида "return CODE message" не работали;
11367ошибка появилась в 0.9.0.
11368</para>
11369<para lang="en">
11370"return CODE message" directives did not work;
11371the bug had appeared in 0.9.0.
11372</para>
11373</change>
11374
11375</changes>
11376
11377
11378<changes ver="0.9.0" date="2010-11-29">
11379
11380<change type="feature">
11381<para lang="ru">
11382директива keepalive_disable.
11383</para>
11384<para lang="en">
11385the "keepalive_disable" directive.
11386</para>
11387</change>
11388
11389<change type="feature">
11390<para lang="ru">
11391директива map поддерживает переменные в качестве значения определяемой
11392переменной.
11393</para>
11394<para lang="en">
11395the "map" directive supports variables as value of a defined variable.
11396</para>
11397</change>
11398
11399<change type="feature">
11400<para lang="ru">
11401директива map поддерживает пустые строки в качестве значения первого параметра.
11402</para>
11403<para lang="en">
11404the "map" directive supports empty strings as value of the first parameter.
11405</para>
11406</change>
11407
11408<change type="feature">
11409<para lang="ru">
11410директива map поддерживает выражения в первом параметре.
11411</para>
11412<para lang="en">
11413the "map" directive supports expressions as the first parameter.
11414</para>
11415</change>
11416
11417<change type="feature">
11418<para lang="ru">
11419страница руководства nginx(8).<br/>
11420Спасибо Сергею Осокину.
11421</para>
11422<para lang="en">
11423nginx(8) manual page.<br/>
11424Thanks to Sergey Osokin.
11425</para>
11426</change>
11427
11428<change type="feature">
11429<para lang="ru">
11430поддержка accept4() в Linux.<br/>
11431Спасибо Simon Liu.
11432</para>
11433<para lang="en">
11434Linux accept4() support.<br/>
11435Thanks to Simon Liu.
11436</para>
11437</change>
11438
11439<change type="workaround">
11440<para lang="ru">
11441устранение предупреждения линкера о "sys_errlist" и "sys_nerr" под Linux;
11442предупреждение появилось в 0.8.35.
11443</para>
11444<para lang="en">
11445elimination of Linux linker warning about "sys_errlist" and "sys_nerr";
11446the warning had appeared in 0.8.35.
11447</para>
11448</change>
11449
11450<change type="bugfix">
11451<para lang="ru">
11452при использовании директивы auth_basic
11453в рабочем процессе мог произойти segmentation fault.<br/>
11454Спасибо Михаилу Лалетину.
11455</para>
11456<para lang="en">
11457a segmentation fault might occur in a worker process,
11458if the "auth_basic" directive was used.<br/>
11459Thanks to Michail Laletin.
11460</para>
11461</change>
11462
11463<change type="bugfix">
11464<para lang="ru">
11465совместимость с модулем ngx_http_eval_module;
11466ошибка появилась в 0.8.42.
11467</para>
11468<para lang="en">
11469compatibility with ngx_http_eval_module;
11470the bug had appeared in 0.8.42.
11471</para>
11472</change>
11473
11474</changes>
11475
11476
11477<changes ver="0.8.53" date="2010-10-18">
11478
11479<change type="feature">
11480<para lang="ru">
11481теперь директива error_page позволяет менять код статуса у редиректа.
11482</para>
11483<para lang="en">
11484now the "error_page" directive allows to change a status code in a redirect.
11485</para>
11486</change>
11487
11488<change type="feature">
11489<para lang="ru">
11490директива gzip_disable поддерживает специальную маску degradation.
11491</para>
11492<para lang="en">
11493the "gzip_disable" directive supports special "degradation" mask.
11494</para>
11495</change>
11496
11497<change type="bugfix">
11498<para lang="ru">
11499при использовании файлового AIO могла происходить утечка сокетов.<br/>
11500Спасибо Максиму Дунину.
11501</para>
11502<para lang="en">
11503a socket leak might occurred if file AIO was used.<br/>
11504Thanks to Maxim Dounin.
11505</para>
11506</change>
11507
11508<change type="bugfix">
11509<para lang="ru">
11510если в первом сервере не была описана директива listen и нигде явно
11511не описан сервер по умолчанию, то сервером по умолчанию становился
11512следующий сервер с директивой listen;
11513ошибка появилась в 0.8.21.
11514</para>
11515<para lang="en">
11516if the first server had no "listen" directive and there was no explicit
11517default server, then a next server with a "listen" directive became
11518the default server;
11519the bug had appeared in 0.8.21.
11520</para>
11521</change>
11522
11523</changes>
11524
11525
11526<changes ver="0.8.52" date="2010-09-28">
11527
11528<change type="bugfix">
11529<para lang="ru">
11530nginx использовал режим SSL для listen сокета, если для него был
11531установлен любой listen-параметр;
11532ошибка появилась в 0.8.51.
11533</para>
11534<para lang="en">
11535nginx used SSL mode for a listen socket if any listen option was set;
11536the bug had appeared in 0.8.51.
11537</para>
11538</change>
11539
11540</changes>
11541
11542
11543<changes ver="0.8.51" date="2010-09-27">
11544
11545<change type="change">
11546<para lang="ru">
11547директива secure_link_expires упразднена.
11548</para>
11549<para lang="en">
11550the "secure_link_expires" directive has been canceled.
11551</para>
11552</change>
11553
11554<change type="change">
11555<para lang="ru">
11556уровень логгирования ошибок resolver'а понижен с уровня alert на error.
11557</para>
11558<para lang="en">
11559a logging level of resolver errors has been lowered from "alert" to "error".
11560</para>
11561</change>
11562
11563<change type="feature">
11564<para lang="ru">
11565теперь параметр "ssl" listen-сокета можно устанавливать несколько раз.
11566</para>
11567<para lang="en">
11568now a listen socket "ssl" parameter may be set several times.
11569</para>
11570</change>
11571
11572</changes>
11573
11574
11575<changes ver="0.8.50" date="2010-09-02">
11576
11577<change type="feature">
11578<para lang="ru">
11579директивы secure_link, secure_link_md5 и secure_link_expires
11580модуля ngx_http_secure_link_module.
11581</para>
11582<para lang="en">
11583the "secure_link", "secure_link_md5", and "secure_link_expires" directives of
11584the ngx_http_secure_link_module.
11585</para>
11586</change>
11587
11588<change type="feature">
11589<para lang="ru">
11590ключ -q.<br/>
11591Спасибо Геннадию Махомеду.
11592</para>
11593<para lang="en">
11594the -q switch.<br/>
11595Thanks to Gena Makhomed.
11596</para>
11597</change>
11598
11599<change type="bugfix">
11600<para lang="ru">
11601при использовании кэширования рабочие процессы и могли зациклиться
11602во время переконфигурации;
11603ошибка появилась в 0.8.48.
11604</para>
11605<para lang="en">
11606worker processes may got caught in an endless loop during reconfiguration,
11607if a caching was used;
11608the bug had appeared in 0.8.48.
11609</para>
11610</change>
11611
11612<change type="bugfix">
11613<para lang="ru">
11614в директиве gzip_disable.<br/>
11615Спасибо Derrick Petzold.
11616</para>
11617<para lang="en">
11618in the "gzip_disable" directive.<br/>
11619Thanks to Derrick Petzold.
11620</para>
11621</change>
11622
11623<change type="bugfix">
11624<para lang="ru">
11625nginx/Windows не мог посылать сигналы stop, quit, reopen, reload процессу,
11626запущенному в другой сессии.
11627</para>
11628<para lang="en">
11629nginx/Windows could not send stop, quit, reopen, and reload signals
11630to a process run in other session.
11631</para>
11632</change>
11633
11634</changes>
11635
11636
11637<changes ver="0.8.49" date="2010-08-09">
11638
11639<change type="feature">
11640<para lang="ru">
11641директива image_filter_jpeg_quality поддерживает переменные.
11642</para>
11643<para lang="en">
11644the "image_filter_jpeg_quality" directive supports variables.
11645</para>
11646</change>
11647
11648<change type="bugfix">
11649<para lang="ru">
11650при использовании переменной $geoip_region_name
11651в рабочем процессе мог произойти segmentation fault;
11652ошибка появилась в 0.8.48.
11653</para>
11654<para lang="en">
11655a segmentation fault might occur in a worker process,
11656if the $geoip_region_name variables was used;
11657the bug had appeared in 0.8.48.
11658</para>
11659</change>
11660
11661<change type="bugfix">
11662<para lang="ru">
11663ошибки, перехваченные error_page, кэшировались только до следующего запроса;
11664ошибка появилась в 0.8.48.
11665</para>
11666<para lang="en">
11667errors intercepted by error_page were cached only for next request;
11668the bug had appeared in 0.8.48.
11669</para>
11670</change>
11671
11672</changes>
11673
11674
11675<changes ver="0.8.48" date="2010-08-03">
11676
11677<change type="change">
11678<para lang="ru">
11679теперь по умолчанию директива server_name имеет значение пустое имя "".<br/>
11680Спасибо Геннадию Махомеду.
11681</para>
11682<para lang="en">
11683now the "server_name" directive default value is an empty name "".<br/>
11684Thanks to Gena Makhomed.
11685</para>
11686</change>
11687
11688<change type="change">
11689<para lang="ru">
11690теперь по умолчанию директива server_name_in_redirect имеет значение off.
11691</para>
11692<para lang="en">
11693now the "server_name_in_redirect" directive default value is "off".
11694</para>
11695</change>
11696
11697<change type="feature">
11698<para lang="ru">
11699переменные $geoip_dma_code, $geoip_area_code и $geoip_region_name.<br/>
11700Спасибо Christine McGonagle.
11701</para>
11702<para lang="en">
11703the $geoip_dma_code, $geoip_area_code, and $geoip_region_name variables.<br/>
11704Thanks to Christine McGonagle.
11705</para>
11706</change>
11707
11708<change type="bugfix">
11709<para lang="ru">
11710директивы proxy_pass, fastcgi_pass, uwsgi_pass и scgi_pass не наследовались
11711в блоки limit_except.
11712</para>
11713<para lang="en">
11714the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and "scgi_pass" directives
11715were not inherited inside "limit_except" blocks.
11716</para>
11717</change>
11718
11719<change type="bugfix">
11720<para lang="ru">
11721директивы proxy_cache_min_uses, fastcgi_cache_min_uses
11722uwsgi_cache_min_uses и scgi_cache_min_uses не работали;
11723ошибка появилась в 0.8.46.
11724</para>
11725<para lang="en">
11726the "proxy_cache_min_uses", "fastcgi_cache_min_uses"
11727"uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not work;
11728the bug had appeared in 0.8.46.
11729</para>
11730</change>
11731
11732<change type="bugfix">
11733<para lang="ru">
11734директива fastcgi_split_path_info неверно использовала выделения,
11735если в выделения попадала только часть URI.<br/>
11736Спасибо Юрию Тарадаю и Frank Enderle.
11737</para>
11738<para lang="en">
11739the "fastcgi_split_path_info" directive used incorrectly captures,
11740if only parts of an URI were captured.<br/>
11741Thanks to Yuriy Taraday and Frank Enderle.
11742</para>
11743</change>
11744
11745<change type="bugfix">
11746<para lang="ru">
11747директива rewrite не экранировала символ ";" при копировании из URI
11748в аргументы.<br/>
11749Спасибо Daisuke Murase.
11750</para>
11751<para lang="en">
11752the "rewrite" directive did not escape a ";" character during copying
11753from URI to query string.<br/>
11754Thanks to Daisuke Murase.
11755</para>
11756</change>
11757
11758<change type="bugfix">
11759<para lang="ru">
11760модуль ngx_http_image_filter_module закрывал соединение,
11761если изображение было больше размера image_filter_buffer.
11762</para>
11763<para lang="en">
11764the ngx_http_image_filter_module closed a connection,
11765if an image was larger than "image_filter_buffer" size.
11766</para>
11767</change>
11768
11769</changes>
11770
11771
11772<changes ver="0.8.47" date="2010-07-28">
11773
11774<change type="bugfix">
11775<para lang="ru">
11776переменная $request_time имела неверные значения для подзапросов.
11777</para>
11778<para lang="en">
11779$request_time variable had invalid values for subrequests.
11780</para>
11781</change>
11782
11783<change type="bugfix">
11784<para lang="ru">
11785ошибки, перехваченные error_page, не кэшировались.
11786</para>
11787<para lang="en">
11788errors intercepted by error_page could not be cached.
11789</para>
11790</change>
11791
11792<change type="bugfix">
11793<para lang="ru">
11794если использовался параметр max_size, то cache manager мог зациклиться;
11795ошибка появилась в 0.8.46.
11796</para>
11797<para lang="en">
11798a cache manager process may got caught in an endless loop,
11799if max_size parameter was used;
11800the bug had appeared in 0.8.46.
11801</para>
11802</change>
11803
11804</changes>
11805
11806
11807<changes ver="0.8.46" date="2010-07-19">
11808
11809<change type="change">
11810<para lang="ru">
11811директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
11812и scgi_no_cache теперь влияют только на сохранение закэшированного ответа.
11813</para>
11814<para lang="en">
11815now the "proxy_no_cache", "fastcgi_no_cache", "uwsgi_no_cache", and
11816"scgi_no_cache" directives affect on a cached response saving only.
11817</para>
11818</change>
11819
11820<change type="feature">
11821<para lang="ru">
11822директивы proxy_cache_bypass, fastcgi_cache_bypass, uwsgi_cache_bypass
11823и scgi_cache_bypass.
11824</para>
11825<para lang="en">
11826the "proxy_cache_bypass", "fastcgi_cache_bypass", "uwsgi_cache_bypass",
11827and "scgi_cache_bypass" directives.
11828</para>
11829</change>
11830
11831<change type="bugfix">
11832<para lang="ru">
11833nginx не освобождал память в keys_zone кэшей в случае ошибки работы с
11834бэкендом: память освобождалась только по истечении времени неактивности
11835или при недостатке памяти.
11836</para>
11837<para lang="en">
11838nginx did not free memory in cache keys zones if there was an error
11839during working with backend: the memory was freed only after inactivity
11840time or on memory low condition.
11841</para>
11842</change>
11843
11844</changes>
11845
11846
11847<changes ver="0.8.45" date="2010-07-13">
11848
11849<change type="feature">
11850<para lang="ru">
11851улучшения в модуле ngx_http_xslt_filter.<br/>
11852Спасибо Laurence Rowe.
11853</para>
11854<para lang="en">
11855ngx_http_xslt_filter improvements.<br/>
11856Thanks to Laurence Rowe.
11857</para>
11858</change>
11859
11860<change type="bugfix">
11861<para lang="ru">
11862ответ SSI модуля мог передаваться не полностью после команды include
11863с параметром wait="yes";
11864ошибка появилась в 0.7.25.<br/>
11865Спасибо Максиму Дунину.
11866</para>
11867<para lang="en">
11868SSI response might be truncated after include with wait="yes";
11869the bug had appeared in 0.7.25.<br/>
11870Thanks to Maxim Dounin.
11871</para>
11872</change>
11873
11874<change type="bugfix">
11875<para lang="ru">
11876директива listen не поддерживала параметр setfib=0.
11877</para>
11878<para lang="en">
11879the "listen" directive did not support the "setfib=0" parameter.
11880</para>
11881</change>
11882
11883</changes>
11884
11885
11886<changes ver="0.8.44" date="2010-07-05">
11887
11888<change type="change">
11889<para lang="ru">
11890теперь nginx по умолчанию не кэширует ответы бэкендов,
11891в заголовке которых есть строка "Set-Cookie".
11892</para>
11893<para lang="en">
11894now nginx does not cache by default backend responses,
11895if they have a "Set-Cookie" header line.
11896</para>
11897</change>
11898
11899<change type="feature">
11900<para lang="ru">
11901директива listen поддерживает параметр setfib.<br/>
11902Спасибо Андрею Филонову.
11903</para>
11904<para lang="en">
11905the "listen" directive supports the "setfib" parameter.<br/>
11906Thanks to Andrew Filonov.
11907</para>
11908</change>
11909
11910<change type="bugfix">
11911<para lang="ru">
11912директива sub_filter могла изменять регистр букв при частичном совпадении.
11913</para>
11914<para lang="en">
11915the "sub_filter" directive might change character case on partial match.
11916</para>
11917</change>
11918
11919<change type="bugfix">
11920<para lang="ru">
11921совместимость с HP/UX.
11922</para>
11923<para lang="en">
11924compatibility with HP/UX.
11925</para>
11926</change>
11927
11928<change type="bugfix">
11929<para lang="ru">
11930совместимость с компилятором AIX xlC_r.
11931</para>
11932<para lang="en">
11933compatibility with AIX xlC_r compiler.
11934</para>
11935</change>
11936
11937<change type="bugfix">
11938<para lang="ru">
11939nginx считал большие пакеты SSLv2 как обычные текстовые запросы.<br/>
11940Спасибо Miroslaw Jaworski.
11941</para>
11942<para lang="en">
11943nginx treated large SSLv2 packets as plain requests.<br/>
11944Thanks to Miroslaw Jaworski.
11945</para>
11946</change>
11947
11948</changes>
11949
11950
11951<changes ver="0.8.43" date="2010-06-30">
11952
11953<change type="feature">
11954<para lang="ru">
11955ускорение загрузки больших баз geo-диапазонов.
11956</para>
11957<para lang="en">
11958large geo ranges base loading speed-up.
11959</para>
11960</change>
11961
11962<change type="bugfix">
11963<para lang="ru">
11964перенаправление ошибки в "location /zero {return 204;}" без изменения
11965кода ответа оставляло тело ошибки;
11966ошибка появилась в 0.8.42.
11967</para>
11968<para lang="en">
11969an error_page redirection to "location /zero {return 204;}" without
11970changing status code kept the error body;
11971the bug had appeared in 0.8.42.
11972</para>
11973</change>
11974
11975<change type="bugfix">
11976<para lang="ru">
11977nginx мог закрывать IPv6 listen сокет во время переконфигурации.<br/>
11978Спасибо Максиму Дунину.
11979</para>
11980<para lang="en">
11981nginx might close IPv6 listen socket during reconfiguration.<br/>
11982Thanks to Maxim Dounin.
11983</para>
11984</change>
11985
11986<change type="bugfix">
11987<para lang="ru">
11988переменную $uid_set можно использовать на любой стадии обработки запроса.
11989</para>
11990<para lang="en">
11991the $uid_set variable may be used at any request processing stage.
11992</para>
11993</change>
11994
11995</changes>
11996
11997
11998<changes ver="0.8.42" date="2010-06-21">
11999
12000<change type="change">
12001<para lang="ru">
12002теперь nginx проверяет location'ы, заданные регулярными выражениями,
12003если запрос полностью совпал с location'ом, заданным строкой префикса.
12004Предыдущее поведение появилось в 0.7.1.
12005</para>
12006<para lang="en">
12007now nginx tests locations given by regular expressions,
12008if request was matched exactly by a location given by a prefix string.
12009The previous behavior has been introduced in 0.7.1.
12010</para>
12011</change>
12012
12013<change type="feature">
12014<para lang="ru">
12015модуль ngx_http_scgi_module.<br/>
12016Спасибо Manlio Perillo.
12017</para>
12018<para lang="en">
12019the ngx_http_scgi_module.<br/>
12020Thanks to Manlio Perillo.
12021</para>
12022</change>
12023
12024<change type="feature">
12025<para lang="ru">
12026в директиве return можно добавлять текст ответа.
12027</para>
12028<para lang="en">
12029a text answer may be added to a "return" directive.
12030</para>
12031</change>
12032
12033</changes>
12034
12035
12036<changes ver="0.8.41" date="2010-06-15">
12037
12038<change type="security">
12039<para lang="ru">
12040рабочий процесс nginx/Windows мог завершаться аварийно при запросе файла
12041с неверной кодировкой UTF-8.
12042</para>
12043<para lang="en">
12044nginx/Windows worker might be terminated abnormally if a requested file name
12045has invalid UTF-8 encoding.
12046</para>
12047</change>
12048
12049<change type="change">
12050<para lang="ru">
12051теперь nginx разрешает использовать пробелы в строке запроса.
12052</para>
12053<para lang="en">
12054now nginx allows to use spaces in a request line.
12055</para>
12056</change>
12057
12058<change type="bugfix">
12059<para lang="ru">
12060директива proxy_redirect неправильно изменяла строку "Refresh" в заголовке
12061ответа бэкенда.<br/>
12062Спасибо Андрею Андрееву и Максиму Согину.
12063</para>
12064<para lang="en">
12065the "proxy_redirect" directive changed incorrectly a backend "Refresh"
12066response header line.<br/>
12067Thanks to Andrey Andreew and Max Sogin.
12068</para>
12069</change>
12070
12071<change type="bugfix">
12072<para lang="ru">
12073nginx не поддерживал путь без имени хоста в
12074строке "Destination" в заголовке запроса.
12075</para>
12076<para lang="en">
12077nginx did not support path without host name
12078in "Destination" request header line.
12079</para>
12080</change>
12081
12082</changes>
12083
12084
12085<changes ver="0.8.40" date="2010-06-07">
12086
12087<change type="security">
12088<para lang="ru">
12089теперь nginx/Windows игнорирует имя потока файла по умолчанию.<br/>
12090Спасибо Jose Antonio Vazquez Gonzalez.
12091</para>
12092<para lang="en">
12093now nginx/Windows ignores default file stream name.<br/>
12094Thanks to Jose Antonio Vazquez Gonzalez.
12095</para>
12096</change>
12097
12098<change type="feature">
12099<para lang="ru">
12100модуль ngx_http_uwsgi_module.<br/>
12101Спасибо Roberto De Ioris.
12102</para>
12103<para lang="en">
12104the ngx_http_uwsgi_module.<br/>
12105Thanks to Roberto De Ioris.
12106</para>
12107</change>
12108
12109<change type="feature">
12110<para lang="ru">
12111директива fastcgi_param со значением, начинающимся со строки "HTTP_",
12112изменяет строку заголовка в запросе клиента.
12113</para>
12114<para lang="en">
12115a "fastcgi_param" directive with value starting with "HTTP_" overrides
12116a client request header line.
12117</para>
12118</change>
12119
12120<change type="bugfix">
12121<para lang="ru">
12122строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса
12123клиента передавались FastCGI-серверу при кэшировании.
12124</para>
12125<para lang="en">
12126the "If-Modified-Since", "If-Range", etc. client request header lines
12127were passed to FastCGI-server while caching.
12128</para>
12129</change>
12130
12131<change type="bugfix">
12132<para lang="ru">
12133listen unix domain сокет нельзя было изменить во время переконфигурации.<br/>
12134Спасибо Максиму Дунину.
12135</para>
12136<para lang="en">
12137listen unix domain socket could not be changed during reconfiguration.<br/>
12138Thanks to Maxim Dounin.
12139</para>
12140</change>
12141
12142</changes>
12143
12144
12145<changes ver="0.8.39" date="2010-05-31">
12146
12147<change type="bugfix">
12148<para lang="ru">
12149наследуемая директива alias неправильно работала во вложенном location'е.
12150</para>
12151<para lang="en">
12152an inherited "alias" directive worked incorrectly in inclusive location.
12153</para>
12154</change>
12155
12156<change type="bugfix">
12157<para lang="ru">
12158в комбинации директив alias с переменными и try_files;
12159</para>
12160<para lang="en">
12161in "alias" with variables and "try_files" directives combination.
12162</para>
12163</change>
12164
12165<change type="bugfix">
12166<para lang="ru">
12167listen unix domain и IPv6 сокеты не наследовались во время обновления
12168без перерыва.<br/>
12169Спасибо Максиму Дунину.
12170</para>
12171<para lang="en">
12172listen unix domain and IPv6 sockets did not inherit while online upgrade.<br/>
12173Thanks to Maxim Dounin.
12174</para>
12175</change>
12176
12177</changes>
12178
12179
12180<changes ver="0.8.38" date="2010-05-24">
12181
12182<change type="feature">
12183<para lang="ru">
12184директивы proxy_no_cache и fastcgi_no_cache.
12185</para>
12186<para lang="en">
12187the "proxy_no_cache" and "fastcgi_no_cache" directives.
12188</para>
12189</change>
12190
12191<change type="feature">
12192<para lang="ru">
12193теперь при использовании переменной $scheme в директиве rewrite
12194автоматически делается редирект.<br/>
12195Спасибо Piotr Sikora.
12196</para>
12197<para lang="en">
12198now the "rewrite" directive does a redirect automatically
12199if the $scheme variable is used.<br/>
12200Thanks to Piotr Sikora.
12201</para>
12202</change>
12203
12204<change type="bugfix">
12205<para lang="ru">
12206теперь задержки в директиве limit_req соответствует описанному алгоритму.<br/>
12207Спасибо Максиму Дунину.
12208</para>
12209<para lang="en">
12210now "limit_req" delay directive conforms to the described algorithm.<br/>
12211Thanks to Maxim Dounin.
12212</para>
12213</change>
12214
12215<change type="bugfix">
12216<para lang="ru">
12217переменную $uid_got нельзя было использовать в SSI и перловом модулях.
12218</para>
12219<para lang="en">
12220the $uid_got variable might not be used in the SSI and perl modules.
12221</para>
12222</change>
12223
12224</changes>
12225
12226
12227<changes ver="0.8.37" date="2010-05-17">
12228
12229<change type="feature">
12230<para lang="ru">
12231модуль ngx_http_split_clients_module.
12232</para>
12233<para lang="en">
12234the ngx_http_split_clients_module.
12235</para>
12236</change>
12237
12238<change type="feature">
12239<para lang="ru">
12240директива map поддерживает ключи больше 255 символов.
12241</para>
12242<para lang="en">
12243the "map" directive supports keys more than 255 characters.
12244</para>
12245</change>
12246
12247<change type="bugfix">
12248<para lang="ru">
12249nginx игнорировал значения "private" и "no-store" в строке "Cache-Control"
12250в заголовке ответа бэкенда.
12251</para>
12252<para lang="en">
12253nginx ignored the "private" and "no-store" values
12254in the "Cache-Control" backend response header line.
12255</para>
12256</change>
12257
12258<change type="bugfix">
12259<para lang="ru">
12260параметр stub в SSI-директиве include не использовался,
12261если пустой ответ имел код 200.
12262</para>
12263<para lang="en">
12264a "stub" parameter of an "include" SSI directive was not used,
12265if empty response has 200 status code.
12266</para>
12267</change>
12268
12269<change type="bugfix">
12270<para lang="ru">
12271если проксированный или FastCGI запрос внутренне перенаправлялся
12272в другой проксированный или FastCGI location,
12273то в рабочем процессе мог произойти segmentation fault;
12274ошибка появилась в 0.8.33.<br/>
12275Спасибо Yichun Zhang.
12276</para>
12277<para lang="en">
12278if a proxied or FastCGI request was internally redirected
12279to another proxied or FastCGI location,
12280then a segmentation fault might occur in a worker process;
12281the bug had appeared in 0.8.33.<br/>
12282Thanks to Yichun Zhang.
12283</para>
12284</change>
12285
12286<change type="bugfix">
12287<para lang="ru">
12288соединения IMAP к серверу Zimbra могло зависнуть до таймаута.<br/>
12289Спасибо Alan Batie.
12290</para>
12291<para lang="en">
12292IMAP connections may hang until they timed out
12293while talking to Zimbra server.<br/>
12294Thanks to Alan Batie.
12295</para>
12296</change>
12297
12298</changes>
12299
12300
12301<changes ver="0.8.36" date="2010-04-22">
12302
12303<change type="bugfix">
12304<para lang="ru">
12305модуль ngx_http_dav_module неправильно обрабатывал методы DELETE, COPY и MOVE
12306для симлинков.
12307</para>
12308<para lang="en">
12309the ngx_http_dav_module handled incorrectly the DELETE, COPY, and MOVE methods
12310for symlinks.
12311</para>
12312</change>
12313
12314<change type="bugfix">
12315<para lang="ru">
12316модуль SSI в подзапросах использовал закэшированные в основном запросе
12317значения переменных $query_string, $arg_... и им подобных.
12318</para>
12319<para lang="en">
12320values of the $query_string, $arg_..., etc. variables cached in main
12321request were used by the SSI module in subrequests.
12322</para>
12323</change>
12324
12325<change type="bugfix">
12326<para lang="ru">
12327значение переменной повторно экранировалось после каждого вывода
12328SSI-команды echo;
12329ошибка появилась в 0.6.14.
12330</para>
12331<para lang="en">
12332a variable value was repeatedly encoded after each
12333an "echo" SSI-command output;
12334the bug had appeared in 0.6.14.
12335</para>
12336</change>
12337
12338<change type="bugfix">
12339<para lang="ru">
12340рабочий процесс зависал при запросе файла FIFO.<br/>
12341Спасибо Vicente Aguilar и Максиму Дунину.
12342</para>
12343<para lang="en">
12344a worker process hung if a FIFO file was requested.<br/>
12345Thanks to Vicente Aguilar and Maxim Dounin.
12346</para>
12347</change>
12348
12349<change type="bugfix">
12350<para lang="ru">
12351совместимость с OpenSSL-1.0.0 на 64-битном Linux.<br/>
12352Спасибо Максиму Дунину.
12353</para>
12354<para lang="en">
12355OpenSSL-1.0.0 compatibility on 64-bit Linux.<br/>
12356Thanks to Maxim Dounin.
12357</para>
12358</change>
12359
12360<change type="bugfix">
12361<para lang="ru">
12362nginx не собирался с параметром --without-http-cache;
12363ошибка появилась в 0.8.35.
12364</para>
12365<para lang="en">
12366nginx could not be built --without-http-cache;
12367the bug had appeared in 0.8.35.
12368</para>
12369</change>
12370
12371</changes>
12372
12373
12374<changes ver="0.8.35" date="2010-04-01">
12375
12376<change type="change">
12377<para lang="ru">
12378теперь charset-фильтр работает до SSI-фильтра.
12379</para>
12380<para lang="en">
12381now the charset filter runs before the SSI filter.
12382</para>
12383</change>
12384
12385<change type="feature">
12386<para lang="ru">
12387директива chunked_transfer_encoding.
12388</para>
12389<para lang="en">
12390the "chunked_transfer_encoding" directive.
12391</para>
12392</change>
12393
12394<change type="bugfix">
12395<para lang="ru">
12396символ "&amp;" при копировании в аргументы в правилах rewrite не экранировался.
12397</para>
12398<para lang="en">
12399an "&amp;" character was not escaped when it was copied in arguments part
12400in a rewrite rule.
12401</para>
12402</change>
12403
12404<change type="bugfix">
12405<para lang="ru">
12406nginx мог завершаться аварийно во время обработки сигнала или
12407при использовании директивы timer_resolution на платформах,
12408не поддерживающих методы kqueue или eventport.<br/>
12409Спасибо George Xie и Максиму Дунину.
12410</para>
12411<para lang="en">
12412nginx might be terminated abnormally
12413while a signal processing or if the directive "timer_resolution" was used
12414on platforms which do not support kqueue or eventport notification methods.<br/>
12415Thanks to George Xie and Maxim Dounin.
12416</para>
12417</change>
12418
12419<change type="bugfix">
12420<para lang="ru">
12421если временные файлы и постоянное место хранения располагались на разных
12422файловых системах, то у постоянных файлов время изменения было неверным.<br/>
12423Спасибо Максиму Дунину.
12424</para>
12425<para lang="en">
12426if temporary files and permanent storage area resided at different
12427file systems, then permanent file modification times were incorrect.<br/>
12428Thanks to Maxim Dounin.
12429</para>
12430</change>
12431
12432<change type="bugfix">
12433<para lang="ru">
12434модуль ngx_http_memcached_module мог выдавать ошибку "memcached sent invalid
12435trailer".<br/>
12436Спасибо Максиму Дунину.
12437</para>
12438<para lang="en">
12439ngx_http_memcached_module might issue the error message "memcached sent invalid
12440trailer".<br/>
12441Thanks to Maxim Dounin.
12442</para>
12443</change>
12444
12445<change type="bugfix">
12446<para lang="ru">
12447nginx не мог собрать библиотеку zlib-1.2.4 из исходных текстов.<br/>
12448Спасибо Максиму Дунину.
12449</para>
12450<para lang="en">
12451nginx could not built zlib-1.2.4 library using the library sources.<br/>
12452Thanks to Maxim Dounin.
12453</para>
12454</change>
12455
12456<change type="bugfix">
12457<para lang="ru">
12458в рабочем процессе происходил segmentation fault,
12459если перед ответом FastCGI-сервера было много вывода в stderr;
12460ошибка появилась в 0.8.34.<br/>
12461Спасибо Максиму Дунину.
12462</para>
12463<para lang="en">
12464a segmentation fault occurred in a worker process,
12465if there was large stderr output before FastCGI response;
12466the bug had appeared in 0.8.34.<br/>
12467Thanks to Maxim Dounin.
12468</para>
12469</change>
12470
12471</changes>
12472
12473
12474<changes ver="0.8.34" date="2010-03-03">
12475
12476<change type="bugfix">
12477<para lang="ru">
12478nginx не поддерживал все шифры, используемые в клиентских сертификатах.<br/>
12479Спасибо Иннокентию Еникееву.
12480</para>
12481<para lang="en">
12482nginx did not support all ciphers and digests used in client certificates.<br/>
12483Thanks to Innocenty Enikeew.
12484</para>
12485</change>
12486
12487<change type="bugfix">
12488<para lang="ru">
12489nginx неправильно кэшировал FastCGI-ответы, если перед ответом было
12490много вывода в stderr.
12491</para>
12492<para lang="en">
12493nginx cached incorrectly FastCGI responses if there was large stderr output
12494before response.
12495</para>
12496</change>
12497
12498<change type="bugfix">
12499<para lang="ru">
12500nginx не поддерживал HTTPS-рефереры.
12501</para>
12502<para lang="en">
12503nginx did not support HTTPS referrers.
12504</para>
12505</change>
12506
12507<change type="bugfix">
12508<para lang="ru">
12509nginx/Windows мог не находить файлы, если путь в конфигурации был задан
12510в другом регистре;
12511ошибка появилась в 0.8.33.
12512</para>
12513<para lang="en">
12514nginx/Windows might not find file if path in configuration was given
12515in other character case;
12516the bug had appeared in 0.8.33.
12517</para>
12518</change>
12519
12520<change type="bugfix">
12521<para lang="ru">
12522переменная $date_local выдавала неверное время,
12523если использовался формат "%s".<br/>
12524Спасибо Максиму Дунину.
12525</para>
12526<para lang="en">
12527the $date_local variable has an incorrect value,
12528if the "%s" format was used.<br/>
12529Thanks to Maxim Dounin.
12530</para>
12531</change>
12532
12533<change type="bugfix">
12534<para lang="ru">
12535если ssl_session_cache не был установлен или установлен в none,
12536то при проверке клиентского сертификаты могла происходить
12537ошибка "session id context uninitialized";
12538ошибка появилась в 0.7.1.
12539</para>
12540<para lang="en">
12541if ssl_session_cache was not set or was set to "none",
12542then during client certificate verify
12543the error "session id context uninitialized" might occur;
12544the bug had appeared in 0.7.1.
12545</para>
12546</change>
12547
12548<change type="bugfix">
12549<para lang="ru">
12550geo-диапазон возвращал значение по умолчанию, если диапазон включал
12551в себя одну и более сетей размером /16 и не начинался на границе сети
12552размером /16.
12553</para>
12554<para lang="en">
12555a geo range returned default value if the range included two or more
12556/16 networks and did not begin at /16 network boundary.
12557</para>
12558</change>
12559
12560<change type="bugfix">
12561<para lang="ru">
12562блок, используемый в параметре stub в SSI-директиве include,
12563выводился с MIME-типом "text/plain".
12564</para>
12565<para lang="en">
12566a block used in a "stub" parameter of an "include" SSI directive
12567was output with "text/plain" MIME type.
12568</para>
12569</change>
12570
12571<change type="bugfix">
12572<para lang="ru">
12573$r->sleep() не работал;
12574ошибка появилась в 0.8.11.
12575</para>
12576<para lang="en">
12577$r->sleep() did not work;
12578the bug had appeared in 0.8.11.
12579</para>
12580</change>
12581
12582</changes>
12583
12584
12585<changes ver="0.8.33" date="2010-02-01">
12586
12587<change type="security">
12588<para lang="ru">
12589теперь nginx/Windows игнорирует пробелы в конце URI.<br/>
12590Спасибо Dan Crowley, Core Security Technologies.
12591</para>
12592<para lang="en">
12593now nginx/Windows ignores trailing spaces in URI.<br/>
12594Thanks to Dan Crowley, Core Security Technologies.
12595</para>
12596</change>
12597
12598<change type="security">
12599<para lang="ru">
12600теперь nginx/Windows игнорирует короткие имена файлов.<br/>
12601Спасибо Dan Crowley, Core Security Technologies.
12602</para>
12603<para lang="en">
12604now nginx/Windows ignores short files names.<br/>
12605Thanks to Dan Crowley, Core Security Technologies.
12606</para>
12607</change>
12608
12609<change type="change">
12610<para lang="ru">
12611теперь keepalive соединения после запросов POST не запрещаются для
12612MSIE 7.0+.<br/>
12613Спасибо Adam Lounds.
12614</para>
12615<para lang="en">
12616now keepalive connections after POST requests are not disabled for
12617MSIE 7.0+.<br/>
12618Thanks to Adam Lounds.
12619</para>
12620</change>
12621
12622<change type="workaround">
12623<para lang="ru">
12624теперь keepalive соединения запрещены для Safari.<br/>
12625Спасибо Joshua Sierles.
12626</para>
12627<para lang="en">
12628now keepalive connections are disabled for Safari.<br/>
12629Thanks to Joshua Sierles.
12630</para>
12631</change>
12632
12633<change type="bugfix">
12634<para lang="ru">
12635если проксированный или FastCGI запрос внутренне перенаправлялся
12636в другой проксированный или FastCGI location, то переменная
12637$upstream_response_time могла иметь ненормально большое значение;
12638ошибка появилась в 0.8.7.
12639</para>
12640<para lang="en">
12641if a proxied or FastCGI request was internally redirected
12642to another proxied or FastCGI location,
12643then $upstream_response_time variable may have abnormally large value;
12644the bug had appeared in 0.8.7.
12645</para>
12646</change>
12647
12648<change type="bugfix">
12649<para lang="ru">
12650в рабочем процессе мог произойти segmentation fault
12651при отбрасывания тела запроса;
12652ошибка появилась в 0.8.11.
12653</para>
12654<para lang="en">
12655a segmentation fault might occur in a worker process,
12656while discarding a request body;
12657the bug had appeared in 0.8.11.
12658</para>
12659</change>
12660
12661</changes>
12662
12663
12664<changes ver="0.8.32" date="2010-01-11">
12665
12666<change type="bugfix">
12667<para lang="ru">
12668ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module.<br/>
12669Спасибо Максиму Дунину.
12670</para>
12671<para lang="en">
12672UTF-8 encoding usage in the ngx_http_autoindex_module.<br/>
12673Thanks to Maxim Dounin.
12674</para>
12675</change>
12676
12677<change type="bugfix">
12678<para lang="ru">
12679именованные выделения в регулярных выражениях работали только для
12680двух переменных.<br/>
12681Спасибо Максиму Дунину.
12682</para>
12683<para lang="en">
12684regular expression named captures worked for two names only.<br/>
12685Thanks to Maxim Dounin.
12686</para>
12687</change>
12688
12689<change type="bugfix">
12690<para lang="ru">
12691теперь в строке заголовка запроса "Host" используется имя "localhost",
12692если в директиве auth_http указан unix domain сокет.<br/>
12693Спасибо Максиму Дунину.
12694</para>
12695<para lang="en">
12696now the "localhost" name is used in the "Host" request header line,
12697if an unix domain socket is defined in the "auth_http" directive.<br/>
12698Thanks to Maxim Dounin.
12699</para>
12700</change>
12701
12702<change type="bugfix">
12703<para lang="ru">
12704nginx не поддерживал передачу chunk'ами для 201-ых ответов.<br/>
12705Спасибо Julian Reich.
12706</para>
12707<para lang="en">
12708nginx did not support chunked transfer encoding for 201 responses.<br/>
12709Thanks to Julian Reich.
12710</para>
12711</change>
12712
12713<change type="bugfix">
12714<para lang="ru">
12715если директива "expires modified" выставляла дату в прошлом, то в строке
12716заголовка ответа "Cache-Control" выдавалось отрицательное число.<br/>
12717Спасибо Алексею Капранову.
12718</para>
12719<para lang="en">
12720if the "expires modified" set date in the past, then a negative number
12721was set in the "Cache-Control" response header line.<br/>
12722Thanks to Alex Kapranoff.
12723</para>
12724</change>
12725
12726</changes>
12727
12728
12729<changes ver="0.8.31" date="2009-12-23">
12730
12731<change type="feature">
12732<para lang="ru">
12733теперь директива error_page может перенаправлять ответы со статусом 301 и 302.
12734</para>
12735<para lang="en">
12736now the "error_page" directive may redirect the 301 and 302 responses.
12737</para>
12738</change>
12739
12740<change type="feature">
12741<para lang="ru">
12742переменные $geoip_city_continent_code, $geoip_latitude и $geoip_longitude.<br/>
12743Спасибо Arvind Sundararajan.
12744</para>
12745<para lang="en">
12746the $geoip_city_continent_code, $geoip_latitude, and $geoip_longitude
12747variables.<br/>
12748Thanks to Arvind Sundararajan.
12749</para>
12750</change>
12751
12752<change type="feature">
12753<para lang="ru">
12754модуль ngx_http_image_filter_module теперь всегда удаляет
12755EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
12756</para>
12757<para lang="en">
12758now the ngx_http_image_filter_module deletes always EXIF and other
12759application specific data if the data consume more than 5% of a JPEG file.
12760</para>
12761</change>
12762
12763<change type="bugfix">
12764<para lang="ru">
12765nginx закрывал соединение при запросе закэшированного
12766ответа с пустым телом.<br/>
12767Спасибо Piotr Sikora.
12768</para>
12769<para lang="en">
12770nginx closed a connection if a cached response had an empty body.<br/>
12771Thanks to Piotr Sikora.
12772</para>
12773</change>
12774
12775<change type="bugfix">
12776<para lang="ru">
12777nginx мог не собираться gcc 4.x при использовании оптимизации -O2 и выше.<br/>
12778Спасибо Максиму Дунину и Денису Латыпову.
12779</para>
12780<para lang="en">
12781nginx might not be built by gcc 4.x if the -O2 or higher optimization option
12782was used.<br/>
12783Thanks to Maxim Dounin and Denis F. Latypoff.
12784</para>
12785</change>
12786
12787<change type="bugfix">
12788<para lang="ru">
12789регулярные выражения в location всегда тестировались с учётом регистра;
12790ошибка появилась в 0.8.25.
12791</para>
12792<para lang="en">
12793regular expressions in location were always tested in case-sensitive mode;
12794the bug had appeared in 0.8.25.
12795</para>
12796</change>
12797
12798<change type="bugfix">
12799<para lang="ru">
12800nginx кэшировал 304 ответ, если в заголовке проксируемого запроса
12801была строка "If-None-Match".<br/>
12802Спасибо Tim Dettrick и David Kostal.
12803</para>
12804<para lang="en">
12805nginx cached a 304 response if there was the "If-None-Match" header line
12806in a proxied request.<br/>
12807Thanks to Tim Dettrick and David Kostal.
12808</para>
12809</change>
12810
12811<change type="bugfix">
12812<para lang="ru">
12813nginx/Windows пытался дважды удалить временный файл
12814при перезаписи уже существующего файла.
12815</para>
12816<para lang="en">
12817nginx/Windows tried to delete a temporary file twice
12818if the file should replace an already existent file.
12819</para>
12820</change>
12821
12822</changes>
12823
12824
12825<changes ver="0.8.30" date="2009-12-15">
12826
12827<change type="change">
12828<para lang="ru">
12829теперь по умолчанию размер буфера директивы large_client_header_buffers
12830равен 8K.<br/>
12831Спасибо Andrew Cholakian.
12832</para>
12833<para lang="en">
12834now the default buffer size of the "large_client_header_buffers"
12835directive is 8K.<br/>
12836Thanks to Andrew Cholakian.
12837</para>
12838</change>
12839
12840<change type="feature">
12841<para lang="ru">
12842файл conf/fastcgi.conf для простых конфигураций FastCGI.
12843</para>
12844<para lang="en">
12845the conf/fastcgi.conf for simple FastCGI configurations.
12846</para>
12847</change>
12848
12849<change type="bugfix">
12850<para lang="ru">
12851nginx/Windows пытался дважды переименовать временный файл
12852при перезаписи уже существующего файла.
12853</para>
12854<para lang="en">
12855nginx/Windows tried to rename a temporary file twice if the file
12856should replace an already existent file.
12857</para>
12858</change>
12859
12860<change type="bugfix">
12861<para lang="ru">
12862ошибки double free or corruption, возникающей, если имя хоста не было найдено;
12863ошибка появилась в 0.8.22.<br/>
12864Спасибо Константину Свисту.
12865</para>
12866<para lang="en">
12867of "double free or corruption" error issued if host could not be resolved;
12868the bug had appeared in 0.8.22.<br/>
12869Thanks to Konstantin Svist.
12870</para>
12871</change>
12872
12873<change type="bugfix">
12874<para lang="ru">
12875в использовании libatomic на некоторых платформах.<br/>
12876Спасибо W-Mark Kubacki.
12877</para>
12878<para lang="en">
12879in libatomic usage on some platforms.<br/>
12880Thanks to W-Mark Kubacki.
12881</para>
12882</change>
12883
12884</changes>
12885
12886
12887<changes ver="0.8.29" date="2009-11-30">
12888
12889<change type="change">
12890<para lang="ru">
12891теперь для проксируемых ответов HTTP/0.9 в лог пишется код ответа "009".
12892</para>
12893<para lang="en">
12894now the "009" status code is written to an access log for proxied HTTP/0.9
12895responses.
12896</para>
12897</change>
12898
12899<change type="feature">
12900<para lang="ru">
12901директивы addition_types, charset_types, gzip_types, ssi_types,
12902sub_filter_types и xslt_types поддерживают параметр "*".
12903</para>
12904<para lang="en">
12905the "addition_types", "charset_types", "gzip_types", "ssi_types",
12906"sub_filter_types", and "xslt_types" directives support an "*" parameter.
12907</para>
12908</change>
12909
12910<change type="feature">
12911<para lang="ru">
12912использование встроенных атомарных операций GCC 4.1+.<br/>
12913Спасибо W-Mark Kubacki.
12914</para>
12915<para lang="en">
12916GCC 4.1+ built-in atomic operations usage.<br/>
12917Thanks to W-Mark Kubacki.
12918</para>
12919</change>
12920
12921<change type="feature">
12922<para lang="ru">
12923параметр --with-libatomic[=DIR] в configure.<br/>
12924Спасибо W-Mark Kubacki.
12925</para>
12926<para lang="en">
12927the --with-libatomic[=DIR] option in the configure.<br/>
12928Thanks to W-Mark Kubacki.
12929</para>
12930</change>
12931
12932<change type="bugfix">
12933<para lang="ru">
12934listen unix domain сокет имели ограниченные права доступа.
12935</para>
12936<para lang="en">
12937listen unix domain socket had limited access rights.
12938</para>
12939</change>
12940
12941<change type="bugfix">
12942<para lang="ru">
12943закэшированные ответы ответов HTTP/0.9 неправильно обрабатывались.
12944</para>
12945<para lang="en">
12946cached HTTP/0.9 responses were handled incorrectly.
12947</para>
12948</change>
12949
12950<change type="bugfix">
12951<para lang="ru">
12952именованные выделения в регулярных выражениях, заданные как "?P&lt;...&gt;",
12953не работали в директиве server_name.<br/>
12954Спасибо Максиму Дунину.
12955</para>
12956<para lang="en">
12957regular expression named captures given by "?P&lt;...&gt;" did not work
12958in a "server_name" directive.<br/>
12959Thanks to Maxim Dounin.
12960</para>
12961</change>
12962
12963</changes>
12964
12965
12966<changes ver="0.8.28" date="2009-11-23">
12967
12968<change type="bugfix">
12969<para lang="ru">
12970nginx не собирался с параметром --without-pcre;
12971ошибка появилась в 0.8.25.
12972</para>
12973<para lang="en">
12974nginx could not be built with the --without-pcre parameter;
12975the bug had appeared in 0.8.25.
12976</para>
12977</change>
12978
12979</changes>
12980
12981
12982<changes ver="0.8.27" date="2009-11-17">
12983
12984<change type="bugfix">
12985<para lang="ru">
12986регулярные выражения не работали в nginx/Windows;
12987ошибка появилась в 0.8.25.
12988</para>
12989<para lang="en">
12990regular expressions did not work in nginx/Windows;
12991the bug had appeared in 0.8.25.
12992</para>
12993</change>
12994
12995</changes>
12996
12997
12998<changes ver="0.8.26" date="2009-11-16">
12999
13000<change type="bugfix">
13001<para lang="ru">
13002ошибки при использовании выделений в директиве rewrite;
13003ошибка появилась в 0.8.25.
13004</para>
13005<para lang="en">
13006in captures usage in "rewrite" directive;
13007the bug had appeared in 0.8.25.
13008</para>
13009</change>
13010
13011<change type="bugfix">
13012<para lang="ru">
13013nginx не собирался без параметра --with-debug;
13014ошибка появилась в 0.8.25.
13015</para>
13016<para lang="en">
13017nginx could not be built without the --with-debug option;
13018the bug had appeared in 0.8.25.
13019</para>
13020</change>
13021
13022</changes>
13023
13024
13025<changes ver="0.8.25" date="2009-11-16">
13026
13027<change type="change">
13028<para lang="ru">
13029теперь в лог ошибок не пишется сообщение, если переменная не найдена
13030с помощью метода $r->variable().
13031</para>
13032<para lang="en">
13033now no message is written in an error log if a variable is not found by
13034$r->variable() method.
13035</para>
13036</change>
13037
13038<change type="feature">
13039<para lang="ru">
13040модуль ngx_http_degradation_module.
13041</para>
13042<para lang="en">
13043the ngx_http_degradation_module.
13044</para>
13045</change>
13046
13047<change type="feature">
13048<para lang="ru">
13049именованные выделения в регулярных выражениях.
13050</para>
13051<para lang="en">
13052regular expression named captures.
13053</para>
13054</change>
13055
13056<change type="feature">
13057<para lang="ru">
13058теперь при использовании переменных в директиве proxy_pass не требуется
13059задавать URI.
13060</para>
13061<para lang="en">
13062now URI part is not required a "proxy_pass" directive if variables are used.
13063</para>
13064</change>
13065
13066<change type="feature">
13067<para lang="ru">
13068теперь директива msie_padding работает и для Chrome.
13069</para>
13070<para lang="en">
13071now the "msie_padding" directive works for Chrome too.
13072</para>
13073</change>
13074
13075<change type="bugfix">
13076<para lang="ru">
13077в рабочем процессе происходил segmentation fault при недостатке памяти;
13078ошибка появилась в 0.8.18.
13079</para>
13080<para lang="en">
13081a segmentation fault occurred in a worker process on low memory condition;
13082the bug had appeared in 0.8.18.
13083</para>
13084</change>
13085
13086<change type="bugfix">
13087<para lang="ru">
13088nginx передавал сжатые ответы клиентам, не поддерживающим сжатие,
13089при настройках gzip_static on и gzip_vary off;
13090ошибка появилась в 0.8.16.
13091</para>
13092<para lang="en">
13093nginx sent gzipped responses to clients those do not support gzip,
13094if "gzip_static on" and "gzip_vary off";
13095the bug had appeared in 0.8.16.
13096</para>
13097</change>
13098
13099</changes>
13100
13101
13102<changes ver="0.8.24" date="2009-11-11">
13103
13104<change type="bugfix">
13105<para lang="ru">
13106nginx всегда добавлял строку "Content-Encoding: gzip" в заголовок
13107304-ых ответов модуля ngx_http_gzip_static_module.
13108</para>
13109<para lang="en">
13110nginx always added "Content-Encoding: gzip" response header line
13111in 304 responses sent by ngx_http_gzip_static_module.
13112</para>
13113</change>
13114
13115<change type="bugfix">
13116<para lang="ru">
13117nginx не собирался без параметра --with-debug;
13118ошибка появилась в 0.8.23.
13119</para>
13120<para lang="en">
13121nginx could not be built without the --with-debug option;
13122the bug had appeared in 0.8.23.
13123</para>
13124</change>
13125
13126<change type="bugfix">
13127<para lang="ru">
13128параметр "unix:" в директиве set_real_ip_from неправильно наследовался
13129с предыдущего уровня.
13130</para>
13131<para lang="en">
13132the "unix:" parameter of the "set_real_ip_from" directive inherited
13133incorrectly from previous level.
13134</para>
13135</change>
13136
13137<change type="bugfix">
13138<para lang="ru">
13139в resolver'е при определении пустого имени.
13140</para>
13141<para lang="en">
13142in resolving empty name.
13143</para>
13144</change>
13145
13146</changes>
13147
13148
13149<changes ver="0.8.23" date="2009-11-11">
13150
13151<change type="security">
13152<para lang="ru">
13153теперь SSL/TLS renegotiation запрещён.<br/>
13154Спасибо Максиму Дунину.
13155</para>
13156<para lang="en">
13157now SSL/TLS renegotiation is disabled.<br/>
13158Thanks to Maxim Dounin.
13159</para>
13160</change>
13161
13162<change type="bugfix">
13163<para lang="ru">
13164listen unix domain сокет не наследовался во время обновления без перерыва.
13165</para>
13166<para lang="en">
13167listen unix domain socket did not inherit while online upgrade.
13168</para>
13169</change>
13170
13171<change type="bugfix">
13172<para lang="ru">
13173параметр "unix:" в директиве set_real_ip_from не работал без ещё
13174одной директивы с любым IP-адресом.
13175</para>
13176<para lang="en">
13177the "unix:" parameter of the "set_real_ip_from" directive did not without
13178yet another directive with any IP address.
13179</para>
13180</change>
13181
13182<change type="bugfix">
13183<para lang="ru">
13184segmentation fault и зацикливания в resolver'е.
13185</para>
13186<para lang="en">
13187segmentation fault and infinite looping in resolver.
13188</para>
13189</change>
13190
13191<change type="bugfix">
13192<para lang="ru">
13193в resolver'е.<br/>
13194Спасибо Артёму Бохану.
13195</para>
13196<para lang="en">
13197in resolver.<br/>
13198Thanks to Artem Bokhan.
13199</para>
13200</change>
13201
13202</changes>
13203
13204
13205<changes ver="0.8.22" date="2009-11-03">
13206
13207<change type="feature">
13208<para lang="ru">
13209директивы proxy_bind, fastcgi_bind и memcached_bind.
13210</para>
13211<para lang="en">
13212the "proxy_bind", "fastcgi_bind", and "memcached_bind" directives.
13213</para>
13214</change>
13215
13216<change type="feature">
13217<para lang="ru">
13218директивы access и deny поддерживают IPv6.
13219</para>
13220<para lang="en">
13221the "access" and the "deny" directives support IPv6.
13222</para>
13223</change>
13224
13225<change type="feature">
13226<para lang="ru">
13227директива set_real_ip_from поддерживает IPv6 адреса в заголовках запроса.
13228</para>
13229<para lang="en">
13230the "set_real_ip_from" directive supports IPv6 addresses in request headers.
13231</para>
13232</change>
13233
13234<change type="feature">
13235<para lang="ru">
13236параметр "unix:" в директиве set_real_ip_from.
13237</para>
13238<para lang="en">
13239the "unix:" parameter of the "set_real_ip_from" directive.
13240</para>
13241</change>
13242
13243<change type="bugfix">
13244<para lang="ru">
13245nginx не удалял unix domain сокет после тестирования конфигурации.
13246</para>
13247<para lang="en">
13248nginx did not delete unix domain socket after configuration testing.
13249</para>
13250</change>
13251
13252<change type="bugfix">
13253<para lang="ru">
13254nginx удалял unix domain сокет во время обновления без перерыва.
13255</para>
13256<para lang="en">
13257nginx deleted unix domain socket while online upgrade.
13258</para>
13259</change>
13260
13261<change type="bugfix">
13262<para lang="ru">
13263оператор "!-x" не работал.<br/>
13264Спасибо Максиму Дунину.
13265</para>
13266<para lang="en">
13267the "!-x" operator did not work.<br/>
13268Thanks to Maxim Dounin.
13269</para>
13270</change>
13271
13272<change type="bugfix">
13273<para lang="ru">
13274в рабочем процессе мог произойти segmentation fault
13275при использовании limit_rate в HTTPS сервере.<br/>
13276Спасибо Максиму Дунину.
13277</para>
13278<para lang="en">
13279a segmentation fault might occur in a worker process,
13280if limit_rate was used in HTTPS server.<br/>
13281Thanks to Maxim Dounin.
13282</para>
13283</change>
13284
13285<change type="bugfix">
13286<para lang="ru">
13287при записи в лог переменной $limit_rate
13288в рабочем процессе происходил segmentation fault.<br/>
13289Спасибо Максиму Дунину.
13290</para>
13291<para lang="en">
13292a segmentation fault might occur in a worker process
13293while $limit_rate logging.<br/>
13294Thanks to Maxim Dounin.
13295</para>
13296</change>
13297
13298<change type="bugfix">
13299<para lang="ru">
13300в рабочем процессе мог произойти segmentation fault,
13301если внутри блока server не было директивы listen;
13302ошибка появилась в 0.8.21.
13303</para>
13304<para lang="en">
13305a segmentation fault might occur in a worker process,
13306if there was no "listen" directive in "server" block;
13307the bug had appeared in 0.8.21.
13308</para>
13309</change>
13310
13311</changes>
13312
13313
13314<changes ver="0.8.21" date="2009-10-26">
13315
13316<change type="feature">
13317<para lang="ru">
13318теперь ключ -V показывает статус поддержки TLS SNI.
13319</para>
13320<para lang="en">
13321now the "-V" switch shows TLS SNI support.
13322</para>
13323</change>
13324
13325<change type="feature">
13326<para lang="ru">
13327директива listen модуля HTTP поддерживает unix domain сокеты.<br/>
13328Спасибо Hongli Lai.
13329</para>
13330<para lang="en">
13331the "listen" directive of the HTTP module supports unix domain sockets.<br/>
13332Thanks to Hongli Lai.
13333</para>
13334</change>
13335
13336<change type="feature">
13337<para lang="ru">
13338параметр "default_server" в директиве listen.
13339</para>
13340<para lang="en">
13341the "default_server" parameter of the "listen" directive.
13342</para>
13343</change>
13344
13345<change type="feature">
13346<para lang="ru">
13347теперь параметр "default" не обязателен для установки параметров listen-сокета.
13348</para>
13349<para lang="en">
13350now a "default" parameter is not required to set listen socket options.
13351</para>
13352</change>
13353
13354<change type="bugfix">
13355<para lang="ru">
13356nginx не поддерживал даты в 2038 году на 32-битных платформах;
13357</para>
13358<para lang="en">
13359nginx did not support dates in 2038 year on 32-bit platforms;
13360</para>
13361</change>
13362
13363<change type="bugfix">
13364<para lang="ru">
13365утечки сокетов;
13366ошибка появилась в 0.8.11.
13367</para>
13368<para lang="en">
13369socket leak;
13370the bug had appeared in 0.8.11.
13371</para>
13372</change>
13373
13374</changes>
13375
13376
13377<changes ver="0.8.20" date="2009-10-14">
13378
13379<change type="change">
13380<para lang="ru">
13381теперь по умолчанию используются следующие шифры SSL: "HIGH:!ADH:!MD5".
13382</para>
13383<para lang="en">
13384now default SSL ciphers are "HIGH:!ADH:!MD5".
13385</para>
13386</change>
13387
13388<change type="bugfix">
13389<para lang="ru">
13390модуль ngx_http_autoindex_module не показывал последний слэш для линков
13391на каталоги;
13392ошибка появилась в 0.7.15.
13393</para>
13394<para lang="en">
13395the ngx_http_autoindex_module did not show the trailing slash in links to
13396a directory;
13397the bug had appeared in 0.7.15.
13398</para>
13399</change>
13400
13401<change type="bugfix">
13402<para lang="ru">
13403nginx не закрывал лог, заданный параметром конфигурации --error-log-path;
13404ошибка появилась в 0.7.53.
13405</para>
13406<para lang="en">
13407nginx did not close a log file set by the --error-log-path configuration option;
13408the bug had appeared in 0.7.53.
13409</para>
13410</change>
13411
13412<change type="bugfix">
13413<para lang="ru">
13414nginx не считал запятую разделителем в строке "Cache-Control" в
13415заголовке ответа бэкенда.
13416</para>
13417<para lang="en">
13418nginx did not treat a comma as separator in the "Cache-Control" backend response
13419header line.
13420</para>
13421</change>
13422
13423<change type="bugfix">
13424<para lang="ru">
13425nginx/Windows мог не создать временный файл, файл в кэше или файл
13426с помощью директив proxy/fastcgi_store, если рабочий процесс не имел
13427достаточно прав для работы с каталогами верхнего уровня.
13428</para>
13429<para lang="en">
13430nginx/Windows might not create temporary file, a cache file, or
13431"proxy/fastcgi_store"d file if a worker had no enough access rights
13432for top level directories.
13433</para>
13434</change>
13435
13436<change type="bugfix">
13437<para lang="ru">
13438строки "Set-Cookie" и "P3P" в заголовке ответа FastCGI-сервера не скрывались
13439при кэшировании, если не использовались директивы fastcgi_hide_header
13440с любыми параметрами.
13441</para>
13442<para lang="en">
13443the "Set-Cookie" and "P3P" FastCGI response header lines were not hidden
13444while caching if no "fastcgi_hide_header" directives were used with
13445any parameters.
13446</para>
13447</change>
13448
13449<change type="bugfix">
13450<para lang="ru">
13451nginx неверно считал размер кэша на диске.
13452</para>
13453<para lang="en">
13454nginx counted incorrectly disk cache size.
13455</para>
13456</change>
13457
13458</changes>
13459
13460
13461<changes ver="0.8.19" date="2009-10-06">
13462
13463<change type="change">
13464<para lang="ru">
13465теперь протокол SSLv2 по умолчанию запрещён.
13466</para>
13467<para lang="en">
13468now SSLv2 protocol is disabled by default.
13469</para>
13470</change>
13471
13472<change type="change">
13473<para lang="ru">
13474теперь по умолчанию используются следующие шифры SSL:
13475"ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
13476</para>
13477<para lang="en">
13478now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
13479</para>
13480</change>
13481
13482<change type="bugfix">
13483<para lang="ru">
13484директива limit_req не работала;
13485ошибка появилась в 0.8.18.
13486</para>
13487<para lang="en">
13488a "limit_req" directive did not work;
13489the bug had appeared in 0.8.18.
13490</para>
13491</change>
13492
13493</changes>
13494
13495
13496<changes ver="0.8.18" date="2009-10-06">
13497
13498<change type="feature">
13499<para lang="ru">
13500директива read_ahead.
13501</para>
13502<para lang="en">
13503the "read_ahead" directive.
13504</para>
13505</change>
13506
13507<change type="feature">
13508<para lang="ru">
13509теперь можно использовать несколько директив perl_modules.
13510</para>
13511<para lang="en">
13512now several "perl_modules" directives may be used.
13513</para>
13514</change>
13515
13516<change type="feature">
13517<para lang="ru">
13518директивы limit_req_log_level и limit_conn_log_level.
13519</para>
13520<para lang="en">
13521the "limit_req_log_level" and "limit_conn_log_level" directives.
13522</para>
13523</change>
13524
13525<change type="bugfix">
13526<para lang="ru">
13527теперь директива limit_req соответствует алгоритму leaky bucket.<br/>
13528Спасибо Максиму Дунину.
13529</para>
13530<para lang="en">
13531now "limit_req" directive conforms to the leaky bucket algorithm.<br/>
13532Thanks to Maxim Dounin.
13533</para>
13534</change>
13535
13536<change type="bugfix">
13537<para lang="ru">
13538nginx не работал на Linux/sparc.<br/>
13539Спасибо Marcus Ramberg.
13540</para>
13541<para lang="en">
13542nginx did not work on Linux/sparc.<br/>
13543Thanks to Marcus Ramberg.
13544</para>
13545</change>
13546
13547<change type="bugfix">
13548<para lang="ru">
13549nginx слал символ '\0' в строке "Location" в заголовке в ответе на запрос
13550MKCOL.<br/>
13551Спасибо Xie Zhenye.
13552</para>
13553<para lang="en">
13554nginx sent '\0' in a "Location" response header line on MKCOL request.<br/>
13555Thanks to Xie Zhenye.
13556</para>
13557</change>
13558
13559<change type="bugfix">
13560<para lang="ru">
13561вместо кода ответа 499 в лог записывался код 0;
13562ошибка появилась в 0.8.11.
13563</para>
13564<para lang="en">
13565zero status code was logged instead of 499 status code;
13566the bug had appeared in 0.8.11.
13567</para>
13568</change>
13569
13570<change type="bugfix">
13571<para lang="ru">
13572утечки сокетов;
13573ошибка появилась в 0.8.11.
13574</para>
13575<para lang="en">
13576socket leak;
13577the bug had appeared in 0.8.11.
13578</para>
13579</change>
13580
13581</changes>
13582
13583
13584<changes ver="0.8.17" date="2009-09-28">
13585
13586<change type="security">
13587<para lang="ru">
13588теперь символы "/../" запрещены в строке "Destination" в заголовке запроса.
13589</para>
13590<para lang="en">
13591now "/../" are disabled in "Destination" request header line.
13592</para>
13593</change>
13594
13595<change type="change">
13596<para lang="ru">
13597теперь значение переменной $host всегда в нижнем регистре.
13598</para>
13599<para lang="en">
13600now $host variable value is always low case.
13601</para>
13602</change>
13603
13604<change type="feature">
13605<para lang="ru">
13606переменная $ssl_session_id.
13607</para>
13608<para lang="en">
13609the $ssl_session_id variable.
13610</para>
13611</change>
13612
13613<change type="bugfix">
13614<para lang="ru">
13615утечки сокетов;
13616ошибка появилась в 0.8.11.
13617</para>
13618<para lang="en">
13619socket leak;
13620the bug had appeared in 0.8.11.
13621</para>
13622</change>
13623
13624</changes>
13625
13626
13627<changes ver="0.8.16" date="2009-09-22">
13628
13629<change type="feature">
13630<para lang="ru">
13631директива image_filter_transparency.
13632</para>
13633<para lang="en">
13634the "image_filter_transparency" directive.
13635</para>
13636</change>
13637
13638<change type="bugfix">
13639<para lang="ru">
13640директива "addition_types" была неверно названа "addtion_types".
13641</para>
13642<para lang="en">
13643"addition_types" directive was incorrectly named "addtion_types".
13644</para>
13645</change>
13646
13647<change type="bugfix">
13648<para lang="ru">
13649порчи кэша resolver'а.<br/>
13650Спасибо Matthew Dempsky.
13651</para>
13652<para lang="en">
13653resolver cache poisoning.<br/>
13654Thanks to Matthew Dempsky.
13655</para>
13656</change>
13657
13658<change type="bugfix">
13659<para lang="ru">
13660утечки памяти в resolver'е.<br/>
13661Спасибо Matthew Dempsky.
13662</para>
13663<para lang="en">
13664memory leak in resolver.<br/>
13665Thanks to Matthew Dempsky.
13666</para>
13667</change>
13668
13669<change type="bugfix">
13670<para lang="ru">
13671неверная строка запроса в переменной $request записывалась в access_log
13672только при использовании error_log на уровне info или debug.
13673</para>
13674<para lang="en">
13675invalid request line in $request variable was written in access_log
13676only if error_log was set to "info" or "debug" level.
13677</para>
13678</change>
13679
13680<change type="bugfix">
13681<para lang="ru">
13682в поддержке альфа-канала PNG в модуле ngx_http_image_filter_module.
13683</para>
13684<para lang="en">
13685in PNG alpha-channel support in the ngx_http_image_filter_module.
13686</para>
13687</change>
13688
13689<change type="bugfix">
13690<para lang="ru">
13691nginx всегда добавлял строку "Vary: Accept-Encoding" в заголовок ответа,
13692если обе директивы gzip_static и gzip_vary были включены.
13693</para>
13694<para lang="en">
13695nginx always added "Vary: Accept-Encoding" response header line,
13696if both "gzip_static" and "gzip_vary" were on.
13697</para>
13698</change>
13699
13700<change type="bugfix">
13701<para lang="ru">
13702в поддержке кодировки UTF-8 директивой try_files в nginx/Windows.
13703</para>
13704<para lang="en">
13705in UTF-8 encoding support by "try_files" directive in nginx/Windows.
13706</para>
13707</change>
13708
13709<change type="bugfix">
13710<para lang="ru">
13711ошибки при использовании post_action;
13712ошибка появилась в 0.8.11.<br/>
13713Спасибо Игорю Артемьеву.
13714</para>
13715<para lang="en">
13716in "post_action" directive usage;
13717the bug had appeared in 0.8.11.<br/>
13718Thanks to Igor Artemiev.
13719</para>
13720</change>
13721
13722</changes>
13723
13724
13725<changes ver="0.8.15" date="2009-09-14">
13726
13727<change type="security">
13728<para lang="ru">
13729при обработке специально созданного запроса
13730в рабочем процессе мог произойти segmentation fault.<br/>
13731Спасибо Chris Ries.
13732</para>
13733<para lang="en">
13734a segmentation fault might occur in worker process
13735while specially crafted request handling.<br/>
13736Thanks to Chris Ries.
13737</para>
13738</change>
13739
13740<change type="bugfix">
13741<para lang="ru">
13742если были описаны имена .domain.tld, .sub.domain.tld и .domain-some.tld,
13743то имя .sub.domain.tld попадало под маску .domain.tld.
13744</para>
13745<para lang="en">
13746if names .domain.tld, .sub.domain.tld, and .domain-some.tld were defined,
13747then the name .sub.domain.tld was matched by .domain.tld.
13748</para>
13749</change>
13750
13751<change type="bugfix">
13752<para lang="ru">
13753в поддержке прозрачности в модуле ngx_http_image_filter_module.
13754</para>
13755<para lang="en">
13756in transparency support in the ngx_http_image_filter_module.
13757</para>
13758</change>
13759
13760<change type="bugfix">
13761<para lang="ru">
13762в файловом AIO.
13763</para>
13764<para lang="en">
13765in file AIO.
13766</para>
13767</change>
13768
13769<change type="bugfix">
13770<para lang="ru">
13771ошибки при использовании X-Accel-Redirect;
13772ошибка появилась в 0.8.11.
13773</para>
13774<para lang="en">
13775in X-Accel-Redirect usage;
13776the bug had appeared in 0.8.11.
13777</para>
13778</change>
13779
13780<change type="bugfix">
13781<para lang="ru">
13782ошибки при использовании встроенного перла;
13783ошибка появилась в 0.8.11.
13784</para>
13785<para lang="en">
13786in embedded perl module;
13787the bug had appeared in 0.8.11.
13788</para>
13789</change>
13790
13791</changes>
13792
13793
13794<changes ver="0.8.14" date="2009-09-07">
13795
13796<change type="bugfix">
13797<para lang="ru">
13798устаревший закэшированный запрос мог залипнуть в состоянии "UPDATING".
13799</para>
13800<para lang="en">
13801an expired cached response might stick in the "UPDATING" state.
13802</para>
13803</change>
13804
13805<change type="bugfix">
13806<para lang="ru">
13807при использовании error_log на уровне info или debug
13808в рабочем процессе мог произойти segmentation fault.<br/>
13809Спасибо Сергею Боченкову.
13810</para>
13811<para lang="en">
13812a segmentation fault might occur in worker process,
13813if error_log was set to info or debug level.<br/>
13814Thanks to Sergey Bochenkov.
13815</para>
13816</change>
13817
13818<change type="bugfix">
13819<para lang="ru">
13820ошибки при использовании встроенного перла;
13821ошибка появилась в 0.8.11.
13822</para>
13823<para lang="en">
13824in embedded perl module;
13825the bug had appeared in 0.8.11.
13826</para>
13827</change>
13828
13829<change type="bugfix">
13830<para lang="ru">
13831директива error_page не перенаправляла ошибку 413;
13832ошибка появилась в 0.6.10.
13833</para>
13834<para lang="en">
13835an "error_page" directive did not redirect a 413 error;
13836the bug had appeared in 0.6.10.
13837</para>
13838</change>
13839
13840</changes>
13841
13842
13843<changes ver="0.8.13" date="2009-08-31">
13844
13845<change type="bugfix">
13846<para lang="ru">
13847в директиве "aio sendfile";
13848ошибка появилась в 0.8.12.
13849</para>
13850<para lang="en">
13851in the "aio sendfile" directive;
13852the bug had appeared in 0.8.12.
13853</para>
13854</change>
13855
13856<change type="bugfix">
13857<para lang="ru">
13858nginx не собирался без параметра --with-file-aio на FreeBSD;
13859ошибка появилась в 0.8.12.
13860</para>
13861<para lang="en">
13862nginx could not be built without the --with-file-aio option on FreeBSD;
13863the bug had appeared in 0.8.12.
13864</para>
13865</change>
13866
13867</changes>
13868
13869
13870<changes ver="0.8.12" date="2009-08-31">
13871
13872<change type="feature">
13873<para lang="ru">
13874параметр sendfile в директиве aio во FreeBSD.
13875</para>
13876<para lang="en">
13877the "sendfile" parameter in the "aio" directive on FreeBSD.
13878</para>
13879</change>
13880
13881<change type="bugfix">
13882<para lang="ru">
13883ошибки при использовании try_files;
13884ошибка появилась в 0.8.11.
13885</para>
13886<para lang="en">
13887in try_files;
13888the bug had appeared in 0.8.11.
13889</para>
13890</change>
13891
13892<change type="bugfix">
13893<para lang="ru">
13894ошибки при использовании memcached;
13895ошибка появилась в 0.8.11.
13896</para>
13897<para lang="en">
13898in memcached;
13899the bug had appeared in 0.8.11.
13900</para>
13901</change>
13902
13903</changes>
13904
13905<changes ver="0.8.11" date="2009-08-28">
13906
13907<change type="change">
13908<para lang="ru">
13909теперь директива "gzip_disable msie6" не запрещает сжатие для
13910<nobr>MSIE 6.0 SV1.</nobr>
13911</para>
13912<para lang="en">
13913now directive "gzip_disable msie6" does not disable gzipping for
13914<nobr>MSIE 6.0 SV1.</nobr>
13915</para>
13916</change>
13917
13918<change type="feature">
13919<para lang="ru">
13920поддержка файлового AIO во FreeBSD и Linux.
13921</para>
13922<para lang="en">
13923file AIO support on FreeBSD and Linux.
13924</para>
13925</change>
13926
13927<change type="feature">
13928<para lang="ru">
13929директива directio_alignment.
13930</para>
13931<para lang="en">
13932the "directio_alignment" directive.
13933</para>
13934</change>
13935
13936</changes>
13937
13938
13939<changes ver="0.8.10" date="2009-08-24">
13940
13941<change type="bugfix">
13942<para lang="ru">
13943утечек памяти при использовании базы GeoIP City.
13944</para>
13945<para lang="en">
13946memory leaks if GeoIP City database was used.
13947</para>
13948</change>
13949
13950<change type="bugfix">
13951<para lang="ru">
13952ошибки при копировании временных файлов в постоянное место хранения;
13953ошибка появилась в 0.8.9.
13954</para>
13955<para lang="en">
13956in copying temporary files to permanent storage area;
13957the bug had appeared in 0.8.9.
13958</para>
13959</change>
13960
13961</changes>
13962
13963
13964<changes ver="0.8.9" date="2009-08-17">
13965
13966<change type="feature">
13967<para lang="ru">
13968теперь стартовый загрузчик кэша работает в отдельном процесс;
13969это должно улучшить обработку больших кэшей.
13970</para>
13971<para lang="en">
13972now the start cache loader runs in a separate process;
13973this should improve large caches handling.
13974</para>
13975</change>
13976
13977<change type="feature">
13978<para lang="ru">
13979теперь временные файлы и постоянное место хранения могут располагаться
13980на разных файловых системах.
13981</para>
13982<para lang="en">
13983now temporary files and permanent storage area may reside at
13984different file systems.
13985</para>
13986</change>
13987
13988</changes>
13989
13990
13991<changes ver="0.8.8" date="2009-08-10">
13992
13993<change type="bugfix">
13994<para lang="ru">
13995в обработке заголовков ответа, разделённых в FastCGI-записях.
13996</para>
13997<para lang="en">
13998in handling FastCGI headers split in records.
13999</para>
14000</change>
14001
14002<change type="bugfix">
14003<para lang="ru">
14004если запрос обрабатывался в двух проксированных или FastCGI location'ах
14005и в первом из них использовалось кэширование,
14006то в рабочем процессе происходил segmentation fault;
14007ошибка появилась в 0.8.7.
14008</para>
14009<para lang="en">
14010a segmentation fault occurred in worker process,
14011if a request was handled in two proxied or FastCGIed locations
14012and a caching was enabled in the first location;
14013the bug had appeared in 0.8.7.
14014</para>
14015</change>
14016
14017</changes>
14018
14019
14020<changes ver="0.8.7" date="2009-07-27">
14021
14022<change type="change">
14023<para lang="ru">
14024минимальная поддерживаемая версия OpenSSL&mdash;0.9.7.
14025</para>
14026<para lang="en">
14027minimum supported OpenSSL version is 0.9.7.
14028</para>
14029</change>
14030
14031<change type="change">
14032<para lang="ru">
14033параметр ask директивы ssl_verify_client изменён на параметр optional
14034и теперь он проверяет клиентский сертификат, если он был предложен.<br/>
14035Спасибо Brice Figureau.
14036</para>
14037<para lang="en">
14038the "ask" parameter of the "ssl_verify_client" directive was changed
14039to the "optional" parameter and now it checks a client certificate if it was
14040offered.<br/>
14041Thanks to Brice Figureau.
14042</para>
14043</change>
14044
14045<change type="feature">
14046<para lang="ru">
14047переменная $ssl_client_verify.<br/>
14048Спасибо Brice Figureau.
14049</para>
14050<para lang="en">
14051the $ssl_client_verify variable.<br/>
14052Thanks to Brice Figureau.
14053</para>
14054</change>
14055
14056<change type="feature">
14057<para lang="ru">
14058директива ssl_crl.<br/>
14059Спасибо Brice Figureau.
14060</para>
14061<para lang="en">
14062the "ssl_crl" directive.<br/>
14063Thanks to Brice Figureau.
14064</para>
14065</change>
14066
14067<change type="feature">
14068<para lang="ru">
14069параметр proxy директивы geo.
14070</para>
14071<para lang="en">
14072the "proxy" parameter of the "geo" directive.
14073</para>
14074</change>
14075
14076<change type="feature">
14077<para lang="ru">
14078директива image_filter поддерживает переменные для задания размеров.
14079</para>
14080<para lang="en">
14081the "image_filter" directive supports variables for setting size.
14082</para>
14083</change>
14084
14085<change type="bugfix">
14086<para lang="ru">
14087использование переменной $ssl_client_cert портило память;
14088ошибка появилась в 0.7.7.<br/>
14089Спасибо Сергею Журавлёву.
14090</para>
14091<para lang="en">
14092the $ssl_client_cert variable usage corrupted memory;
14093the bug had appeared in 0.7.7.<br/>
14094Thanks to Sergey Zhuravlev.
14095</para>
14096</change>
14097
14098<change type="bugfix">
14099<para lang="ru">
14100директивы proxy_pass_header и fastcgi_pass_header" не передавали клиенту
14101строки "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering" и
14102"X-Accel-Charset" из заголовка ответа бэкенда.<br/>
14103Спасибо Максиму Дунину.
14104</para>
14105<para lang="en">
14106"proxy_pass_header" and "fastcgi_pass_header" directives did not pass to
14107a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering",
14108and "X-Accel-Charset" lines from backend response header.<br/>
14109Thanks to Maxim Dounin.
14110</para>
14111</change>
14112
14113<change type="bugfix">
14114<para lang="ru">
14115в обработке строк "Last-Modified" и "Accept-Ranges" в заголовке ответа бэкенда;
14116ошибка появилась в 0.7.44.<br/>
14117Спасибо Максиму Дунину.
14118</para>
14119<para lang="en">
14120in handling "Last-Modified" and "Accept-Ranges" backend response header lines;
14121the bug had appeared in 0.7.44.<br/>
14122Thanks to Maxim Dounin.
14123</para>
14124</change>
14125
14126<change type="bugfix">
14127<para lang="ru">
14128ошибки "[alert] zero size buf" при получении пустых ответы в подзапросах;
14129ошибка появилась в 0.8.5.
14130</para>
14131<para lang="en">
14132the "[alert] zero size buf" error if subrequest returns an empty response;
14133the bug had appeared in 0.8.5.
14134</para>
14135</change>
14136
14137</changes>
14138
14139
14140<changes ver="0.8.6" date="2009-07-20">
14141
14142<change type="feature">
14143<para lang="ru">
14144модуль ngx_http_geoip_module.
14145</para>
14146<para lang="en">
14147the ngx_http_geoip_module.
14148</para>
14149</change>
14150
14151<change type="bugfix">
14152<para lang="ru">
14153XSLT-фильтр мог выдавать ошибку "not well formed XML document" для
14154правильного документа.<br/>
14155Спасибо Kuramoto Eiji.
14156</para>
14157<para lang="en">
14158XSLT filter may fail with message "not well formed XML document"
14159for valid XML document.<br/>
14160Thanks to Kuramoto Eiji.
14161</para>
14162</change>
14163
14164<change type="bugfix">
14165<para lang="ru">
14166в MacOSX, Cygwin и nginx/Windows при проверке location'ов, заданных
14167регулярным выражением, теперь всегда делается сравнение без учёта
14168регистра символов.
14169</para>
14170<para lang="en">
14171now in MacOSX, Cygwin, and nginx/Windows locations given by a regular
14172expression are always tested in case insensitive mode.
14173</para>
14174</change>
14175
14176<change type="bugfix">
14177<para lang="ru">
14178теперь nginx/Windows игнорирует точки в конце URI.<br/>
14179Спасибо Hugo Leisink.
14180</para>
14181<para lang="en">
14182now nginx/Windows ignores trailing dots in URI.<br/>
14183Thanks to Hugo Leisink.
14184</para>
14185</change>
14186
14187<change type="bugfix">
14188<para lang="ru">
14189имя файла указанного в --conf-path игнорировалось при установке;
14190ошибка появилась в 0.6.6.<br/>
14191Спасибо Максиму Дунину.
14192</para>
14193<para lang="en">
14194name of file specified in --conf-path was not honored during installation;
14195the bug had appeared in 0.6.6.<br/>
14196Thanks to Maxim Dounin.
14197</para>
14198</change>
14199
14200</changes>
14201
14202
14203<changes ver="0.8.5" date="2009-07-13">
14204
14205<change type="bugfix">
14206<para lang="ru">
14207теперь nginx разрешает подчёркивания в методе запроса.
14208</para>
14209<para lang="en">
14210now nginx allows underscores in a request method.
14211</para>
14212</change>
14213
14214<change type="bugfix">
14215<para lang="ru">
14216при использовании HTTP Basic-аутентификации на Windows
14217для неверных имени/пароля возвращалась 500-ая ошибка.
14218</para>
14219<para lang="en">
14220a 500 error code was returned for invalid login/password while HTTP
14221Basic authentication on Windows.
14222</para>
14223</change>
14224
14225<change type="bugfix">
14226<para lang="ru">
14227ответы модуля ngx_http_perl_module не работали в подзапросах.
14228</para>
14229<para lang="en">
14230ngx_http_perl_module responses did not work in subrequests.
14231</para>
14232</change>
14233
14234<change type="bugfix">
14235<para lang="ru">
14236в модуле ngx_http_limit_req_module.<br/>
14237Спасибо Максиму Дунину.
14238</para>
14239<para lang="en">
14240in ngx_http_limit_req_module.<br/>
14241Thanks to Maxim Dounin.
14242</para>
14243</change>
14244
14245</changes>
14246
14247
14248<changes ver="0.8.4" date="2009-06-22">
14249
14250<change type="bugfix">
14251<para lang="ru">
14252nginx не собирался с параметром --without-http-cache;
14253ошибка появилась в 0.8.3.
14254</para>
14255<para lang="en">
14256nginx could not be built --without-http-cache;
14257the bug had appeared in 0.8.3.
14258</para>
14259</change>
14260
14261</changes>
14262
14263
14264<changes ver="0.8.3" date="2009-06-19">
14265
14266<change type="feature">
14267<para lang="ru">
14268переменная $upstream_cache_status.
14269</para>
14270<para lang="en">
14271the $upstream_cache_status variable.
14272</para>
14273</change>
14274
14275<change type="bugfix">
14276<para lang="ru">
14277nginx не собирался на MacOSX 10.6.
14278</para>
14279<para lang="en">
14280nginx could not be built on MacOSX 10.6.
14281</para>
14282</change>
14283
14284<change type="bugfix">
14285<para lang="ru">
14286nginx не собирался с параметром --without-http-cache;
14287ошибка появилась в 0.8.2.
14288</para>
14289<para lang="en">
14290nginx could not be built --without-http-cache;
14291the bug had appeared in 0.8.2.
14292</para>
14293</change>
14294
14295<change type="bugfix">
14296<para lang="ru">
14297если использовался перехват 401 ошибки от бэкенда и бэкенд
14298не возвращал строку "WWW-Authenticate" в заголовке ответа,
14299то в рабочем процессе происходил segmentation fault.<br/>
14300Спасибо Евгению Мычло.
14301</para>
14302<para lang="en">
14303a segmentation fault occurred in worker process,
14304if a backend 401 error was intercepted and the backend did not set
14305the "WWW-Authenticate" response header line.<br/>
14306Thanks to Eugene Mychlo.
14307</para>
14308</change>
14309
14310</changes>
14311
14312
14313<changes ver="0.8.2" date="2009-06-15">
14314
14315<change type="bugfix">
14316<para lang="ru">
14317во взаимодействии open_file_cache и proxy/fastcgi кэша на старте.
14318</para>
14319<para lang="en">
14320in open_file_cache and proxy/fastcgi cache interaction on start up.
14321</para>
14322</change>
14323
14324<change type="bugfix">
14325<para lang="ru">
14326open_file_cache мог кэшировать открытые файлы очень долго;
14327ошибка появилась в 0.7.4.
14328</para>
14329<para lang="en">
14330open_file_cache might cache open file descriptors too long;
14331the bug had appeared in 0.7.4.
14332</para>
14333</change>
14334
14335</changes>
14336
14337
14338<changes ver="0.8.1" date="2009-06-08">
14339
14340<change type="feature">
14341<para lang="ru">
14342параметр updating в директивах proxy_cache_use_stale и fastcgi_cache_use_stale.
14343</para>
14344<para lang="en">
14345the "updating" parameter in "proxy_cache_use_stale" and
14346"fastcgi_cache_use_stale" directives.
14347</para>
14348</change>
14349
14350<change type="bugfix">
14351<para lang="ru">
14352строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса
14353клиента передавались бэкенду при кэшировании, если не использовалась
14354директива proxy_set_header с любыми параметрами.
14355</para>
14356<para lang="en">
14357the "If-Modified-Since", "If-Range", etc. client request header lines
14358were passed to backend while caching if no "proxy_set_header" directive
14359was used with any parameters.
14360</para>
14361</change>
14362
14363<change type="bugfix">
14364<para lang="ru">
14365строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда не скрывались
14366при кэшировании, если не использовались директивы
14367proxy_hide_header/fastcgi_hide_header с любыми параметрами.
14368</para>
14369<para lang="en">
14370the "Set-Cookie" and "P3P" response header lines were not hidden while caching
14371if no "proxy_hide_header/fastcgi_hide_header" directives were used with
14372any parameters.
14373</para>
14374</change>
14375
14376<change type="bugfix">
14377<para lang="ru">
14378модуль ngx_http_image_filter_module не понимал формат GIF87a.<br/>
14379Спасибо Денису Ильиных.
14380</para>
14381<para lang="en">
14382the ngx_http_image_filter_module did not support GIF87a format.<br/>
14383Thanks to Denis Ilyinyh.
14384</para>
14385</change>
14386
14387<change type="bugfix">
14388<para lang="ru">
14389nginx не собирался на Solaris 10 и более ранних;
14390ошибка появилась в 0.7.56.
14391</para>
14392<para lang="en">
14393nginx could not be built modules on Solaris 10 and early;
14394the bug had appeared in 0.7.56.
14395</para>
14396</change>
14397
14398</changes>
14399
14400
14401<changes ver="0.8.0" date="2009-06-02">
14402
14403<change type="feature">
14404<para lang="ru">
14405директива keepalive_requests.
14406</para>
14407<para lang="en">
14408the "keepalive_requests" directive.
14409</para>
14410</change>
14411
14412<change type="feature">
14413<para lang="ru">
14414директива limit_rate_after.<br/>
14415Спасибо Ivan Debnar.
14416</para>
14417<para lang="en">
14418the "limit_rate_after" directive.<br/>
14419Thanks to Ivan Debnar.
14420</para>
14421</change>
14422
14423<change type="bugfix">
14424<para lang="ru">
14425XSLT-фильтр не работал в подзапросах.
14426</para>
14427<para lang="en">
14428XLST filter did not work in subrequests.
14429</para>
14430</change>
14431
14432<change type="bugfix">
14433<para lang="ru">
14434обработке относительных путей в nginx/Windows.
14435</para>
14436<para lang="en">
14437in relative paths handling in nginx/Windows.
14438</para>
14439</change>
14440
14441<change type="bugfix">
14442<para lang="ru">
14443в proxy_store, fastcgi_store, proxy_cache и fastcgi_cache в nginx/Windows.
14444</para>
14445<para lang="en">
14446in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache in nginx/Windows.
14447</para>
14448</change>
14449
14450<change type="bugfix">
14451<para lang="ru">
14452в обработке ошибок выделения памяти.<br/>
14453Спасибо Максиму Дунину и Кириллу Коринскому.
14454</para>
14455<para lang="en">
14456in memory allocation error handling.<br/>
14457Thanks to Maxim Dounin and Kirill A. Korinskiy.
14458</para>
14459</change>
14460
14461</changes>
14462
14463
14464<changes ver="0.7.59" date="2009-05-25">
14465
14466<change type="feature">
14467<para lang="ru">
14468директивы proxy_cache_methods и fastcgi_cache_methods.
14469</para>
14470<para lang="en">
14471the "proxy_cache_methods" and "fastcgi_cache_methods" directives.
14472</para>
14473</change>
14474
14475<change type="bugfix">
14476<para lang="ru">
14477утечки сокетов;
14478ошибка появилась в 0.7.25.<br/>
14479Спасибо Максиму Дунину.
14480</para>
14481<para lang="en">
14482socket leak;
14483the bug had appeared in 0.7.25.<br/>
14484Thanks to Maxim Dounin.
14485</para>
14486</change>
14487
14488<change type="bugfix">
14489<para lang="ru">
14490при использовании переменной $request_body
14491в рабочем процессе происходил segmentation fault,
14492если в запросе не было тела;
14493ошибка появилась в 0.7.58.
14494</para>
14495<para lang="en">
14496a segmentation fault occurred in worker process,
14497<nobr>if a request</nobr> had no body and the $request_body
14498variable was used;<br/>
14499the bug had appeared in 0.7.58.
14500</para>
14501</change>
14502
14503<change type="bugfix">
14504<para lang="ru">
14505SSL-модули могли не собираться на Solaris и Linux;
14506ошибка появилась в 0.7.56.
14507</para>
14508<para lang="en">
14509the SSL modules might not built on Solaris and Linux;<br/>
14510the bug had appeared in 0.7.56.
14511</para>
14512</change>
14513
14514<change type="bugfix">
14515<para lang="ru">
14516ответы модуля ngx_http_xslt_filter_module не обрабатывались
14517SSI-, charset- и gzip-фильтрами.
14518</para>
14519<para lang="en">
14520ngx_http_xslt_filter_module responses were not handled by SSI, charset,
14521and gzip filters.
14522</para>
14523</change>
14524
14525<change type="bugfix">
14526<para lang="ru">
14527директива charset не ставила кодировку для ответов модуля
14528ngx_http_gzip_static_module.
14529</para>
14530<para lang="en">
14531a "charset" directive did not set a charset to ngx_http_gzip_static_module
14532responses.
14533</para>
14534</change>
14535
14536</changes>
14537
14538
14539<changes ver="0.7.58" date="2009-05-18">
14540
14541<change type="feature">
14542<para lang="ru">
14543директива listen почтового прокси-сервера поддерживает IPv6.
14544</para>
14545<para lang="en">
14546a "listen" directive of the mail proxy module supports IPv6.
14547</para>
14548</change>
14549
14550<change type="feature">
14551<para lang="ru">
14552директива image_filter_jpeg_quality.
14553</para>
14554<para lang="en">
14555the "image_filter_jpeg_quality" directive.
14556</para>
14557</change>
14558
14559<change type="feature">
14560<para lang="ru">
14561директива client_body_in_single_buffer.
14562</para>
14563<para lang="en">
14564the "client_body_in_single_buffer" directive.
14565</para>
14566</change>
14567
14568<change type="feature">
14569<para lang="ru">
14570переменная $request_body.
14571</para>
14572<para lang="en">
14573the $request_body variable.
14574</para>
14575</change>
14576
14577<change type="bugfix">
14578<para lang="ru">
14579в модуле ngx_http_autoindex_module в ссылках на имена файлов,
14580содержащих символ ":".
14581</para>
14582<para lang="en">
14583in ngx_http_autoindex_module in file name links
14584having a ":" symbol in the name.
14585</para>
14586</change>
14587
14588<change type="bugfix">
14589<para lang="ru">
14590процедура "make upgrade" не работала;
14591ошибка появилась в 0.7.53.<br/>
14592Спасибо Денису Латыпову.
14593</para>
14594<para lang="en">
14595"make upgrade" procedure did not work;
14596the bug had appeared in 0.7.53.<br/>
14597Thanks to Denis F. Latypoff.
14598</para>
14599</change>
14600
14601</changes>
14602
14603
14604<changes ver="0.7.57" date="2009-05-12">
14605
14606<change type="bugfix">
14607<para lang="ru">
14608при перенаправлении ошибок модуля ngx_http_image_filter_module
14609в именованный location в рабочем процессе происходил floating-point fault;
14610ошибка появилась в 0.7.56.
14611</para>
14612<para lang="en">
14613a floating-point fault occurred in worker process,
14614if the ngx_http_image_filter_module errors were redirected to named location;
14615the bug had appeared in 0.7.56.
14616</para>
14617</change>
14618
14619</changes>
14620
14621
14622<changes ver="0.7.56" date="2009-05-11">
14623
14624<change type="feature">
14625<para lang="ru">
14626nginx/Windows поддерживает IPv6 в директиве listen модуля HTTP.
14627</para>
14628<para lang="en">
14629nginx/Windows supports IPv6 in a "listen" directive of the HTTP module.
14630</para>
14631</change>
14632
14633<change type="bugfix">
14634<para lang="ru">
14635в модуле ngx_http_image_filter_module.
14636</para>
14637<para lang="en">
14638in ngx_http_image_filter_module.
14639</para>
14640</change>
14641
14642</changes>
14643
14644
14645<changes ver="0.7.55" date="2009-05-06">
14646
14647<change type="bugfix">
14648<para lang="ru">
14649параметры http_XXX в директивах proxy_cache_use_stale
14650и fastcgi_cache_use_stale не работали.
14651</para>
14652<para lang="en">
14653the http_XXX parameters in "proxy_cache_use_stale" and
14654"fastcgi_cache_use_stale" directives did not work.
14655</para>
14656</change>
14657
14658<change type="bugfix">
14659<para lang="ru">
14660fastcgi кэш не кэшировал ответы, состоящие только из заголовка.
14661</para>
14662<para lang="en">
14663fastcgi cache did not cache header only responses.
14664</para>
14665</change>
14666
14667<change type="bugfix">
14668<para lang="ru">
14669ошибки "select() failed (9: Bad file descriptor)" в nginx/Unix
14670и "select() failed (10038: ...)" в nginx/Windows.
14671</para>
14672<para lang="en">
14673of "select() failed (9: Bad file descriptor)" error in nginx/Unix
14674and "select() failed (10038: ...)" error in nginx/Windows.
14675</para>
14676</change>
14677
14678<change type="bugfix">
14679<para lang="ru">
14680при использовании директивы debug_connection
14681в рабочем процессе мог произойти segmentation fault;
14682ошибка появилась в 0.7.54.
14683</para>
14684<para lang="en">
14685a segmentation fault might occur in worker process,
14686if an "debug_connection" directive was used;
14687the bug had appeared in 0.7.54.
14688</para>
14689</change>
14690
14691<change type="bugfix">
14692<para lang="ru">
14693в сборке модуля ngx_http_image_filter_module.
14694</para>
14695<para lang="en">
14696fix ngx_http_image_filter_module building errors.
14697</para>
14698</change>
14699
14700<change type="bugfix">
14701<para lang="ru">
14702файлы больше 2G не передавались с использованием $r->sendfile.<br/>
14703Спасибо Максиму Дунину.
14704</para>
14705<para lang="en">
14706the files bigger than 2G could not be transferred using $r->sendfile.<br/>
14707Thanks to Maxim Dounin.
14708</para>
14709</change>
14710
14711</changes>
14712
14713
14714<changes ver="0.7.54" date="2009-05-01">
14715
14716<change type="feature">
14717<para lang="ru">
14718модуль ngx_http_image_filter_module.
14719</para>
14720<para lang="en">
14721the ngx_http_image_filter_module.
14722</para>
14723</change>
14724
14725<change type="feature">
14726<para lang="ru">
14727директивы proxy_ignore_headers и fastcgi_ignore_headers.
14728</para>
14729<para lang="en">
14730the "proxy_ignore_headers" and "fastcgi_ignore_headers" directives.
14731</para>
14732</change>
14733
14734<change type="bugfix">
14735<para lang="ru">
14736при использовании переменных "open_file_cache_errors on"
14737в рабочем процессе мог произойти segmentation fault;
14738ошибка появилась в 0.7.53.
14739</para>
14740<para lang="en">
14741a segmentation fault might occur in worker process,
14742if an "open_file_cache_errors off" directive was used;
14743the bug had appeared in 0.7.53.
14744</para>
14745</change>
14746
14747<change type="bugfix">
14748<para lang="ru">
14749директива "port_in_redirect off" не работала;
14750ошибка появилась в 0.7.39.
14751</para>
14752<para lang="en">
14753the "port_in_redirect off" directive did not work;
14754the bug had appeared in 0.7.39.
14755</para>
14756</change>
14757
14758<change type="bugfix">
14759<para lang="ru">
14760улучшение обработки ошибок метода select.
14761</para>
14762<para lang="en">
14763improve handling of "select" method errors.
14764</para>
14765</change>
14766
14767<change type="bugfix">
14768<para lang="ru">
14769ошибки "select() failed (10022: ...)" в nginx/Windows.
14770</para>
14771<para lang="en">
14772of "select() failed (10022: ...)" error in nginx/Windows.
14773</para>
14774</change>
14775
14776<change type="bugfix">
14777<para lang="ru">
14778в текстовых сообщениях об ошибках в nginx/Windows;
14779ошибка появилась в 0.7.53.
14780</para>
14781<para lang="en">
14782in error text descriptions in nginx/Windows;
14783the bug had appeared in 0.7.53.
14784</para>
14785</change>
14786
14787</changes>
14788
14789
14790<changes ver="0.7.53" date="2009-04-27">
14791
14792<change type="change">
14793<para lang="ru">
14794теперь лог, указанный в --error-log-path, создаётся с самого начала работы.
14795</para>
14796<para lang="en">
14797now a log set by --error-log-path is created from the very start-up.
14798</para>
14799</change>
14800
14801<change type="feature">
14802<para lang="ru">
14803теперь ошибки и предупреждения при старте записываются в error_log
14804и выводятся на stderr.
14805</para>
14806<para lang="en">
14807now the start up errors and warnings are outputted to an error_log and stderr.
14808</para>
14809</change>
14810
14811<change type="feature">
14812<para lang="ru">
14813при сборке с пустым параметром --prefix= nginx использует как префикс каталог,
14814в котором он был запущен.
14815</para>
14816<para lang="en">
14817the empty --prefix= configure parameter forces nginx to use a directory
14818where it was run as prefix.
14819</para>
14820</change>
14821
14822<change type="feature">
14823<para lang="ru">
14824ключ -p.
14825</para>
14826<para lang="en">
14827the -p switch.
14828</para>
14829</change>
14830
14831<change type="feature">
14832<para lang="ru">
14833ключ -s на Unix-платформах.
14834</para>
14835<para lang="en">
14836the -s switch on Unix platforms.
14837</para>
14838</change>
14839
14840<change type="feature">
14841<para lang="ru">
14842ключи -? и -h.<br/>
14843Спасибо Jerome Loyet.
14844</para>
14845<para lang="en">
14846the -? and -h switches.<br/>
14847Thanks to Jerome Loyet.
14848</para>
14849</change>
14850
14851<change type="feature">
14852<para lang="ru">
14853теперь ключи можно задавать в сжатой форме.
14854</para>
14855<para lang="en">
14856now switches may be set in condensed form.
14857</para>
14858</change>
14859
14860<change type="bugfix">
14861<para lang="ru">
14862nginx/Windows не работал, если файл конфигурации был задан ключом -c.
14863</para>
14864<para lang="en">
14865nginx/Windows did not work if configuration file was given by the -c switch.
14866</para>
14867</change>
14868
14869<change type="bugfix">
14870<para lang="ru">
14871при использовании директив proxy_store, fastcgi_store,
14872proxy_cache или fastcgi_cache временные файлы могли не удаляться.<br/>
14873Спасибо Максиму Дунину.
14874</para>
14875<para lang="en">
14876temporary files might be not removed if the "proxy_store", "fastcgi_store",
14877"proxy_cache", or "fastcgi_cache" were used.<br/>
14878Thanks to Maxim Dounin.
14879</para>
14880</change>
14881
14882<change type="bugfix">
14883<para lang="ru">
14884в заголовке Auth-Method запроса серверу аутентификации почтового
14885прокси-сервера передавалось неверное значение;
14886ошибка появилась в 0.7.34.<br/>
14887Спасибо Simon Lecaille.
14888</para>
14889<para lang="en">
14890an incorrect value was passed to mail proxy authentication server
14891in "Auth-Method" header line;
14892the bug had appeared<br/>
14893in 0.7.34.<br/>
14894Thanks to Simon Lecaille.
14895</para>
14896</change>
14897
14898<change type="bugfix">
14899<para lang="ru">
14900при логгировании на Linux не писались текстовые описания системных ошибок;
14901ошибка появилась в 0.7.45.
14902</para>
14903<para lang="en">
14904system error text descriptions were not logged on Linux;<br/>
14905the bug had appeared in 0.7.45.
14906</para>
14907</change>
14908
14909<change type="bugfix">
14910<para lang="ru">
14911директива fastcgi_cache_min_uses не работала.<br/>
14912Спасибо Андрею Воробьёву.
14913</para>
14914<para lang="en">
14915the "fastcgi_cache_min_uses" directive did not work.<br/>
14916Thanks to Andrew Vorobyoff.
14917</para>
14918</change>
14919
14920</changes>
14921
14922
14923<changes ver="0.7.52" date="2009-04-20">
14924
14925<change type="feature">
14926<para lang="ru">
14927первая бинарная версия под Windows.
14928</para>
14929<para lang="en">
14930the first native Windows binary release.
14931</para>
14932</change>
14933
14934<change type="bugfix">
14935<para lang="ru">
14936корректная обработка метода HEAD при кэшировании.
14937</para>
14938<para lang="en">
14939in processing HEAD method while caching.
14940</para>
14941</change>
14942
14943<change type="bugfix">
14944<para lang="ru">
14945корректная обработка строк "If-Modified-Since", "If-Range" и им подобных
14946в заголовке запроса клиента при кэшировании.
14947</para>
14948<para lang="en">
14949in processing the "If-Modified-Since", "If-Range", etc. client request
14950header lines while caching.
14951</para>
14952</change>
14953
14954<change type="bugfix">
14955<para lang="ru">
14956теперь строки "Set-Cookie" и "P3P" скрываются в заголовке ответа
14957для закэшированных ответов.
14958</para>
14959<para lang="en">
14960now the "Set-Cookie" and "P3P" header lines are hidden in cacheable responses.
14961</para>
14962</change>
14963
14964<change type="bugfix">
14965<para lang="ru">
14966если nginx был собран с модулем ngx_http_perl_module и perl
14967поддерживал потоки, то при выходе основного процесса
14968могла выдаваться ошибка "panic: MUTEX_LOCK".
14969</para>
14970<para lang="en">
14971if nginx was built with the ngx_http_perl_module and with a perl which
14972supports threads, then during a master process exit
14973the message "panic: MUTEX_LOCK" might be issued.
14974</para>
14975</change>
14976
14977<change type="bugfix">
14978<para lang="ru">
14979nginx не собирался с параметром --without-http-cache;
14980ошибка появилась в 0.7.48.
14981</para>
14982<para lang="en">
14983nginx could not be built --without-http-cache;
14984the bug had appeared in 0.7.48.
14985</para>
14986</change>
14987
14988<change type="bugfix">
14989<para lang="ru">
14990nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
14991ошибка появилась в 0.7.42.
14992</para>
14993<para lang="en">
14994nginx could not be built on platforms different from i386, amd64, sparc,
14995and ppc;
14996the bug had appeared in 0.7.42.
14997</para>
14998</change>
14999
15000</changes>
15001
15002
15003<changes ver="0.7.51" date="2009-04-12">
15004
15005<change type="feature">
15006<para lang="ru">
15007директива try_files поддерживает код ответа в последнем параметре.
15008</para>
15009<para lang="en">
15010the "try_files" directive supports a response code in the fallback parameter.
15011</para>
15012</change>
15013
15014<change type="feature">
15015<para lang="ru">
15016теперь в директиве return можно использовать любой код ответа.
15017</para>
15018<para lang="en">
15019now any response code can be used in the "return" directive.
15020</para>
15021</change>
15022
15023<change type="bugfix">
15024<para lang="ru">
15025директива error_page делала внешний редирект без строки запроса;
15026ошибка появилась в 0.7.44.
15027</para>
15028<para lang="en">
15029the "error_page" directive made an external redirect without query string;
15030the bug had appeared in 0.7.44.
15031</para>
15032</change>
15033
15034<change type="bugfix">
15035<para lang="ru">
15036если сервера слушали на нескольких явно описанных адресах,
15037то виртуальные сервера могли не работать;
15038ошибка появилась в 0.7.39.
15039</para>
15040<para lang="en">
15041if servers listened on several defined explicitly addresses,
15042then virtual servers might not work;
15043the bug had appeared in 0.7.39.
15044</para>
15045</change>
15046
15047</changes>
15048
15049
15050<changes ver="0.7.50" date="2009-04-06">
15051
15052<change type="bugfix">
15053<para lang="ru">
15054переменные $arg_... не работали;
15055ошибка появилась в 0.7.49.
15056</para>
15057<para lang="en">
15058the $arg_... variables did not work;
15059the bug had appeared in 0.7.49.
15060</para>
15061</change>
15062
15063</changes>
15064
15065
15066<changes ver="0.7.49" date="2009-04-06">
15067
15068<change type="bugfix">
15069<para lang="ru">
15070при использовании переменных $arg_...
15071в рабочем процессе мог произойти segmentation fault;
15072ошибка появилась в 0.7.48.
15073</para>
15074<para lang="en">
15075a segmentation fault might occur in worker process,
15076if the $arg_... variables were used;
15077the bug had appeared in 0.7.48.
15078</para>
15079</change>
15080
15081</changes>
15082
15083
15084<changes ver="0.7.48" date="2009-04-06">
15085
15086<change type="feature">
15087<para lang="ru">
15088директива proxy_cache_key.
15089</para>
15090<para lang="en">
15091the "proxy_cache_key" directive.
15092</para>
15093</change>
15094
15095<change type="bugfix">
15096<para lang="ru">
15097теперь nginx учитывает при кэшировании строки "X-Accel-Expires",
15098"Expires" и "Cache-Control" в заголовке ответа бэкенда.
15099</para>
15100<para lang="en">
15101now nginx takes into account the "X-Accel-Expires", "Expires", and
15102"Cache-Control" header lines in a backend response.
15103</para>
15104</change>
15105
15106<change type="bugfix">
15107<para lang="ru">
15108теперь nginx кэширует только ответы на запросы GET.
15109</para>
15110<para lang="en">
15111now nginx caches responses for the GET requests only.
15112</para>
15113</change>
15114
15115<change type="bugfix">
15116<para lang="ru">
15117директива fastcgi_cache_key не наследовалась.
15118</para>
15119<para lang="en">
15120the "fastcgi_cache_key" directive was not inherited.
15121</para>
15122</change>
15123
15124<change type="bugfix">
15125<para lang="ru">
15126переменные $arg_... не работали с SSI-подзапросами.<br/>
15127Спасибо Максиму Дунину.
15128</para>
15129<para lang="en">
15130the $arg_... variables did not work with SSI subrequests.<br/>
15131Thanks to Maxim Dounin.
15132</para>
15133</change>
15134
15135<change type="bugfix">
15136<para lang="ru">
15137nginx не собирался с библиотекой uclibc.<br/>
15138Спасибо Timothy Redaelli.
15139</para>
15140<para lang="en">
15141nginx could not be built with uclibc library.<br/>
15142Thanks to Timothy Redaelli.
15143</para>
15144</change>
15145
15146<change type="bugfix">
15147<para lang="ru">
15148nginx не собирался на OpenBSD;
15149ошибка появилась <nobr>в 0.7.46.</nobr>
15150</para>
15151<para lang="en">
15152nginx could not be built on OpenBSD;
15153the bug had <nobr>appeared in 0.7.46.</nobr>
15154</para>
15155</change>
15156
15157</changes>
15158
15159
15160<changes ver="0.7.47" date="2009-04-01">
15161
15162<change type="bugfix">
15163<para lang="ru">
15164nginx не собирался на FreeBSD 6 и более ранних версиях;
15165ошибка появилась в 0.7.46.
15166</para>
15167<para lang="en">
15168nginx could not be built on FreeBSD 6 and early versions;
15169the bug had appeared in 0.7.46.
15170</para>
15171</change>
15172
15173<change type="bugfix">
15174<para lang="ru">
15175nginx не собирался на MacOSX;
15176ошибка появилась в 0.7.46.
15177</para>
15178<para lang="en">
15179nginx could not be built on MacOSX;
15180the bug had <nobr>appeared in 0.7.46.</nobr>
15181</para>
15182</change>
15183
15184<change type="bugfix">
15185<para lang="ru">
15186если использовался параметр max_size, то cache manager мог удалить весь кэш;
15187ошибка появилась в 0.7.46.
15188</para>
15189<para lang="en">
15190if the "max_size" parameter was set, then the cache manager might purge
15191a whole cache;
15192the bug had appeared in 0.7.46.
15193</para>
15194</change>
15195
15196<change type="change">
15197<para lang="ru">
15198в рабочем процессе мог произойти segmentation fault,
15199если директивы proxy_cache/fastcgi_cache
15200и proxy_cache_valid/ fastcgi_cache_valid не были заданы на одном уровне;
15201ошибка появилась в 0.7.46.
15202</para>
15203<para lang="en">
15204a segmentation fault might occur in worker process,
15205if the "proxy_cache"/"fastcgi_cache" and
15206the "proxy_cache_valid"/ "fastcgi_cache_valid" were set on different levels;
15207the bug had appeared in 0.7.46.
15208</para>
15209</change>
15210
15211<change type="bugfix">
15212<para lang="ru">
15213в рабочем процессе мог произойти segmentation fault
15214при перенаправлении запроса проксированному или FastCGI-серверу
15215с помощью error_page или try_files;
15216ошибка появилась в 0.7.44.
15217</para>
15218<para lang="en">
15219a segmentation fault might occur in worker process,
15220if a request was redirected to a proxied or FastCGI server via
15221error_page or try_files;
15222the bug had appeared in 0.7.44.
15223</para>
15224</change>
15225
15226</changes>
15227
15228
15229<changes ver="0.7.46" date="2009-03-30">
15230
15231<change type="bugfix">
15232<para lang="ru">
15233архив предыдущего релиза был неверным.
15234</para>
15235<para lang="en">
15236the previous release tarball was incorrect.
15237</para>
15238</change>
15239
15240</changes>
15241
15242
15243<changes ver="0.7.45" date="2009-03-30">
15244
15245<change type="change">
15246<para lang="ru">
15247теперь директивы proxy_cache и proxy_cache_valid можно задавать
15248на разных уровнях.
15249</para>
15250<para lang="en">
15251now the "proxy_cache" and the "proxy_cache_valid" directives can be set on
15252different levels.
15253</para>
15254</change>
15255
15256<change type="change">
15257<para lang="ru">
15258параметр clean_time в директиве proxy_cache_path удалён.
15259</para>
15260<para lang="en">
15261the "clean_time" parameter of the "proxy_cache_path" directive is canceled.
15262</para>
15263</change>
15264
15265<change type="feature">
15266<para lang="ru">
15267параметр max_size в директиве proxy_cache_path.
15268</para>
15269<para lang="en">
15270the "max_size" parameter of the "proxy_cache_path" directive.
15271</para>
15272</change>
15273
15274<change type="feature">
15275<para lang="ru">
15276предварительная поддержка кэширования в модуле ngx_http_fastcgi_module.
15277</para>
15278<para lang="en">
15279the ngx_http_fastcgi_module preliminary cache support.
15280</para>
15281</change>
15282
15283<change type="feature">
15284<para lang="ru">
15285теперь при ошибках выделения в разделяемой памяти в логе указываются
15286названия директивы и зоны.
15287</para>
15288<para lang="en">
15289now on shared memory allocation errors directive and zone names are logged.
15290</para>
15291</change>
15292
15293<change type="bugfix">
15294<para lang="ru">
15295директива "add_header last-modified ''" не удаляла в заголовке ответа
15296строку "Last-Modified";
15297ошибка появилась в 0.7.44.
15298</para>
15299<para lang="en">
15300the directive "add_header last-modified ''" did not delete a "Last-Modified"
15301response header line;
15302the bug had appeared in 0.7.44.
15303</para>
15304</change>
15305
15306<change type="bugfix">
15307<para lang="ru">
15308в директиве auth_basic_user_file не работал относительный путь,
15309заданный строкой без переменных;
15310ошибка появилась в 0.7.44.<br/>
15311Спасибо Jerome Loyet.
15312</para>
15313<para lang="en">
15314a relative path in the "auth_basic_user_file" directive given without variables
15315did not work;
15316the bug had appeared in 0.7.44.<br/>
15317Thanks to Jerome Loyet.
15318</para>
15319</change>
15320
15321<change type="bugfix">
15322<para lang="ru">
15323в директиве alias, заданной переменными
15324без ссылок на выделения в регулярных выражениях;
15325ошибка появилась в 0.7.42.
15326</para>
15327<para lang="en">
15328in an "alias" directive given using variables
15329without references to captures of regular expressions;
15330the bug had appeared in 0.7.42.
15331</para>
15332</change>
15333
15334</changes>
15335
15336
15337<changes ver="0.7.44" date="2009-03-23">
15338
15339<change type="feature">
15340<para lang="ru">
15341предварительная поддержка кэширования в модуле ngx_http_proxy_module.
15342</para>
15343<para lang="en">
15344the ngx_http_proxy_module preliminary cache support.
15345</para>
15346</change>
15347
15348<change type="feature">
15349<para lang="ru">
15350параметр --with-pcre в configure.
15351</para>
15352<para lang="en">
15353the --with-pcre option in the configure.
15354</para>
15355</change>
15356
15357<change type="feature">
15358<para lang="ru">
15359теперь директива try_files может быть использована на уровне server.
15360</para>
15361<para lang="en">
15362the "try_files" directive is now allowed on the server block level.
15363</para>
15364</change>
15365
15366<change type="bugfix">
15367<para lang="ru">
15368директива try_files неправильно обрабатывала строку запроса в последнем
15369параметре.
15370</para>
15371<para lang="en">
15372the "try_files" directive handled incorrectly a query string
15373in a fallback parameter.
15374</para>
15375</change>
15376
15377<change type="bugfix">
15378<para lang="ru">
15379директива try_files могла неверно тестировать каталоги.
15380</para>
15381<para lang="en">
15382the "try_files" directive might test incorrectly directories.
15383</para>
15384</change>
15385
15386<change type="bugfix">
15387<para lang="ru">
15388если для пары адрес:порт описан только один сервер, то выделения
15389в регулярных выражениях в директиве server_name не работали.
15390</para>
15391<para lang="en">
15392if there was a single server for given address:port pair,
15393then captures in regular expressions in a "server_name" directive did not work.
15394</para>
15395</change>
15396
15397</changes>
15398
15399
15400<changes ver="0.7.43" date="2009-03-18">
15401
15402<change type="bugfix">
15403<para lang="ru">
15404запрос обрабатывался неверно, если директива root использовала переменные;
15405ошибка появилась в 0.7.42.
15406</para>
15407<para lang="en">
15408a request was handled incorrectly, if a "root" directive used variables;
15409the bug had appeared in 0.7.42.
15410</para>
15411</change>
15412
15413<change type="bugfix">
15414<para lang="ru">
15415если сервер слушал на адресах типа "*", то значение переменной $server_addr
15416было "0.0.0.0";
15417ошибка появилась в 0.7.36.
15418</para>
15419<para lang="en">
15420if a server listened on wildcard address, then the $server_addr variable
15421value was "0.0.0.0";
15422the bug had appeared in 0.7.36.
15423</para>
15424</change>
15425
15426</changes>
15427
15428
15429<changes ver="0.7.42" date="2009-03-16">
15430
15431<change type="change">
15432<para lang="ru">
15433ошибка "Invalid argument", возвращаемая setsockopt(TCP_NODELAY) на Solaris,
15434теперь игнорируется.
15435</para>
15436<para lang="en">
15437now the "Invalid argument" error returned by setsockopt(TCP_NODELAY) on Solaris,
15438is ignored.
15439</para>
15440</change>
15441
15442<change type="change">
15443<para lang="ru">
15444при отсутствии файла, указанного в директиве auth_basic_user_file,
15445теперь возвращается ошибка 403 вместо 500.
15446</para>
15447<para lang="en">
15448now if a file specified in a "auth_basic_user_file" directive is absent,
15449then the 403 error is returned instead of the 500 one.
15450</para>
15451</change>
15452
15453<change type="feature">
15454<para lang="ru">
15455директива auth_basic_user_file поддерживает переменные.
15456<br/>
15457Спасибо Кириллу Коринскому.
15458</para>
15459<para lang="en">
15460the "auth_basic_user_file" directive supports variables.<br/>
15461Thanks to Kirill A. Korinskiy.
15462</para>
15463</change>
15464
15465<change type="feature">
15466<para lang="ru">
15467директива listen поддерживает параметр ipv6only.<br/>
15468Спасибо Zhang Hua.
15469</para>
15470<para lang="en">
15471the "listen" directive supports the "ipv6only" parameter.
15472<br/>
15473Thanks to Zhang Hua.
15474</para>
15475</change>
15476
15477<change type="bugfix">
15478<para lang="ru">
15479в директиве alias со ссылками на выделения в регулярных выражениях;
15480ошибка появилась в 0.7.40.
15481</para>
15482<para lang="en">
15483in an "alias" directive with references to captures of regular expressions;
15484the bug had appeared in 0.7.40.
15485</para>
15486</change>
15487
15488<change type="bugfix">
15489<para lang="ru">
15490совместимость с Tru64 UNIX.<br/>
15491Спасибо Dustin Marquess.
15492</para>
15493<para lang="en">
15494compatibility with Tru64 UNIX.<br/>
15495Thanks to Dustin Marquess.
15496</para>
15497</change>
15498
15499<change type="bugfix">
15500<para lang="ru">
15501nginx не собирался без библиотеки PCRE;
15502ошибка появилась в 0.7.41.
15503</para>
15504<para lang="en">
15505nginx could not be built without PCRE library;
15506the bug had appeared in 0.7.41.
15507</para>
15508</change>
15509
15510</changes>
15511
15512
15513<changes ver="0.7.41" date="2009-03-11">
15514
15515<change type="bugfix">
15516<para lang="ru">
15517в рабочем процессе мог произойти segmentation fault,
15518если в server_name или location были выделения в регулярных выражениях;
15519ошибка появилась в 0.7.40.<br/>
15520Спасибо Владимиру Сопоту.
15521</para>
15522<para lang="en">
15523a segmentation fault might occur in worker process,
15524if a "server_name" or a "location" directives had captures
15525in regular expressions;
15526the issue had appeared in 0.7.40.<br/>
15527Thanks to Vladimir Sopot.
15528</para>
15529</change>
15530
15531</changes>
15532
15533
15534<changes ver="0.7.40" date="2009-03-09">
15535
15536<change type="feature">
15537<para lang="ru">
15538директива location поддерживает выделения в регулярных выражениях.
15539</para>
15540<para lang="en">
15541the "location" directive supports captures in regular expressions.
15542</para>
15543</change>
15544
15545<change type="feature">
15546<para lang="ru">
15547директиву alias с ссылками на выделения в регулярных выражениях
15548можно использовать внутри location'а, заданного регулярным выражением
15549с выделениями.
15550</para>
15551<para lang="en">
15552an "alias" directive with capture references may be used inside
15553a location given by a regular expression with captures.
15554</para>
15555</change>
15556
15557<change type="feature">
15558<para lang="ru">
15559директива server_name поддерживает выделения в регулярных выражениях.
15560</para>
15561<para lang="en">
15562the "server_name" directive supports captures in regular expressions.
15563</para>
15564</change>
15565
15566<change type="workaround">
15567<para lang="ru">
15568модуль ngx_http_autoindex_module не показывал последний слэш для каталогов
15569на файловой системе XFS;
15570ошибка появилась в 0.7.15.<br/>
15571Спасибо Дмитрию Кузьменко.
15572</para>
15573<para lang="en">
15574the ngx_http_autoindex_module did not show the trailing slash in directories
15575on XFS filesystem;
15576the issue had appeared in 0.7.15.<br/>
15577Thanks to Dmitry Kuzmenko.
15578</para>
15579</change>
15580
15581</changes>
15582
15583
15584<changes ver="0.7.39" date="2009-03-02">
15585
15586<change type="bugfix">
15587<para lang="ru">
15588при включённом сжатии большие ответы с использованием SSI могли зависать;
15589ошибка появилась в 0.7.28.<br/>
15590Спасибо Артёму Бохану.
15591</para>
15592<para lang="en">
15593large response with SSI might hang, if gzipping was enabled;
15594the bug had appeared in 0.7.28.<br/>
15595Thanks to Artem Bokhan.
15596</para>
15597</change>
15598
15599<change type="bugfix">
15600<para lang="ru">
15601при использовании коротких статических вариантов в директиве try_files
15602в рабочем процессе мог произойти segmentation fault.
15603</para>
15604<para lang="en">
15605a segmentation fault might occur in worker process,
15606if short static variants are used in a "try_files" directive.
15607</para>
15608</change>
15609
15610</changes>
15611
15612
15613<changes ver="0.7.38" date="2009-02-23">
15614
15615<change type="feature">
15616<para lang="ru">
15617логгирование ошибок аутентификации.
15618</para>
15619<para lang="en">
15620authentication failures logging.
15621</para>
15622</change>
15623
15624<change type="bugfix">
15625<para lang="ru">
15626имя/пароль, заданные в auth_basic_user_file, игнорировались после нечётного
15627числа пустых строк.<br/>
15628Спасибо Александру Загребину.
15629</para>
15630<para lang="en">
15631name/password in auth_basic_user_file were ignored after odd number
15632of empty lines.<br/>
15633Thanks to Alexander Zagrebin.
15634</para>
15635</change>
15636
15637<change type="bugfix">
15638<para lang="ru">
15639при использовании длинного пути в unix domain сокете
15640в главном процессе происходил segmentation fault;
15641ошибка появилась в 0.7.36.
15642</para>
15643<para lang="en">
15644a segmentation fault occurred in a master process,
15645if long path was used in unix domain socket;
15646the bug had appeared in 0.7.36.
15647</para>
15648</change>
15649
15650</changes>
15651
15652
15653<changes ver="0.7.37" date="2009-02-21">
15654
15655<change type="bugfix">
15656<para lang="ru">
15657директивы, использующие upstream'ы, не работали;
15658ошибка появилась в 0.7.36.
15659</para>
15660<para lang="en">
15661directives using upstreams did not work;
15662the bug had appeared in 0.7.36.
15663</para>
15664</change>
15665
15666</changes>
15667
15668
15669<changes ver="0.7.36" date="2009-02-21">
15670
15671<change type="feature">
15672<para lang="ru">
15673предварительная поддержка IPv6;
15674директива listen модуля HTTP поддерживает IPv6.
15675</para>
15676<para lang="en">
15677a preliminary IPv6 support;
15678the "listen" directive of the HTTP module supports IPv6.
15679</para>
15680</change>
15681
15682<change type="bugfix">
15683<para lang="ru">
15684переменная $ancient_browser не работала для браузеров, заданных
15685директивами modern_browser.
15686</para>
15687<para lang="en">
15688the $ancient_browser variable did not work for browsers
15689preset by a "modern_browser" directives.
15690</para>
15691</change>
15692
15693</changes>
15694
15695
15696<changes ver="0.7.35" date="2009-02-16">
15697
15698<change type="bugfix">
15699<para lang="ru">
15700директива ssl_engine не использовала SSL-акселератор
15701для асимметричных шифров.<br/>
15702Спасибо Marcin Gozdalik.
15703</para>
15704<para lang="en">
15705a "ssl_engine" directive did not use a SSL-accelerator
15706for asymmetric ciphers.<br/>
15707Thanks to Marcin Gozdalik.
15708</para>
15709</change>
15710
15711<change type="bugfix">
15712<para lang="ru">
15713директива try_files выставляла MIME-type, исходя из расширения
15714первоначального запроса.
15715</para>
15716<para lang="en">
15717a "try_files" directive set MIME type depending on an
15718original request extension.
15719</para>
15720</change>
15721
15722<change type="bugfix">
15723<para lang="ru">
15724в директивах server_name, valid_referers и map
15725неправильно обрабатывались имена вида "*domain.tld",
15726если использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
15727ошибка появилась в 0.7.9.
15728</para>
15729<para lang="en">
15730"*domain.tld" names were handled incorrectly in
15731"server_name", "valid_referers", and "map" directives,
15732if ".domain.tld" and ".subdomain.domain.tld" wildcards were used;
15733<nobr>the bug had</nobr> appeared in 0.7.9.
15734</para>
15735</change>
15736
15737</changes>
15738
15739
15740<changes ver="0.7.34" date="2009-02-10">
15741
15742<change type="feature">
15743<para lang="ru">
15744параметр off в директиве if_modified_since.
15745</para>
15746<para lang="en">
15747the "off" parameter of the "if_modified_since" directive.
15748</para>
15749</change>
15750
15751<change type="feature">
15752<para lang="ru">
15753теперь после команды XCLIENT nginx посылает команду HELO/EHLO.<br/>
15754Спасибо Максиму Дунину.
15755</para>
15756<para lang="en">
15757now nginx sends an HELO/EHLO command after a XCLIENT command.<br/>
15758Thanks to Maxim Dounin.
15759</para>
15760</change>
15761
15762<change type="feature">
15763<para lang="ru">
15764поддержка Microsoft-специфичного режима
15765<nobr>"AUTH LOGIN with User Name"</nobr>
15766в почтовом прокси-сервере.<br/>
15767Спасибо Максиму Дунину.
15768</para>
15769<para lang="en">
15770Microsoft specific "AUTH LOGIN with User Name" mode support
15771in mail proxy server.<br/>
15772Thanks to Maxim Dounin.
15773</para>
15774</change>
15775
15776<change type="bugfix">
15777<para lang="ru">
15778в директиве rewrite, возвращающей редирект, старые аргументы присоединялись
15779к новым через символ "?" вместо "&amp;";<br/>
15780ошибка появилась в 0.1.18.<br/>
15781Спасибо Максиму Дунину.
15782</para>
15783<para lang="en">
15784in a redirect rewrite directive original arguments were concatenated with
15785new arguments by a "?" rather than an "&amp;";<br/>
15786the bug had appeared in 0.1.18.<br/>
15787Thanks to Maxim Dounin.
15788</para>
15789</change>
15790
15791<change type="bugfix">
15792<para lang="ru">
15793nginx не собирался на AIX.
15794</para>
15795<para lang="en">
15796nginx could not be built on AIX.
15797</para>
15798</change>
15799
15800</changes>
15801
15802
15803<changes ver="0.7.33" date="2009-02-02">
15804
15805<change type="bugfix">
15806<para lang="ru">
15807если на запрос с телом возвращался редирект, то ответ мог быть двойным
15808при использовании методов epoll или rtsig.<br/>
15809Спасибо Eden Li.
15810</para>
15811<para lang="en">
15812a double response might be returned if the epoll or rtsig methods are used
15813and a redirect was returned to a request with body.<br/>
15814Thanks to Eden Li.
15815</para>
15816</change>
15817
15818<change type="bugfix">
15819<para lang="ru">
15820для некоторых типов редиректов в переменной $sent_http_location
15821было пустое значение.
15822</para>
15823<para lang="en">
15824the $sent_http_location variable was empty for some redirects types.
15825</para>
15826</change>
15827
15828<change type="bugfix">
15829<para lang="ru">
15830при использовании директивы resolver в SMTP прокси-сервере
15831в рабочем процессе мог произойти segmentation fault.
15832</para>
15833<para lang="en">
15834a segmentation fault might occur in worker process
15835if "resolver" directive was used in SMTP proxy.
15836</para>
15837</change>
15838
15839</changes>
15840
15841
15842<changes ver="0.7.32" date="2009-01-26">
15843
15844<change type="feature">
15845<para lang="ru">
15846теперь в директиве try_files можно явно указать проверку каталога.
15847</para>
15848<para lang="en">
15849now a directory existence testing can be set explicitly
15850in the "try_files" directive.
15851</para>
15852</change>
15853
15854<change type="bugfix">
15855<para lang="ru">
15856fastcgi_store не всегда сохранял файлы.
15857</para>
15858<para lang="en">
15859fastcgi_store stored files not always.
15860</para>
15861</change>
15862
15863<change type="bugfix">
15864<para lang="ru">
15865в гео-диапазонах.
15866</para>
15867<para lang="en">
15868in geo ranges.
15869</para>
15870</change>
15871
15872<change type="bugfix">
15873<para lang="ru">
15874ошибки выделения больших блоков в разделяемой памяти,
15875если nginx был собран без отладки.<br/>
15876Спасибо Андрею Квасову.
15877</para>
15878<para lang="en">
15879in shared memory allocations if nginx was built without debugging.<br/>
15880Thanks to Andrey Kvasov.
15881</para>
15882</change>
15883
15884</changes>
15885
15886
15887<changes ver="0.7.31" date="2009-01-19">
15888
15889<change type="change">
15890<para lang="ru">
15891теперь директива try_files проверяет только файлы, игнорируя каталоги.
15892</para>
15893<para lang="en">
15894now the "try_files" directive tests files only and ignores directories.
15895</para>
15896</change>
15897
15898<change type="feature">
15899<para lang="ru">
15900директива fastcgi_split_path_info.
15901</para>
15902<para lang="en">
15903the "fastcgi_split_path_info" directive.
15904</para>
15905</change>
15906
15907<change>
15908<para lang="ru">
15909Исправления в поддержке строки "Expect" в заголовке запроса.
15910</para>
15911<para lang="en">
15912Bugfixes in an "Expect" request header line support.
15913</para>
15914</change>
15915
15916<change>
15917<para lang="ru">
15918Исправления в гео-диапазонах.
15919</para>
15920<para lang="en">
15921Bugfixes in geo ranges.
15922</para>
15923</change>
15924
15925<change type="bugfix">
15926<para lang="ru">
15927при отсутствии ответа ngx_http_memcached_module возвращал
15928в теле ответа строку "END" вместо 404-ой страницы по умолчанию;
15929ошибка появилась в 0.7.18.<br/>
15930Спасибо Максиму Дунину.
15931</para>
15932<para lang="en">
15933in a miss case ngx_http_memcached_module returned the "END" line
15934as response body instead of default 404 page body;
15935the bug had appeared in 0.7.18.<br/>
15936Thanks to Maxim Dounin.
15937</para>
15938</change>
15939
15940<change type="bugfix">
15941<para lang="ru">
15942при проксировании SMTP nginx выдавал сообщение
15943<nobr>"250 2.0.0 OK"</nobr> вместо "235 2.0.0 OK";
15944ошибка появилась в 0.7.22.<br/>
15945Спасибо Максиму Дунину.
15946</para>
15947<para lang="en">
15948while SMTP proxying nginx issued message
15949"250 2.0.0 OK" instead of "235 2.0.0 OK";
15950the bug had appeared in 0.7.22.<br/>
15951Thanks to Maxim Dounin.
15952</para>
15953</change>
15954
15955</changes>
15956
15957
15958
15959<changes ver="0.7.30" date="2008-12-24">
15960
15961<change type="bugfix">
15962<para lang="ru">
15963в рабочем процессе происходил segmentation fault,
15964если в директивах fastcgi_pass или proxy_pass
15965использовались переменные и имя хоста должно было резолвиться;
15966ошибка появилась в 0.7.29.
15967</para>
15968<para lang="en">
15969a segmentation fault occurred in worker process,
15970if variables were used in the "fastcgi_pass" or "proxy_pass" directives
15971and host name must be resolved;
15972the bug had appeared in 0.7.29.
15973</para>
15974</change>
15975
15976</changes>
15977
15978
15979<changes ver="0.7.29" date="2008-12-24">
15980
15981<change type="bugfix">
15982<para lang="ru">
15983директивы fastcgi_pass и proxy_pass не поддерживали переменные
15984при использовании unix domain сокетов.
15985</para>
15986<para lang="en">
15987the "fastcgi_pass" and "proxy_pass" directives did not support
15988variables if unix domain sockets were used.
15989</para>
15990</change>
15991
15992<change>
15993<para lang="ru">
15994Исправления в обработке подзапросов;
15995ошибки появились в 0.7.25.
15996</para>
15997<para lang="en">
15998Bugfixes in subrequest processing;
15999the bugs had appeared in 0.7.25.
16000</para>
16001</change>
16002
16003<change type="bugfix">
16004<para lang="ru">
16005ответ "100 Continue" выдавался для запросов версии HTTP/1.0;<br/>
16006Спасибо Максиму Дунину.
16007</para>
16008<para lang="en">
16009a "100 Continue" response was issued for HTTP/1.0 requests;<br/>
16010Thanks to Maxim Dounin.
16011</para>
16012</change>
16013
16014<change type="bugfix">
16015<para lang="ru">
16016в выделении памяти в модуле ngx_http_gzip_filter_module под Cygwin.
16017</para>
16018<para lang="en">
16019in memory allocation in the ngx_http_gzip_filter_module on Cygwin.
16020</para>
16021</change>
16022
16023</changes>
16024
16025
16026<changes ver="0.7.28" date="2008-12-22">
16027
16028<change type="change">
16029<para lang="ru">
16030в выделении памяти в модуле ngx_http_gzip_filter_module.
16031</para>
16032<para lang="en">
16033in memory allocation in the ngx_http_gzip_filter_module.
16034</para>
16035</change>
16036
16037<change type="change">
16038<para lang="ru">
16039значения по умолчанию для директивы gzip_buffers изменены с 4 4k/8k
16040на 32 4k или 16 8k.
16041</para>
16042<para lang="en">
16043the default "gzip_buffers" directive values have been changed
16044to 32 4k or 16 8k from 4 4k/8k.
16045</para>
16046</change>
16047
16048</changes>
16049
16050
16051<changes ver="0.7.27" date="2008-12-15">
16052
16053<change type="feature">
16054<para lang="ru">
16055директива try_files.
16056</para>
16057<para lang="en">
16058the "try_files" directive.
16059</para>
16060</change>
16061
16062<change type="feature">
16063<para lang="ru">
16064директива fastcgi_pass поддерживает переменные.
16065</para>
16066<para lang="en">
16067variables support in the "fastcgi_pass" directive.
16068</para>
16069</change>
16070
16071<change type="feature">
16072<para lang="ru">
16073теперь директива geo может брать адрес из переменной.<br/>
16074Спасибо Андрею Нигматулину.
16075</para>
16076<para lang="en">
16077now the $geo variable may get an address from a variable.<br/>
16078Thanks to Andrei Nigmatulin.
16079</para>
16080</change>
16081
16082<change type="feature">
16083<para lang="ru">
16084теперь модификатор location'а можно указывать без пробела перед названием.
16085</para>
16086<para lang="en">
16087now a location's modifier may be used without space before name.
16088</para>
16089</change>
16090
16091<change type="feature">
16092<para lang="ru">
16093переменная $upstream_response_length.
16094</para>
16095<para lang="en">
16096the $upstream_response_length variable.
16097</para>
16098</change>
16099
16100<change type="bugfix">
16101<para lang="ru">
16102теперь директива add_header не добавляет пустое значение.
16103</para>
16104<para lang="en">
16105now a "add_header" directive does not add an empty value.
16106</para>
16107</change>
16108
16109<change type="bugfix">
16110<para lang="ru">
16111при запросе файла нулевой длины nginx закрывал соединение, ничего не передав;
16112ошибка появилась в 0.7.25.
16113</para>
16114<para lang="en">
16115if zero length static file was requested, then nginx just closed connection;
16116the bug had appeared in 0.7.25.
16117</para>
16118</change>
16119
16120<change type="bugfix">
16121<para lang="ru">
16122метод MOVE не мог перемещать файл в несуществующий каталог.
16123</para>
16124<para lang="en">
16125a MOVE method could not move file in non-existent directory.
16126</para>
16127</change>
16128
16129<change type="bugfix">
16130<para lang="ru">
16131если в сервере не был описан ни один именованный location,
16132но такой location использовался в директиве error_page,
16133то в рабочем процессе происходил segmentation fault.<br/>
16134Спасибо Сергею Боченкову.
16135</para>
16136<para lang="en">
16137a segmentation fault occurred in worker process,
16138if no one named location was defined in server,
16139but some one was used in an error_page directive.<br/>
16140Thanks to Sergey Bochenkov.
16141</para>
16142</change>
16143
16144</changes>
16145
16146
16147<changes ver="0.7.26" date="2008-12-08">
16148
16149<change type="bugfix">
16150<para lang="ru">
16151в обработке подзапросов;
16152ошибка появилась в 0.7.25.
16153</para>
16154<para lang="en">
16155in subrequest processing;
16156the bug had appeared in 0.7.25.
16157</para>
16158</change>
16159
16160</changes>
16161
16162
16163<changes ver="0.7.25" date="2008-12-08">
16164
16165<change type="change">
16166<para lang="ru">
16167в обработке подзапросов.
16168</para>
16169<para lang="en">
16170in subrequest processing.
16171</para>
16172</change>
16173
16174<change type="change">
16175<para lang="ru">
16176теперь разрешаются POST'ы без строки "Content-Length" в заголовке запроса.
16177</para>
16178<para lang="en">
16179now POSTs without "Content-Length" header line are allowed.
16180</para>
16181</change>
16182
16183<change type="bugfix">
16184<para lang="ru">
16185теперь директивы limit_req и limit_conn указывают причину запрета запроса.
16186</para>
16187<para lang="en">
16188now the "limit_req" and "limit_conn" directives log a prohibition reason.
16189</para>
16190</change>
16191
16192<change type="bugfix">
16193<para lang="ru">
16194в параметре delete директивы geo.
16195</para>
16196<para lang="en">
16197in the "delete" parameter of the "geo" directive.
16198</para>
16199</change>
16200
16201</changes>
16202
16203
16204<changes ver="0.7.24" date="2008-12-01">
16205
16206<change type="feature">
16207<para lang="ru">
16208директива if_modified_since.
16209</para>
16210<para lang="en">
16211the "if_modified_since" directive.
16212</para>
16213</change>
16214
16215<change type="bugfix">
16216<para lang="ru">
16217nginx не обрабатывал ответ FastCGI-сервера,
16218если перед ответом сервер передавал много сообщений в stderr.
16219</para>
16220<para lang="en">
16221nginx did not process a FastCGI server response,
16222if the server send too many messages to stderr before response.
16223</para>
16224</change>
16225
16226<change type="bugfix">
16227<para lang="ru">
16228переменные "$cookie_..." не работали в SSI and в перловом модуле.
16229</para>
16230<para lang="en">
16231the "$cookie_..." variables did not work in the SSI and the perl module.
16232</para>
16233</change>
16234
16235</changes>
16236
16237
16238<changes ver="0.7.23" date="2008-11-27">
16239
16240<change type="feature">
16241<para lang="ru">
16242параметры delete и ranges в директиве geo.
16243</para>
16244<para lang="en">
16245the "delete" and "ranges" parameters in the "geo" directive.
16246</para>
16247</change>
16248
16249<change type="feature">
16250<para lang="ru">
16251ускорение загрузки geo-базы с большим числом значений.
16252</para>
16253<para lang="en">
16254speeding up loading of geo base with large number of values.
16255</para>
16256</change>
16257
16258<change type="feature">
16259<para lang="ru">
16260уменьшение памяти, необходимой для загрузки geo-базы.
16261</para>
16262<para lang="en">
16263decrease of memory required for geo base load.
16264</para>
16265</change>
16266
16267</changes>
16268
16269
16270<changes ver="0.7.22" date="2008-11-20">
16271
16272<change type="feature">
16273<para lang="ru">
16274параметр none в директиве smtp_auth.<br/>
16275Спасибо Максиму Дунину.
16276</para>
16277<para lang="en">
16278the "none" parameter in the "smtp_auth" directive.<br/>
16279Thanks to Maxim Dounin.
16280</para>
16281</change>
16282
16283<change type="feature">
16284<para lang="ru">
16285переменные "$cookie_...".
16286</para>
16287<para lang="en">
16288the "$cookie_..." variables.
16289</para>
16290</change>
16291
16292<change type="bugfix">
16293<para lang="ru">
16294директива directio не работала с файловой системой XFS.
16295</para>
16296<para lang="en">
16297the "directio" directive did not work in XFS filesystem.
16298</para>
16299</change>
16300
16301<change type="bugfix">
16302<para lang="ru">
16303resolver не понимал большие DNS-ответы.<br/>
16304Спасибо Zyb.
16305</para>
16306<para lang="en">
16307the resolver did not understand big DNS responses.<br/>
16308Thanks to Zyb.
16309</para>
16310</change>
16311
16312</changes>
16313
16314
16315<changes ver="0.7.21" date="2008-11-11">
16316
16317<change>
16318<para lang="ru">
16319Изменения в модуле ngx_http_limit_req_module.
16320</para>
16321<para lang="en">
16322Changes in the ngx_http_limit_req_module.
16323</para>
16324</change>
16325
16326<change type="feature">
16327<para lang="ru">
16328поддержка EXSLT в модуле ngx_http_xslt_module.<br/>
16329Спасибо Денису Латыпову.
16330</para>
16331<para lang="en">
16332the EXSLT support in the ngx_http_xslt_module.<br/>
16333Thanks to Denis F. Latypoff.
16334</para>
16335</change>
16336
16337<change type="workaround">
16338<para lang="ru">
16339совместимость с glibc 2.3.<br/>
16340Спасибо Eric Benson и Максиму Дунину.
16341</para>
16342<para lang="en">
16343compatibility with glibc 2.3.<br/>
16344Thanks to Eric Benson and Maxim Dounin.
16345</para>
16346</change>
16347
16348<change type="bugfix">
16349<para lang="ru">
16350nginx не запускался на MacOSX 10.4 и более ранних;
16351ошибка появилась в 0.7.6.
16352</para>
16353<para lang="en">
16354nginx could not run on MacOSX 10.4 and earlier;
16355the bug had appeared in 0.7.6.
16356</para>
16357</change>
16358
16359</changes>
16360
16361
16362<changes ver="0.7.20" date="2008-11-10">
16363
16364<change>
16365<para lang="ru">
16366Изменения в модуле ngx_http_gzip_filter_module.
16367</para>
16368<para lang="en">
16369Changes in the ngx_http_gzip_filter_module.
16370</para>
16371</change>
16372
16373<change type="feature">
16374<para lang="ru">
16375модуль ngx_http_limit_req_module.
16376</para>
16377<para lang="en">
16378the ngx_http_limit_req_module.
16379</para>
16380</change>
16381
16382<change type="bugfix">
16383<para lang="ru">
16384на платформах sparc и ppc рабочие процессы могли выходить по сигналу SIGBUS;
16385ошибка появилась в 0.7.3.<br/>
16386Спасибо Максиму Дунину.
16387</para>
16388<para lang="en">
16389worker processes might exit on a SIGBUS signal on sparc and ppc platforms;
16390the bug had appeared in 0.7.3.<br/>
16391Thanks to Maxim Dounin.
16392</para>
16393</change>
16394
16395<change type="bugfix">
16396<para lang="ru">
16397директивы вида "proxy_pass http://host/some:uri" не работали;
16398ошибка появилась в 0.7.12.
16399</para>
16400<para lang="en">
16401the "proxy_pass http://host/some:uri" directives did not work;
16402the bug had appeared in 0.7.12.
16403</para>
16404</change>
16405
16406<change type="bugfix">
16407<para lang="ru">
16408при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry".
16409</para>
16410<para lang="en">
16411in HTTPS mode requests might fail with the "bad write retry" error.
16412</para>
16413</change>
16414
16415<change type="bugfix">
16416<para lang="ru">
16417модуль ngx_http_secure_link_module не работал внутри location'ов
16418с именами меньше 3 символов.
16419</para>
16420<para lang="en">
16421the ngx_http_secure_link_module did not work inside locations,
16422whose names are less than 3 characters.
16423</para>
16424</change>
16425
16426<change type="bugfix">
16427<para lang="ru">
16428переменная $server_addr могла не иметь значения.
16429</para>
16430<para lang="en">
16431$server_addr variable might have no value.
16432</para>
16433</change>
16434
16435</changes>
16436
16437
16438<changes ver="0.7.19" date="2008-10-13">
16439
16440<change type="bugfix">
16441<para lang="ru">
16442обновление номера версии.
16443</para>
16444<para lang="en">
16445version number update.
16446</para>
16447</change>
16448
16449</changes>
16450
16451
16452<changes ver="0.7.18" date="2008-10-13">
16453
16454<change type="change">
16455<para lang="ru">
16456директива underscores_in_headers;
16457теперь nginx по умолчанию не разрешает подчёркивания в именах строк
16458в заголовке запроса клиента.
16459</para>
16460<para lang="en">
16461the "underscores_in_headers" directive;
16462now nginx does not allows underscores in a client request header line names.
16463</para>
16464</change>
16465
16466<change type="feature">
16467<para lang="ru">
16468модуль ngx_http_secure_link_module.
16469</para>
16470<para lang="en">
16471the ngx_http_secure_link_module.
16472</para>
16473</change>
16474
16475<change type="feature">
16476<para lang="ru">
16477директива real_ip_header поддерживает любой заголовок.
16478</para>
16479<para lang="en">
16480the "real_ip_header" directive supports any header.
16481</para>
16482</change>
16483
16484<change type="feature">
16485<para lang="ru">
16486директива log_subrequest.
16487</para>
16488<para lang="en">
16489the "log_subrequest" directive.
16490</para>
16491</change>
16492
16493<change type="feature">
16494<para lang="ru">
16495переменная $realpath_root.
16496</para>
16497<para lang="en">
16498the $realpath_root variable.
16499</para>
16500</change>
16501
16502<change type="feature">
16503<para lang="ru">
16504параметры http_502 и http_504 в директиве proxy_next_upstream.
16505</para>
16506<para lang="en">
16507the "http_502" and "http_504" parameters of the "proxy_next_upstream" directive.
16508</para>
16509</change>
16510
16511<change type="bugfix">
16512<para lang="ru">
16513параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream
16514не работал.
16515</para>
16516<para lang="en">
16517the "http_503" parameter of the "proxy_next_upstream" or
16518"fastcgi_next_upstream" directives did not work.
16519</para>
16520</change>
16521
16522<change type="bugfix">
16523<para lang="ru">
16524nginx мог выдавать строку "Transfer-Encoding: chunked" для запросов  HEAD.
16525</para>
16526<para lang="en">
16527nginx might send a "Transfer-Encoding: chunked" header line for HEAD requests.
16528</para>
16529</change>
16530
16531<change type="bugfix">
16532<para lang="ru">
16533теперь accept-лимит зависит от числа worker_connections.
16534</para>
16535<para lang="en">
16536now accept threshold depends on worker_connections.
16537</para>
16538</change>
16539
16540</changes>
16541
16542
16543<changes ver="0.7.17" date="2008-09-15">
16544
16545<change type="feature">
16546<para lang="ru">
16547директива directio теперь работает на Linux.
16548</para>
16549<para lang="en">
16550now the "directio" directive works on Linux.
16551</para>
16552</change>
16553
16554<change type="feature">
16555<para lang="ru">
16556переменная $pid.
16557</para>
16558<para lang="en">
16559the $pid variable.
16560</para>
16561</change>
16562
16563<change type="bugfix">
16564<para lang="ru">
16565оптимизация directio, появившаяся в 0.7.15, не работала при использовании
16566open_file_cache.
16567</para>
16568<para lang="en">
16569the "directio" optimization that had appeared in 0.7.15 did not work with
16570open_file_cache.
16571</para>
16572</change>
16573
16574<change type="bugfix">
16575<para lang="ru">
16576access_log с переменными не работал на Linux;
16577ошибка появилась в 0.7.7.
16578</para>
16579<para lang="en">
16580the "access_log" with variables did not work on Linux;
16581the bug had appeared in 0.7.7.
16582</para>
16583</change>
16584
16585<change type="bugfix">
16586<para lang="ru">
16587модуль ngx_http_charset_module не понимал название кодировки в кавычках,
16588полученное от бэкенда.
16589</para>
16590<para lang="en">
16591the ngx_http_charset_module did not understand quoted charset name
16592received from backend.
16593</para>
16594</change>
16595
16596</changes>
16597
16598
16599<changes ver="0.7.16" date="2008-09-08">
16600
16601<change type="bugfix">
16602<para lang="ru">
16603nginx не собирался на 64-битных платформах;
16604ошибка появилась в 0.7.15.
16605</para>
16606<para lang="en">
16607nginx could not be built on 64-bit platforms;
16608the bug had appeared in 0.7.15.
16609</para>
16610</change>
16611
16612</changes>
16613
16614
16615<changes ver="0.7.15" date="2008-09-08">
16616
16617<change type="feature">
16618<para lang="ru">
16619модуль ngx_http_random_index_module.
16620</para>
16621<para lang="en">
16622the ngx_http_random_index_module.
16623</para>
16624</change>
16625
16626<change type="feature">
16627<para lang="ru">
16628директива directio оптимизирована для запросов файлов, начинающихся
16629с произвольной позиции.
16630</para>
16631<para lang="en">
16632the "directio" directive has been optimized for file requests starting
16633from arbitrary position.
16634</para>
16635</change>
16636
16637<change type="feature">
16638<para lang="ru">
16639директива directio при необходимости запрещает использование sendfile.
16640</para>
16641<para lang="en">
16642the "directio" directive turns off sendfile if it is necessary.
16643</para>
16644</change>
16645
16646<change type="feature">
16647<para lang="ru">
16648теперь nginx разрешает подчёркивания в именах строк в заголовке запроса клиента.
16649</para>
16650<para lang="en">
16651now nginx allows underscores in a client request header line names.
16652</para>
16653</change>
16654
16655</changes>
16656
16657
16658<changes ver="0.7.14" date="2008-09-01">
16659
16660<change type="change">
16661<para lang="ru">
16662теперь директивы ssl_certificate и ssl_certificate_key не имеют
16663значений по умолчанию.
16664</para>
16665<para lang="en">
16666now the ssl_certificate and ssl_certificate_key directives have no
16667default values.
16668</para>
16669</change>
16670
16671<change type="feature">
16672<para lang="ru">
16673директива listen поддерживает параметр ssl.
16674</para>
16675<para lang="en">
16676the "listen" directive supports the "ssl" parameter.
16677</para>
16678</change>
16679
16680<change type="feature">
16681<para lang="ru">
16682теперь при переконфигурации nginx учитывает изменение временной зоны
16683на FreeBSD и Linux.
16684</para>
16685<para lang="en">
16686now nginx takes into account a time zone change while reconfiguration
16687on FreeBSD and Linux.
16688</para>
16689</change>
16690
16691<change type="bugfix">
16692<para lang="ru">
16693параметры директивы listen, такие как backlog, rcvbuf и прочие,
16694не устанавливались, если сервером по умолчанию был не первый сервер.
16695</para>
16696<para lang="en">
16697the "listen" directive parameters such as "backlog", "rcvbuf", etc.
16698were not set, if a default server was not the first one.
16699</para>
16700</change>
16701
16702<change type="bugfix">
16703<para lang="ru">
16704при использовании в качестве аргументов части URI, выделенного с помощью
16705директивы rewrite, эти аргументы не экранировались.
16706</para>
16707<para lang="en">
16708if URI part captured by a "rewrite" directive was used as a query string,
16709then the query string was not escaped.
16710</para>
16711</change>
16712
16713<change type="bugfix">
16714<para lang="ru">
16715улучшения тестирования правильности конфигурационного файла.
16716</para>
16717<para lang="en">
16718configuration file validity test improvements.
16719</para>
16720</change>
16721
16722
16723</changes>
16724
16725
16726<changes ver="0.7.13" date="2008-08-26">
16727
16728<change type="bugfix">
16729<para lang="ru">
16730nginx не собирался на Linux и Solaris;
16731ошибка появилась в 0.7.12.
16732</para>
16733<para lang="en">
16734nginx could not be built on Linux and Solaris;
16735the bug had appeared in 0.7.12.
16736</para>
16737</change>
16738
16739</changes>
16740
16741
16742<changes ver="0.7.12" date="2008-08-26">
16743
16744<change type="feature">
16745<para lang="ru">
16746директива server_name поддерживает пустое имя "".
16747</para>
16748<para lang="en">
16749the "server_name" directive supports empty name "".
16750</para>
16751</change>
16752
16753<change type="feature">
16754<para lang="ru">
16755директива gzip_disable поддерживает специальную маску msie6.
16756</para>
16757<para lang="en">
16758the "gzip_disable" directive supports special "msie6" mask.
16759</para>
16760</change>
16761
16762<change type="bugfix">
16763<para lang="ru">
16764при использовании параметра max_fails=0 в upstream'е с несколькими
16765серверами рабочий процесс выходил по сигналу SIGFPE.<br/>
16766Спасибо Максиму Дунину.
16767</para>
16768<para lang="en">
16769if the "max_fails=0" parameter was used in upstream with several servers,
16770then a worker process exited on a SIGFPE signal.<br/>
16771Thanks to Maxim Dounin.
16772</para>
16773</change>
16774
16775<change type="bugfix">
16776<para lang="ru">
16777при перенаправлении запроса с помощью директивы error_page
16778терялось тело запроса.
16779</para>
16780<para lang="en">
16781a request body was dropped while redirection via an "error_page" directive.
16782</para>
16783</change>
16784
16785<change type="bugfix">
16786<para lang="ru">
16787при перенаправлении запроса с методом HEAD с помощью директивы error_page
16788возвращался полный ответ.
16789</para>
16790<para lang="en">
16791a full response was returned for request method HEAD
16792while redirection via an "error_page" directive.
16793</para>
16794</change>
16795
16796<change type="bugfix">
16797<para lang="ru">
16798метод $r->header_in() не возвращал значения строк "Host", "User-Agent",
16799и "Connection" из заголовка запроса;
16800ошибка появилась в 0.7.0.
16801</para>
16802<para lang="en">
16803the $r->header_in() method did not return value of the "Host",
16804"User-Agent", and "Connection" request header lines;
16805the bug had appeared in 0.7.0.
16806</para>
16807</change>
16808
16809</changes>
16810
16811
16812<changes ver="0.7.11" date="2008-08-18">
16813
16814<change type="change">
16815<para lang="ru">
16816теперь ngx_http_charset_module по умолчанию не работает MIME-типом text/css.
16817</para>
16818<para lang="en">
16819now ngx_http_charset_module does not work by default with text/css MIME type.
16820</para>
16821</change>
16822
16823<change type="feature">
16824<para lang="ru">
16825теперь nginx возвращает код 405 для метода POST при запросе статического
16826файла, только если файл существует.
16827</para>
16828<para lang="en">
16829now nginx returns the 405 status code for POST method requesting a static file
16830only if the file exists.
16831</para>
16832</change>
16833
16834<change type="feature">
16835<para lang="ru">
16836директива proxy_ssl_session_reuse.
16837</para>
16838<para lang="en">
16839the "proxy_ssl_session_reuse" directive.
16840</para>
16841</change>
16842
16843<change type="bugfix">
16844<para lang="ru">
16845после перенаправления запроса с помощью "X-Accel-Redirect"
16846директива proxy_pass без URI могла использовать оригинальный запрос.
16847</para>
16848<para lang="en">
16849a "proxy_pass" directive without URI part might use original request
16850after the "X-Accel-Redirect" redirection was used.
16851</para>
16852</change>
16853
16854<change type="bugfix">
16855<para lang="ru">
16856если у каталога были права доступа только на поиск файлов
16857и первый индексный файл отсутствовал, то nginx возвращал ошибку 500.
16858</para>
16859<para lang="en">
16860if a directory has search only rights and the first index file was absent,
16861then nginx returned the 500 status code.
16862</para>
16863</change>
16864
16865<change type="bugfix">
16866<para lang="ru">
16867ошибок во вложенных location'ах;
16868ошибки появились в 0.7.1.
16869</para>
16870<para lang="en">
16871in inclusive locations;
16872the bugs had appeared in 0.7.1.
16873</para>
16874</change>
16875
16876</changes>
16877
16878
16879<changes ver="0.7.10" date="2008-08-13">
16880
16881<change type="bugfix">
16882<para lang="ru">
16883ошибок в директивах addition_types, charset_types,
16884gzip_types, ssi_types, sub_filter_types и xslt_types;
16885ошибки появились в 0.7.9.
16886</para>
16887<para lang="en">
16888in the "addition_types", "charset_types",
16889"gzip_types", "ssi_types", "sub_filter_types", and "xslt_types" directives;
16890the bugs had appeared in 0.7.9.
16891</para>
16892</change>
16893
16894<change type="bugfix">
16895<para lang="ru">
16896рекурсивной error_page для 500 ошибки.
16897</para>
16898<para lang="en">
16899of recursive error_page for 500 status code.
16900</para>
16901</change>
16902
16903<change type="bugfix">
16904<para lang="ru">
16905теперь модуль ngx_http_realip_module устанавливает адрес не для
16906всего keepalive соединения, а для каждого запроса по этому соединению.
16907</para>
16908<para lang="en">
16909now the ngx_http_realip_module sets address not for whole keepalive connection,
16910but for each request passed via the connection.
16911</para>
16912</change>
16913
16914</changes>
16915
16916
16917<changes ver="0.7.9" date="2008-08-12">
16918
16919<change type="change">
16920<para lang="ru">
16921теперь ngx_http_charset_module по умолчанию работает со следующими MIME-типами:
16922text/html, text/css, text/xml, text/plain, text/vnd.wap.wml,
16923application/x-javascript и application/rss+xml.
16924</para>
16925<para lang="en">
16926now ngx_http_charset_module works by default with following MIME types:
16927text/html, text/css, text/xml, text/plain, text/vnd.wap.wml,
16928application/x-javascript, and application/rss+xml.
16929</para>
16930</change>
16931
16932<change type="feature">
16933<para lang="ru">
16934директивы charset_types и addition_types.
16935</para>
16936<para lang="en">
16937the "charset_types" and "addition_types" directives.
16938</para>
16939</change>
16940
16941<change type="feature">
16942<para lang="ru">
16943теперь директивы gzip_types, ssi_types и sub_filter_types используют хэш.
16944</para>
16945<para lang="en">
16946now the "gzip_types", "ssi_types", and "sub_filter_types" directives use hash.
16947</para>
16948</change>
16949
16950<change type="feature">
16951<para lang="ru">
16952модуль ngx_cpp_test_module.
16953</para>
16954<para lang="en">
16955the ngx_cpp_test_module.
16956</para>
16957</change>
16958
16959<change type="feature">
16960<para lang="ru">
16961директива expires поддерживает суточное время.
16962</para>
16963<para lang="en">
16964the "expires" directive supports daily time.
16965</para>
16966</change>
16967
16968<change type="feature">
16969<para lang="ru">
16970улучшения и исправления в модуле ngx_http_xslt_module.<br/>
16971Спасибо Денису Латыпову и Максиму Дунину.
16972</para>
16973<para lang="en">
16974the ngx_http_xslt_module improvements and bug fixing.<br/>
16975Thanks to Denis F. Latypoff and Maxim Dounin.
16976</para>
16977</change>
16978
16979<change type="bugfix">
16980<para lang="ru">
16981директива log_not_found не работала при поиске индексных файлов.
16982</para>
16983<para lang="en">
16984the "log_not_found" directive did not work for index files tests.
16985</para>
16986</change>
16987
16988<change type="bugfix">
16989<para lang="ru">
16990HTTPS-соединения могли зависнуть,
16991если использовались методы kqueue, epoll, rtsig или eventport;
16992ошибка появилась в 0.7.7.
16993</para>
16994<para lang="en">
16995HTTPS connections might hang,
16996if kqueue, epoll, rtsig, or eventport methods were used;
16997the bug had appeared in 0.7.7.
16998</para>
16999</change>
17000
17001<change type="bugfix">
17002<para lang="ru">
17003если в директивах server_name, valid_referers и map
17004использовалась маска вида "*.domain.tld" и при этом полное имя
17005вида "domain.tld" не было описано, то это имя попадало под маску;
17006ошибка появилась в 0.3.18.
17007</para>
17008<para lang="en">
17009if the "server_name", "valid_referers", and "map" directives used
17010an "*.domain.tld" wildcard and exact name "domain.tld" was not set,
17011then the exact name was matched by the wildcard;
17012the bug had appeared in 0.3.18.
17013</para>
17014</change>
17015
17016</changes>
17017
17018
17019<changes ver="0.7.8" date="2008-08-04">
17020
17021<change type="feature">
17022<para lang="ru">
17023модуль ngx_http_xslt_module.
17024</para>
17025<para lang="en">
17026the ngx_http_xslt_module.
17027</para>
17028</change>
17029
17030<change type="feature">
17031<para lang="ru">
17032переменные "$arg_...".
17033</para>
17034<para lang="en">
17035the "$arg_..." variables.
17036</para>
17037</change>
17038
17039<change type="feature">
17040<para lang="ru">
17041поддержка directio в Solaris.<br/>
17042Спасибо Ivan Debnar.
17043</para>
17044<para lang="en">
17045Solaris directio support.<br/>
17046Thanks to Ivan Debnar.
17047</para>
17048</change>
17049
17050<change type="bugfix">
17051<para lang="ru">
17052теперь, если FastCGI-сервер присылает строку "Location" в заголовке ответа
17053без строки статуса, то nginx использует код статуса 302.<br/>
17054Спасибо Максиму Дунину.
17055</para>
17056<para lang="en">
17057now if FastCGI server sends a "Location" header line without status line,
17058then nginx uses 302 status code.<br/>
17059Thanks to Maxim Dounin.
17060</para>
17061</change>
17062
17063</changes>
17064
17065
17066<changes ver="0.7.7" date="2008-07-30">
17067
17068<change type="change">
17069<para lang="ru">
17070теперь ошибка EAGAIN при вызове connect() не считается временной.
17071</para>
17072<para lang="en">
17073now the EAGAIN error returned by connect() is not considered as temporary error.
17074</para>
17075</change>
17076
17077<change type="change">
17078<para lang="ru">
17079значением переменной $ssl_client_cert теперь является сертификат,
17080перед каждой строкой которого, кроме первой, вставляется символ табуляции;
17081неизменённый сертификат доступен через переменную $ssl_client_raw_cert.
17082</para>
17083<para lang="en">
17084now the $ssl_client_cert variable value is a certificate with TAB character
17085intended before each line except first one;
17086an unchanged certificate is available in the $ssl_client_raw_cert variable.
17087</para>
17088</change>
17089
17090<change type="feature">
17091<para lang="ru">
17092параметр ask директивы ssl_verify_client.
17093</para>
17094<para lang="en">
17095the "ask" parameter in the "ssl_verify_client" directive.
17096</para>
17097</change>
17098
17099<change type="feature">
17100<para lang="ru">
17101улучшения в обработке byte-range.<br/>
17102Спасибо Максиму Дунину.
17103</para>
17104<para lang="en">
17105byte-range processing improvements.<br/>
17106Thanks to Maxim Dounin.
17107</para>
17108</change>
17109
17110<change type="feature">
17111<para lang="ru">
17112директива directio.<br/>
17113Спасибо Jiang Hong.
17114</para>
17115<para lang="en">
17116the "directio" directive.<br/>
17117Thanks to Jiang Hong.
17118</para>
17119</change>
17120
17121<change type="feature">
17122<para lang="ru">
17123поддержка sendfile() в MacOSX 10.5.
17124</para>
17125<para lang="en">
17126MacOSX 10.5 sendfile() support.
17127</para>
17128</change>
17129
17130<change type="bugfix">
17131<para lang="ru">
17132в MacOSX и Cygwin при проверке location'ов теперь делается сравнение
17133без учёта регистра символов;
17134однако, сравнение ограничено только однобайтными locale'ями.
17135</para>
17136<para lang="en">
17137now in MacOSX and Cygwin locations are tested in case insensitive mode;
17138however, the compare is provided by single-byte locales only.
17139</para>
17140</change>
17141
17142<change type="bugfix">
17143<para lang="ru">
17144соединения почтового прокси-сервера зависали в режиме SSL,
17145если использовались методы select, poll или /dev/poll.
17146</para>
17147<para lang="en">
17148mail proxy SSL connections hanged,
17149if select, poll, or /dev/poll methods were used.
17150</para>
17151</change>
17152
17153<change type="bugfix">
17154<para lang="ru">
17155ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module.
17156</para>
17157<para lang="en">
17158UTF-8 encoding usage in the ngx_http_autoindex_module.
17159</para>
17160</change>
17161
17162</changes>
17163
17164
17165<changes ver="0.7.6" date="2008-07-07">
17166
17167<change type="bugfix">
17168<para lang="ru">
17169теперь при использовании переменных в директиве access_log
17170всегда проверяется существовании root'а для запроса.
17171</para>
17172<para lang="en">
17173now if variables are used in the "access_log" directive
17174a request root existence is always tested.
17175</para>
17176</change>
17177
17178<change type="bugfix">
17179<para lang="ru">
17180модуль ngx_http_flv_module не поддерживал несколько значений в
17181аргументах запроса.
17182</para>
17183<para lang="en">
17184the ngx_http_flv_module did not support several values in a query string.
17185</para>
17186</change>
17187
17188</changes>
17189
17190
17191<changes ver="0.7.5" date="2008-07-01">
17192
17193<change>
17194<para lang="ru">
17195Исправления в поддержке переменных в директиве access_log;
17196ошибки появились в 0.7.4.
17197</para>
17198<para lang="en">
17199Bugfixes in variables support in the "access_log" directive;
17200the bugs had appeared in 0.7.4.
17201</para>
17202</change>
17203
17204<change type="bugfix">
17205<para lang="ru">
17206nginx не собирался с параметром --without-http_gzip_module;
17207ошибка появилась в 0.7.3.<br/>
17208Спасибо Кириллу Коринскому.
17209</para>
17210<para lang="en">
17211nginx could not be built --without-http_gzip_module;
17212the bug had appeared in 0.7.3.<br/>
17213Thanks to Kirill A. Korinskiy.
17214</para>
17215</change>
17216
17217<change type="bugfix">
17218<para lang="ru">
17219при совместном использовании sub_filter и SSI
17220ответы могли передаваться неверно.
17221</para>
17222<para lang="en">
17223if sub_filter and SSI were used together, then responses might
17224were transferred incorrectly.
17225</para>
17226</change>
17227
17228</changes>
17229
17230
17231<changes ver="0.7.4" date="2008-06-30">
17232
17233<change type="feature">
17234<para lang="ru">
17235директива access_log поддерживает переменные.
17236</para>
17237<para lang="en">
17238variables support in the "access_log" directive.
17239</para>
17240</change>
17241
17242<change type="feature">
17243<para lang="ru">
17244директива open_log_file_cache.
17245</para>
17246<para lang="en">
17247the "open_log_file_cache" directive.
17248</para>
17249</change>
17250
17251<change type="feature">
17252<para lang="ru">
17253ключ -g.
17254</para>
17255<para lang="en">
17256the -g switch.
17257</para>
17258</change>
17259
17260<change type="feature">
17261<para lang="ru">
17262поддержка строки "Expect" в заголовке запроса.
17263</para>
17264<para lang="en">
17265the "Expect" request header line support.
17266</para>
17267</change>
17268
17269<change type="bugfix">
17270<para lang="ru">
17271большие включения в SSI могли передавались не полностью.
17272</para>
17273<para lang="en">
17274large SSI inclusions might be truncated.
17275</para>
17276</change>
17277
17278</changes>
17279
17280
17281<changes ver="0.7.3" date="2008-06-23">
17282
17283<change type="change">
17284<para lang="ru">
17285MIME-тип для расширения rss изменён на "application/rss+xml".
17286</para>
17287<para lang="en">
17288the "rss" extension MIME type has been changed to "application/rss+xml".
17289</para>
17290</change>
17291
17292<change type="change">
17293<para lang="ru">
17294теперь директива "gzip_vary on" выдаёт строку
17295<nobr>"Vary: Accept-Encoding"</nobr>
17296в заголовке ответа и для несжатых ответов.
17297</para>
17298<para lang="en">
17299now the "gzip_vary" directive turned on issues
17300a <nobr>"Vary: Accept-Encoding"</nobr>
17301header line for uncompressed responses too.
17302</para>
17303</change>
17304
17305<change type="feature">
17306<para lang="ru">
17307теперь при использовании протокола "https://" в директиве rewrite
17308автоматически делается редирект.
17309</para>
17310<para lang="en">
17311now the "rewrite" directive does a redirect automatically
17312if the "https://" protocol is used.
17313</para>
17314</change>
17315
17316<change type="bugfix">
17317<para lang="ru">
17318директива proxy_pass не работала с протоколом HTTPS;
17319ошибка появилась в 0.6.9.
17320</para>
17321<para lang="en">
17322the "proxy_pass" directive did not work with the HTTPS protocol;
17323the bug had appeared in 0.6.9.
17324</para>
17325</change>
17326
17327</changes>
17328
17329
17330<changes ver="0.7.2" date="2008-06-16">
17331
17332<change type="feature">
17333<para lang="ru">
17334теперь nginx поддерживает шифры с обменом EDH-ключами.
17335</para>
17336<para lang="en">
17337now nginx supports EDH key exchange ciphers.
17338</para>
17339</change>
17340
17341<change type="feature">
17342<para lang="ru">
17343директива ssl_dhparam.
17344</para>
17345<para lang="en">
17346the "ssl_dhparam" directive.
17347</para>
17348</change>
17349
17350<change type="feature">
17351<para lang="ru">
17352переменная $ssl_client_cert.<br/>
17353Спасибо Manlio Perillo.
17354</para>
17355<para lang="en">
17356the $ssl_client_cert variable.<br/>
17357Thanks to Manlio Perillo.
17358</para>
17359</change>
17360
17361<change type="bugfix">
17362<para lang="ru">
17363после изменения URI с помощью директивы rewrite nginx не искал новый location;
17364ошибка появилась в 0.7.1.<br/>
17365Спасибо Максиму Дунину.
17366</para>
17367<para lang="en">
17368after changing URI via a "rewrite" directive nginx did not search
17369a new location;
17370the bug had appeared in 0.7.1.<br/>
17371Thanks to Maxim Dounin.
17372</para>
17373</change>
17374
17375<change type="bugfix">
17376<para lang="ru">
17377nginx не собирался без библиотеки PCRE;
17378ошибка появилась в 0.7.1.
17379</para>
17380<para lang="en">
17381nginx could not be built without PCRE library;
17382the bug had appeared in 0.7.1.
17383</para>
17384</change>
17385
17386<change type="bugfix">
17387<para lang="ru">
17388при редиректе запроса к каталогу с добавлением слэша nginx
17389не добавлял аргументы из оригинального запроса.
17390</para>
17391<para lang="en">
17392when a request to a directory was redirected with the slash added,
17393nginx dropped a query string from the original request.
17394</para>
17395</change>
17396
17397</changes>
17398
17399
17400<changes ver="0.7.1" date="2008-05-26">
17401
17402<change type="change">
17403<para lang="ru">
17404теперь поиск location'а делается с помощью дерева.
17405</para>
17406<para lang="en">
17407now locations are searched in a tree.
17408</para>
17409</change>
17410
17411<change type="change">
17412<para lang="ru">
17413директива optimize_server_names упразднена в связи с появлением
17414директивы server_name_in_redirect.
17415</para>
17416<para lang="en">
17417the "optimize_server_names" directive was canceled
17418due to the "server_name_in_redirect" directive introduction.
17419</para>
17420</change>
17421
17422<change type="change">
17423<para lang="ru">
17424некоторые давно устаревшие директивы больше не поддерживаются.
17425</para>
17426<para lang="en">
17427some long deprecated directives are not supported anymore.
17428</para>
17429</change>
17430
17431<change type="change">
17432<para lang="ru">
17433параметр "none" в директиве ssl_session_cache;
17434теперь этот параметр используется по умолчанию.<br/>
17435Спасибо Rob Mueller.
17436</para>
17437<para lang="en">
17438the "none" parameter in the "ssl_session_cache" directive;
17439now this is default parameter.<br/>
17440Thanks to Rob Mueller.
17441</para>
17442</change>
17443
17444<change type="bugfix">
17445<para lang="ru">
17446рабочие процессы могли не реагировать на сигналы переконфигурации
17447и ротации логов.
17448</para>
17449<para lang="en">
17450worker processes might not catch reconfiguration and log rotation signals.
17451</para>
17452</change>
17453
17454<change type="bugfix">
17455<para lang="ru">
17456nginx не собирался на последних Fedora 9 Linux.<br/>
17457Спасибо Roxis.
17458</para>
17459<para lang="en">
17460nginx could not be built on latest Fedora 9 Linux.<br/>
17461Thanks to Roxis.
17462</para>
17463</change>
17464
17465</changes>
17466
17467
17468<changes ver="0.7.0" date="2008-05-19">
17469
17470<change type="change">
17471<para lang="ru">
17472теперь символы 0x00-0x1F, '"' и '\' в access_log записываются в виде \xXX.<br/>
17473Спасибо Максиму Дунину.
17474</para>
17475<para lang="en">
17476now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX in an
17477access_log.<br/>
17478Thanks to Maxim Dounin.
17479</para>
17480</change>
17481
17482<change type="change">
17483<para lang="ru">
17484теперь nginx разрешает несколько строк "Host" в заголовке запроса.
17485</para>
17486<para lang="en">
17487now nginx allows several "Host" request header line.
17488</para>
17489</change>
17490
17491<change type="feature">
17492<para lang="ru">
17493директива expires поддерживает флаг modified.
17494</para>
17495<para lang="en">
17496the "modified" flag in the "expires" directive.
17497</para>
17498</change>
17499
17500<change type="feature">
17501<para lang="ru">
17502переменные $uid_got и $uid_set можно использовать на любой стадии обработки
17503запроса.
17504</para>
17505<para lang="en">
17506the $uid_got and $uid_set variables may be used at any request processing stage.
17507</para>
17508</change>
17509
17510<change type="feature">
17511<para lang="ru">
17512переменная $hostname.<br/>
17513Спасибо Андрею Нигматулину.
17514</para>
17515<para lang="en">
17516the $hostname variable.<br/>
17517Thanks to Andrei Nigmatulin.
17518</para>
17519</change>
17520
17521<change type="feature">
17522<para lang="ru">
17523поддержка DESTDIR.<br/>
17524Спасибо Todd A. Fisher и Andras Voroskoi.
17525</para>
17526<para lang="en">
17527DESTDIR support.<br/>
17528Thanks to Todd A. Fisher and Andras Voroskoi.
17529</para>
17530</change>
17531
17532<change type="bugfix">
17533<para lang="ru">
17534при использовании keepalive на Linux
17535в рабочем процессе мог произойти segmentation fault.
17536</para>
17537<para lang="en">
17538a segmentation fault might occur in worker process on Linux,
17539if keepalive was enabled.
17540</para>
17541</change>
17542
17543</changes>
17544
17545
17546<changes ver="0.6.31" date="2008-05-12">
17547
17548<change type="bugfix">
17549<para lang="ru">
17550nginx не обрабатывал ответ FastCGI-сервера, если строка заголовка ответа была
17551в конце записи FastCGI;
17552ошибка появилась в 0.6.2.<br/>
17553Спасибо Сергею Серову.
17554</para>
17555<para lang="en">
17556nginx did not process FastCGI response
17557if header was at the end of FastCGI record;
17558the bug had appeared in 0.6.2.<br/>
17559Thanks to Sergey Serov.
17560</para>
17561</change>
17562
17563<change type="bugfix">
17564<para lang="ru">
17565при удалении файла и использовании директивы open_file_cache_errors off
17566в рабочем процессе мог произойти segmentation fault.
17567</para>
17568<para lang="en">
17569a segmentation fault might occur in worker process if a file was deleted
17570and the "open_file_cache_errors" directive was off.
17571</para>
17572</change>
17573
17574</changes>
17575
17576
17577<changes ver="0.6.30" date="2008-04-29">
17578
17579<change type="change">
17580<para lang="ru">
17581теперь, если маске, заданной в директиве include, не соответствует
17582ни один файл, то nginx не выдаёт ошибку.
17583</para>
17584<para lang="en">
17585now if an "include" directive pattern does not match any file,
17586then nginx does not issue an error.
17587</para>
17588</change>
17589
17590<change type="feature">
17591<para lang="ru">
17592теперь время в директивах можно задавать без пробела, например, "1h50m".
17593</para>
17594<para lang="en">
17595now the time in directives may be specified without spaces,
17596for example, "1h50m".
17597</para>
17598</change>
17599
17600<change type="bugfix">
17601<para lang="ru">
17602утечек памяти, если директива ssl_verify_client имела значение on.<br/>
17603Спасибо Chavelle Vincent.
17604</para>
17605<para lang="en">
17606memory leaks if the "ssl_verify_client" directive was on.<br/>
17607Thanks to Chavelle Vincent.
17608</para>
17609</change>
17610
17611<change type="bugfix">
17612<para lang="ru">
17613директива sub_filter могла вставлять заменяемый текст в вывод.
17614</para>
17615<para lang="en">
17616the "sub_filter" directive might set text to change into output.
17617</para>
17618</change>
17619
17620<change type="bugfix">
17621<para lang="ru">
17622директива error_page не воспринимала параметры в перенаправляемом URI.
17623</para>
17624<para lang="en">
17625the "error_page" directive did not take into account arguments in
17626redirected URI.
17627</para>
17628</change>
17629
17630<change type="bugfix">
17631<para lang="ru">
17632теперь при сборке с Cygwin nginx всегда открывает файлы в бинарном режиме.
17633</para>
17634<para lang="en">
17635now nginx always opens files in binary mode under Cygwin.
17636</para>
17637</change>
17638
17639<change type="bugfix">
17640<para lang="ru">
17641nginx не собирался под OpenBSD;
17642ошибка появилась в 0.6.15.
17643</para>
17644<para lang="en">
17645nginx could not be built on OpenBSD;
17646the bug had appeared in 0.6.15.
17647</para>
17648</change>
17649
17650</changes>
17651
17652
17653<changes ver="0.6.29" date="2008-03-18">
17654
17655<change type="feature">
17656<para lang="ru">
17657модуль ngx_google_perftools_module.
17658</para>
17659<para lang="en">
17660the ngx_google_perftools_module.
17661</para>
17662</change>
17663
17664<change type="bugfix">
17665<para lang="ru">
17666модуль ngx_http_perl_module не собирался на 64-битных платформах;
17667ошибка появилась в 0.6.27.
17668</para>
17669<para lang="en">
17670the ngx_http_perl_module could not be built on 64-bit platforms;
17671the bug had appeared in 0.6.27.
17672</para>
17673</change>
17674
17675</changes>
17676
17677
17678<changes ver="0.6.28" date="2008-03-13">
17679
17680<change type="bugfix">
17681<para lang="ru">
17682метод rtsig не собирался;
17683ошибка появилась в 0.6.27.
17684</para>
17685<para lang="en">
17686the rtsig method could not be built;
17687the bug had appeared in 0.6.27.
17688</para>
17689</change>
17690
17691</changes>
17692
17693
17694<changes ver="0.6.27" date="2008-03-12">
17695
17696<change type="change">
17697<para lang="ru">
17698теперь на Linux 2.6.18+ по умолчанию не собирается метод rtsig.
17699</para>
17700<para lang="en">
17701now by default the rtsig method is not built on <nobr>Linux 2.6.18+.</nobr>
17702</para>
17703</change>
17704
17705<change type="change">
17706<para lang="ru">
17707теперь при перенаправлении запроса в именованный location с помощью
17708директивы error_page метод запроса не изменяется.
17709</para>
17710<para lang="en">
17711now a request method is not changed while redirection to a named location
17712via an "error_page" directive.
17713</para>
17714</change>
17715
17716<change type="feature">
17717<para lang="ru">
17718директивы resolver и resolver_timeout в SMTP прокси-сервере.
17719</para>
17720<para lang="en">
17721the "resolver" and "resolver_timeout" directives in SMTP proxy.
17722</para>
17723</change>
17724
17725<change type="feature">
17726<para lang="ru">
17727директива post_action поддерживает именованные location'ы.
17728</para>
17729<para lang="en">
17730the "post_action" directive supports named locations.
17731</para>
17732</change>
17733
17734<change type="bugfix">
17735<para lang="ru">
17736при перенаправлении запроса из location'а c обработчиком proxy, FastCGI
17737или memcached в именованный location со статическим обработчиком
17738в рабочем процессе происходил segmentation fault.
17739</para>
17740<para lang="en">
17741a segmentation fault occurred in worker process,
17742if a request was redirected from proxy, FastCGI, or memcached location
17743to static named locations.
17744</para>
17745</change>
17746
17747<change type="bugfix">
17748<para lang="ru">
17749браузеры не повторяли SSL handshake, если при первом handshake
17750не оказалось правильного клиентского сертификата.
17751<br/>
17752Спасибо Александру Инюхину.
17753</para>
17754<para lang="en">
17755browsers did not repeat SSL handshake if there is no valid client certificate
17756in first handshake.
17757<br/>
17758Thanks to Alexander V. Inyukhin.
17759</para>
17760</change>
17761
17762<change type="bugfix">
17763<para lang="ru">
17764при перенаправлении ошибок 495-497 с помощью директивы error_page
17765без изменения кода ошибки nginx пытался выделить очень много памяти.
17766</para>
17767<para lang="en">
17768if response code 495-497 was redirected via an "error_page" directive
17769without code change, then nginx tried to allocate too many memory.
17770</para>
17771</change>
17772
17773<change type="bugfix">
17774<para lang="ru">
17775утечки памяти в долгоживущих небуфферизированных соединениях.
17776</para>
17777<para lang="en">
17778memory leak in long-lived non buffered connections.
17779</para>
17780</change>
17781
17782<change type="bugfix">
17783<para lang="ru">
17784утечки памяти в resolver'е.
17785</para>
17786<para lang="en">
17787memory leak in resolver.
17788</para>
17789</change>
17790
17791<change type="bugfix">
17792<para lang="ru">
17793при перенаправлении запроса из location'а c обработчиком proxy
17794в другой location с обработчиком proxy
17795в рабочем процессе происходил segmentation fault.
17796</para>
17797<para lang="en">
17798a segmentation fault occurred in worker process,
17799if a request was redirected from proxy, FastCGI, or memcached location
17800to static named locations.
17801</para>
17802</change>
17803
17804<change type="bugfix">
17805<para lang="ru">
17806ошибки в кэшировании переменных $proxy_host и $proxy_port.<br/>
17807Спасибо Сергею Боченкову.
17808</para>
17809<para lang="en">
17810in the $proxy_host and $proxy_port variables caching.<br/>
17811Thanks to Sergey Bochenkov.
17812</para>
17813</change>
17814
17815<change type="bugfix">
17816<para lang="ru">
17817директива proxy_pass с переменными использовала порт, описанной в другой
17818директиве proxy_pass без переменных, но с таким же именем хоста.<br/>
17819Спасибо Сергею Боченкову.
17820</para>
17821<para lang="en">
17822a "proxy_pass" directive with variables used incorrectly the same port
17823as in another "proxy_pass" directive with the same host name
17824and without variables.<br/>
17825Thanks to Sergey Bochenkov.
17826</para>
17827</change>
17828
17829<change type="bugfix">
17830<para lang="ru">
17831во время переконфигурации на некоторых 64-битном платформах в лог
17832записывался alert "sendmsg() failed (9: Bad file descriptor)".
17833</para>
17834<para lang="en">
17835an alert "sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms
17836while reconfiguration.
17837</para>
17838</change>
17839
17840<change type="bugfix">
17841<para lang="ru">
17842при повторном использовании в SSI пустого block'а в качестве заглушки
17843в рабочем процессе происходил segmentation fault.
17844</para>
17845<para lang="en">
17846a segmentation fault occurred in worker process,
17847if empty stub block was used second time in SSI.
17848</para>
17849</change>
17850
17851<change type="bugfix">
17852<para lang="ru">
17853ошибки при копировании части URI, содержащего экранированные символы,
17854в аргументы.
17855</para>
17856<para lang="en">
17857in copying URI part contained escaped symbols into arguments.
17858</para>
17859</change>
17860
17861</changes>
17862
17863
17864<changes ver="0.6.26" date="2008-02-11">
17865
17866<change type="bugfix">
17867<para lang="ru">
17868директивы proxy_store и fastcgi_store не проверяли длину ответа.
17869</para>
17870<para lang="en">
17871the "proxy_store" and "fastcgi_store" directives did not check
17872a response length.
17873</para>
17874</change>
17875
17876<change type="bugfix">
17877<para lang="ru">
17878при использовании большого значения в директиве expires
17879в рабочем процессе происходил segmentation fault.<br/>
17880Спасибо Joaquin Cuenca Abela.
17881</para>
17882<para lang="en">
17883a segmentation fault occurred in worker process,
17884if big value was used in a "expires" directive.<br/>
17885Thanks to Joaquin Cuenca Abela.
17886</para>
17887</change>
17888
17889<change type="bugfix">
17890<para lang="ru">
17891nginx неверно определял длину строки кэша на <nobr>Pentium 4.</nobr><br/>
17892Спасибо Геннадию Махомеду.
17893</para>
17894<para lang="en">
17895nginx incorrectly detected cache line size on Pentium 4.<br/>
17896Thanks to Gena Makhomed.
17897</para>
17898</change>
17899
17900<change type="bugfix">
17901<para lang="ru">
17902в проксированных подзапросах и подзапросах к FastCGI-серверу
17903вместо метода GET использовался оригинальный метод клиента.
17904</para>
17905<para lang="en">
17906in proxied or FastCGI subrequests a client original method was used
17907instead of the GET method.
17908</para>
17909</change>
17910
17911<change type="bugfix">
17912<para lang="ru">
17913утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/>
17914Спасибо Ben Maurer.
17915</para>
17916<para lang="en">
17917socket leak in HTTPS mode if deferred accept was used.<br/>
17918Thanks to Ben Maurer.
17919</para>
17920</change>
17921
17922<change type="bugfix">
17923<para lang="ru">
17924nginx выдавал ошибочное сообщение "SSL_shutdown() failed (SSL: )";
17925ошибка появилась в 0.6.23.
17926</para>
17927<para lang="en">
17928nginx issued the bogus error message "SSL_shutdown() failed (SSL: )";
17929the bug had appeared in 0.6.23.
17930</para>
17931</change>
17932
17933<change type="bugfix">
17934<para lang="ru">
17935при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry";
17936ошибка появилась в 0.6.23.
17937</para>
17938<para lang="en">
17939in HTTPS mode requests might fail with the "bad write retry" error;
17940the bug had appeared in 0.6.23.
17941</para>
17942</change>
17943
17944</changes>
17945
17946
17947<changes ver="0.6.25" date="2008-01-08">
17948
17949<change type="change">
17950<para lang="ru">
17951вместо специального параметра "*" в директиве server_name теперь
17952используется директива server_name_in_redirect.
17953</para>
17954<para lang="en">
17955now the "server_name_in_redirect" directive is used instead of
17956the "server_name" directive's special "*" parameter.
17957</para>
17958</change>
17959
17960<change type="change">
17961<para lang="ru">
17962в качестве основного имени в директиве server_name теперь
17963можно использовать имена с масками и регулярными выражениями.
17964</para>
17965<para lang="en">
17966now wildcard and regex names can be used as main name in
17967a "server_name" directive.
17968</para>
17969</change>
17970
17971<change type="change">
17972<para lang="ru">
17973директива satisfy_any заменена директивой satisfy.
17974</para>
17975<para lang="en">
17976the "satisfy_any" directive was replaced by the "satisfy" directive.
17977</para>
17978</change>
17979
17980<change type="workaround">
17981<para lang="ru">
17982после переконфигурации старые рабочие процесс могли сильно нагружать процессор
17983при запуске под Linux OpenVZ.
17984</para>
17985<para lang="en">
17986old worker processes might hog CPU after reconfiguration if they was run
17987under Linux OpenVZ.
17988</para>
17989</change>
17990
17991<change type="feature">
17992<para lang="ru">
17993директива min_delete_depth.
17994</para>
17995<para lang="en">
17996the "min_delete_depth" directive.
17997</para>
17998</change>
17999
18000<change type="bugfix">
18001<para lang="ru">
18002методы COPY и MOVE не работали с одиночными файлами.
18003</para>
18004<para lang="en">
18005the COPY and MOVE methods did not work with single files.
18006</para>
18007</change>
18008
18009<change type="bugfix">
18010<para lang="ru">
18011модуль ngx_http_gzip_static_module не позволял работать модулю
18012ngx_http_dav_module;
18013ошибка появилась в 0.6.23.
18014</para>
18015<para lang="en">
18016the ngx_http_gzip_static_module did not allow the ngx_http_dav_module to work;
18017the bug had appeared in 0.6.23.
18018</para>
18019</change>
18020
18021<change type="bugfix">
18022<para lang="ru">
18023утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/>
18024Спасибо Ben Maurer.
18025</para>
18026<para lang="en">
18027socket leak in HTTPS mode if deferred accept was used.<br/>
18028Thanks to Ben Maurer.
18029</para>
18030</change>
18031
18032<change type="bugfix">
18033<para lang="ru">
18034nginx не собирался без библиотеки PCRE;
18035ошибка появилась в 0.6.23.
18036</para>
18037<para lang="en">
18038nginx could not be built without PCRE library;
18039the bug had appeared in 0.6.23.
18040</para>
18041</change>
18042
18043</changes>
18044
18045<changes ver="0.6.24" date="2007-12-27">
18046
18047<change type="bugfix">
18048<para lang="ru">
18049при использовании HTTPS в рабочем процессе мог произойти segmentation fault;
18050ошибка появилась в 0.6.23.
18051</para>
18052<para lang="en">
18053a segmentation fault might occur in worker process if HTTPS was used;
18054the bug had appeared in 0.6.23.
18055</para>
18056</change>
18057
18058</changes>
18059
18060
18061<changes ver="0.6.23" date="2007-12-27">
18062
18063<change type="change">
18064<para lang="ru">
18065параметр "off" в директиве ssl_session_cache;
18066теперь этот параметр используется по умолчанию.
18067</para>
18068<para lang="en">
18069the "off" parameter in the "ssl_session_cache" directive;
18070now this is default parameter.
18071</para>
18072</change>
18073
18074<change type="change">
18075<para lang="ru">
18076директива open_file_cache_retest переименована в open_file_cache_valid.
18077</para>
18078<para lang="en">
18079the "open_file_cache_retest" directive was renamed
18080to the "open_file_cache_valid".
18081</para>
18082</change>
18083
18084<change type="feature">
18085<para lang="ru">
18086директива open_file_cache_min_uses.
18087</para>
18088<para lang="en">
18089the "open_file_cache_min_uses" directive.
18090</para>
18091</change>
18092
18093<change type="feature">
18094<para lang="ru">
18095модуль ngx_http_gzip_static_module.
18096</para>
18097<para lang="en">
18098the ngx_http_gzip_static_module.
18099</para>
18100</change>
18101
18102<change type="feature">
18103<para lang="ru">
18104директива gzip_disable.
18105</para>
18106<para lang="en">
18107the "gzip_disable" directive.
18108</para>
18109</change>
18110
18111<change type="feature">
18112<para lang="ru">
18113директиву memcached_pass можно использовать внутри блока if.
18114</para>
18115<para lang="en">
18116the "memcached_pass" directive may be used inside the "if" block.
18117</para>
18118</change>
18119
18120<change type="bugfix">
18121<para lang="ru">
18122если внутри одного location'а использовались директивы "memcached_pass" и "if",
18123то в рабочем процессе происходил segmentation fault.
18124</para>
18125<para lang="en">
18126a segmentation fault occurred in worker process,
18127if the "memcached_pass" and "if" directives were used in the same location.
18128</para>
18129</change>
18130
18131<change type="bugfix">
18132<para lang="ru">
18133если при использовании директивы satisfy_any on" были заданы директивы
18134не всех модулей доступа, то заданные директивы не проверялись.
18135</para>
18136<para lang="en">
18137if a "satisfy_any on" directive was used and not all access and auth modules
18138directives were set, then other given access and auth directives
18139were not tested;
18140</para>
18141</change>
18142
18143<change type="bugfix">
18144<para lang="ru">
18145параметры, заданные регулярным выражением в директиве valid_referers,
18146не наследовалась с предыдущего уровня.
18147</para>
18148<para lang="en">
18149regex parameters in a "valid_referers" directive were not inherited
18150from previous level.
18151</para>
18152</change>
18153
18154<change type="bugfix">
18155<para lang="ru">
18156директива post_action не работала, если запрос завершался с кодом 499.
18157</para>
18158<para lang="en">
18159a "post_action" directive did run if a request was completed
18160with 499 status code.
18161</para>
18162</change>
18163
18164<change type="bugfix">
18165<para lang="ru">
18166оптимизация использования 16K буфера для SSL-соединения.<br/>
18167Спасибо Ben Maurer.
18168</para>
18169<para lang="en">
18170optimization of 16K buffer usage in a SSL connection.<br/>
18171Thanks to Ben Maurer.
18172</para>
18173</change>
18174
18175<change type="bugfix">
18176<para lang="ru">
18177STARTTLS в режиме SMTP не работал.<br/>
18178Спасибо Олегу Мотиенко.
18179</para>
18180<para lang="en">
18181the STARTTLS in SMTP mode did not work.<br/>
18182Thanks to Oleg Motienko.
18183</para>
18184</change>
18185
18186<change type="bugfix">
18187<para lang="ru">
18188при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry";
18189ошибка появилась в 0.5.13.
18190</para>
18191<para lang="en">
18192in HTTPS mode requests might fail with the "bad write retry" error;
18193the bug had appeared in 0.5.13.
18194</para>
18195</change>
18196
18197</changes>
18198
18199
18200<changes ver="0.6.22" date="2007-12-19">
18201
18202<change type="change">
18203<para lang="ru">
18204теперь все методы модуля ngx_http_perl_module
18205возвращают значения, скопированные в память, выделенную perl'ом.
18206</para>
18207<para lang="en">
18208now all ngx_http_perl_module methods return values copied to perl's
18209allocated memory.
18210</para>
18211</change>
18212
18213<change type="bugfix">
18214<para lang="ru">
18215если nginx был собран с модулем ngx_http_perl_module,
18216использовался perl до версии 5.8.6 и perl поддерживал потоки,
18217то во время переконфигурации основной процесс аварийно выходил;
18218ошибка появилась в 0.5.9.<br/>
18219Спасибо Борису Жмурову.
18220</para>
18221<para lang="en">
18222if nginx was built with ngx_http_perl_module,
18223the perl before 5.8.6 was used, and perl supported threads,
18224then during reconfiguration the master process aborted;
18225the bug had appeared in 0.5.9.<br/>
18226Thanks to Boris Zhmurov.
18227</para>
18228</change>
18229
18230<change type="bugfix">
18231<para lang="ru">
18232в методы модуля ngx_http_perl_module
18233могли передаваться неверные результаты выделения в регулярных выражениях.
18234</para>
18235<para lang="en">
18236the ngx_http_perl_module methods may get invalid values of the regex captures.
18237</para>
18238</change>
18239
18240<change type="bugfix">
18241<para lang="ru">
18242если метод $r->has_request_body() вызывался для запроса,
18243у которого небольшое тело запроса было уже полностью получено,
18244то в рабочем процессе происходил segmentation fault.
18245</para>
18246<para lang="en">
18247a segmentation fault occurred in worker process,
18248if the $r->has_request_body() method was called for a request
18249whose small request body was already received.
18250</para>
18251</change>
18252
18253<change type="bugfix">
18254<para lang="ru">
18255large_client_header_buffers не освобождались перед переходом в состояние
18256keep-alive.<br/>
18257Спасибо Олександру Штепе.
18258</para>
18259<para lang="en">
18260large_client_header_buffers did not freed before going to keep-alive state.<br/>
18261Thanks to Olexander Shtepa.
18262</para>
18263</change>
18264
18265<change type="bugfix">
18266<para lang="ru">
18267в переменной $upstream_addr не записывался последний адрес;
18268ошибка появилась в 0.6.18.
18269</para>
18270<para lang="en">
18271the last address was missed in the $upstream_addr variable;
18272the bug had appeared in 0.6.18.
18273</para>
18274</change>
18275
18276<change type="bugfix">
18277<para lang="ru">
18278директива fastcgi_catch_stderr не возвращала ошибку;
18279теперь она возвращает ошибку 502, которую можно направить на следующий сервер
18280с помощью "fastcgi_next_upstream invalid_header".
18281</para>
18282<para lang="en">
18283the "fastcgi_catch_stderr" directive did return error code;
18284now it returns 502 code, that can be rerouted to a next server using
18285the "fastcgi_next_upstream invalid_header" directive.
18286</para>
18287</change>
18288
18289<change type="bugfix">
18290<para lang="ru">
18291при использовании директивы fastcgi_catch_stderr
18292в основном процессе происходил segmentation fault;
18293ошибка появилась в 0.6.10.<br/>
18294Спасибо Manlio Perillo.
18295</para>
18296<para lang="en">
18297a segmentation fault occurred in master process
18298if the "fastcgi_catch_stderr" directive was used;
18299the bug had appeared in 0.6.10.<br/>
18300Thanks to Manlio Perillo.
18301</para>
18302</change>
18303
18304</changes>
18305
18306
18307<changes ver="0.6.21" date="2007-12-03">
18308
18309<change type="change">
18310<para lang="ru">
18311если в значениях переменных директивы proxy_pass используются
18312только IP-адреса, то указывать resolver не нужно.
18313</para>
18314<para lang="en">
18315if variable values used in a "proxy_pass" directive contain IP-addresses only,
18316then a "resolver" directive is not mandatory.
18317</para>
18318</change>
18319
18320<change type="bugfix">
18321<para lang="ru">
18322при использовании директивы proxy_pass c URI-частью
18323в рабочем процессе мог произойти segmentation fault;
18324ошибка появилась в 0.6.19.
18325</para>
18326<para lang="en">
18327a segmentation fault might occur in worker process
18328if a "proxy_pass" directive with URI-part was used;
18329the bug had appeared in 0.6.19.
18330</para>
18331</change>
18332
18333<change type="bugfix">
18334<para lang="ru">
18335если resolver использовался на платформах, не поддерживающих метод kqueue,
18336то nginx выдавал alert "name is out of response".<br/>
18337Спасибо Андрею Нигматулину.
18338</para>
18339<para lang="en">
18340if resolver was used on platform that does not support kqueue,
18341then nginx issued an alert "name is out of response".<br/>
18342Thanks to Andrei Nigmatulin.
18343</para>
18344</change>
18345
18346<change type="bugfix">
18347<para lang="ru">
18348При использовании переменной $server_protocol в FastCGI-параметрах
18349и запросе, длина которого была близка к значению директивы
18350client_header_buffer_size,
18351nginx выдавал alert "fastcgi: the request record is too big".
18352</para>
18353<para lang="en">
18354if the $server_protocol was used in FastCGI parameters
18355and a request line length was near to the "client_header_buffer_size"
18356directive value,
18357then nginx issued an alert "fastcgi: the request record is too big".
18358</para>
18359</change>
18360
18361<change type="bugfix">
18362<para lang="ru">
18363при обычном запросе версии HTTP/0.9 к HTTPS серверу nginx возвращал
18364обычный ответ.
18365</para>
18366<para lang="en">
18367if a plain text HTTP/0.9 version request was made to HTTPS server,
18368then nginx returned usual response.
18369</para>
18370</change>
18371
18372</changes>
18373
18374
18375<changes ver="0.6.20" date="2007-11-28">
18376
18377<change type="bugfix">
18378<para lang="ru">
18379при использовании директивы proxy_pass c URI-частью
18380в рабочем процессе мог произойти segmentation fault;
18381ошибка появилась в 0.6.19.
18382</para>
18383<para lang="en">
18384a segmentation fault might occur in worker process
18385if a "proxy_pass" directive with URI-part was used;
18386the bug had appeared in 0.6.19.
18387</para>
18388</change>
18389
18390</changes>
18391
18392
18393<changes ver="0.6.19" date="2007-11-27">
18394
18395<change type="bugfix">
18396<para lang="ru">
18397версия 0.6.18 не собиралась.
18398</para>
18399<para lang="en">
18400the 0.6.18 version could not be built.
18401</para>
18402</change>
18403
18404</changes>
18405
18406<changes ver="0.6.18" date="2007-11-27">
18407
18408<change type="change">
18409<para lang="ru">
18410теперь модуль ngx_http_userid_module в поле куки с номером процесса
18411добавляет микросекунды на время старта.
18412</para>
18413<para lang="en">
18414now the ngx_http_userid_module adds start time microseconds
18415to the cookie field contains a pid value.
18416</para>
18417</change>
18418
18419<change type="change">
18420<para lang="ru">
18421в error_log теперь записывается полная строка запроса вместо только URI.
18422</para>
18423<para lang="en">
18424now the full request line instead of URI only is written to error_log.
18425</para>
18426</change>
18427
18428<change type="feature">
18429<para lang="ru">
18430директива proxy_pass поддерживает переменные.
18431</para>
18432<para lang="en">
18433variables support in the "proxy_pass" directive.
18434</para>
18435</change>
18436
18437<change type="feature">
18438<para lang="ru">
18439директивы resolver и resolver_timeout.
18440</para>
18441<para lang="en">
18442the "resolver" and "resolver_timeout" directives.
18443</para>
18444</change>
18445
18446<change type="feature">
18447<para lang="ru">
18448теперь директива "add_header last-modified ''" удаляет в заголовке ответа
18449строку "Last-Modified".
18450</para>
18451<para lang="en">
18452now the directive "add_header last-modified ''" deletes a "Last-Modified"
18453response header line.
18454</para>
18455</change>
18456
18457<change type="bugfix">
18458<para lang="ru">
18459директива limit_rate не позволяла передавать на полной скорости,
18460даже если был указан очень большой лимит.
18461</para>
18462<para lang="en">
18463the "limit_rate" directive did not allow to use full throughput,
18464even if limit value was very high.
18465</para>
18466</change>
18467
18468</changes>
18469
18470
18471<changes ver="0.6.17" date="2007-11-15">
18472
18473<change type="feature">
18474<para lang="ru">
18475поддержка строки "If-Range" в заголовке запроса.<br/>
18476Спасибо Александру Инюхину.
18477</para>
18478<para lang="en">
18479the "If-Range" request header line support.<br/>
18480Thanks to Alexander V. Inyukhin.
18481</para>
18482</change>
18483
18484<change type="bugfix">
18485<para lang="ru">
18486при использовании директивы msie_refresh повторно экранировались
18487уже экранированные символы;
18488ошибка появилась в 0.6.4.
18489</para>
18490<para lang="en">
18491URL double escaping in a redirect of the "msie_refresh" directive;
18492the bug had appeared in 0.6.4.
18493</para>
18494</change>
18495
18496<change type="bugfix">
18497<para lang="ru">
18498директива autoindex не работала при использовании "alias /".
18499</para>
18500<para lang="en">
18501the "autoindex" directive did not work with the "alias /" directive.
18502</para>
18503</change>
18504
18505<change type="bugfix">
18506<para lang="ru">
18507при использовании подзапросов
18508в рабочем процессе мог произойти segmentation fault.
18509</para>
18510<para lang="en">
18511a segmentation fault might occur in worker process if subrequests were used.
18512</para>
18513</change>
18514
18515<change type="bugfix">
18516<para lang="ru">
18517при использовании SSL и gzip большие ответы могли передаваться не полностью.
18518</para>
18519<para lang="en">
18520the big responses may be transferred truncated if SSL and gzip were used.
18521</para>
18522</change>
18523
18524<change type="bugfix">
18525<para lang="ru">
18526если ответ проксированного сервера был версии HTTP/0.9,
18527то переменная $status была равна 0.
18528</para>
18529<para lang="en">
18530the $status variable was equal to 0 if a proxied server returned response
18531in HTTP/0.9 version.
18532</para>
18533</change>
18534
18535</changes>
18536
18537
18538<changes ver="0.6.16" date="2007-10-29">
18539
18540<change type="change">
18541<para lang="ru">
18542теперь на Linux используется uname(2) вместо procfs.<br/>
18543Спасибо Илье Новикову.
18544</para>
18545<para lang="en">
18546now the uname(2) is used on Linux instead of procfs.<br/>
18547Thanks to Ilya Novikov.
18548</para>
18549</change>
18550
18551<change type="bugfix">
18552<para lang="ru">
18553если в директиве error_page использовался символ "?", то он экранировался
18554при проксировании запроса;
18555ошибка появилась в 0.6.11.
18556</para>
18557<para lang="en">
18558if the "?" character was in a "error_page" directive, then it was escaped
18559in a proxied request;
18560the bug had appeared in 0.6.11.
18561</para>
18562</change>
18563
18564<change type="bugfix">
18565<para lang="ru">
18566совместимость с mget.
18567</para>
18568<para lang="en">
18569compatibility with mget.
18570</para>
18571</change>
18572
18573</changes>
18574
18575
18576<changes ver="0.6.15" date="2007-10-22">
18577
18578<change type="feature">
18579<para lang="ru">
18580совместимость с Cygwin.<br/>
18581Спасибо Владимиру Кутакову.
18582</para>
18583<para lang="en">
18584Cygwin compatibility.<br/>
18585Thanks to Vladimir Kutakov.
18586</para>
18587</change>
18588
18589<change type="feature">
18590<para lang="ru">
18591директива merge_slashes.
18592</para>
18593<para lang="en">
18594the "merge_slashes" directive.
18595</para>
18596</change>
18597
18598<change type="feature">
18599<para lang="ru">
18600директива gzip_vary.
18601</para>
18602<para lang="en">
18603the "gzip_vary" directive.
18604</para>
18605</change>
18606
18607<change type="feature">
18608<para lang="ru">
18609директива server_tokens.
18610</para>
18611<para lang="en">
18612the "server_tokens" directive.
18613</para>
18614</change>
18615
18616<change type="bugfix">
18617<para lang="ru">
18618nginx не раскодировал URI в команде SSI include.
18619</para>
18620<para lang="en">
18621nginx did not unescape URI in the "include" SSI command.
18622</para>
18623</change>
18624
18625<change type="bugfix">
18626<para lang="ru">
18627при использовании переменной в директивах charset или source_charset
18628на старте или во время переконфигурации происходил segmentation fault,
18629</para>
18630<para lang="en">
18631the segmentation fault was occurred on start or while reconfiguration
18632if variable was used in the "charset" or "source_charset" directives.
18633</para>
18634</change>
18635
18636<change type="bugfix">
18637<para lang="ru">
18638nginx возвращал ошибку 400 на запросы вида
18639<nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/>
18640Спасибо James Oakley.
18641</para>
18642<para lang="en">
18643nginx returned the 400 response on requests like
18644<nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/>
18645Thanks to James Oakley.
18646</para>
18647</change>
18648
18649<change type="bugfix">
18650<para lang="ru">
18651после перенаправления запроса с телом запроса с помощью директивы
18652error_page nginx пытался снова прочитать тело запроса;
18653ошибка появилась в 0.6.7.
18654</para>
18655<para lang="en">
18656if request with request body was redirected using the "error_page" directive,
18657then nginx tried to read the request body again;
18658the bug had appeared in 0.6.7.
18659</para>
18660</change>
18661
18662<change type="bugfix">
18663<para lang="ru">
18664в рабочем процессе происходил segmentation fault, если у сервера,
18665обрабатывающему запрос, не был явно определён server_name;
18666ошибка появилась в 0.6.7.
18667</para>
18668<para lang="en">
18669a segmentation fault occurred in worker process
18670if no server_name was explicitly defined for server processing request;
18671the bug had appeared in 0.6.7.
18672</para>
18673</change>
18674
18675</changes>
18676
18677
18678<changes ver="0.6.14" date="2007-10-15">
18679
18680<change type="change">
18681<para lang="ru">
18682теперь по умолчанию команда SSI echo использует кодирование entity.
18683</para>
18684<para lang="en">
18685now by default the "echo" SSI command uses entity encoding.
18686</para>
18687</change>
18688
18689<change type="feature">
18690<para lang="ru">
18691параметр encoding в команде SSI echo.
18692</para>
18693<para lang="en">
18694the "encoding" parameter in the "echo" SSI command.
18695</para>
18696</change>
18697
18698<change type="feature">
18699<para lang="ru">
18700директиву access_log можно использовать внутри блока limit_except.
18701</para>
18702<para lang="en">
18703the "access_log" directive may be used inside the "limit_except" block.
18704</para>
18705</change>
18706
18707<change type="bugfix">
18708<para lang="ru">
18709если все сервера апстрима оказывались недоступными,
18710то до восстановления работоспособности
18711у всех серверов вес становился равным одному;
18712ошибка появилась в 0.6.6.
18713</para>
18714<para lang="en">
18715if all upstream servers were failed, then all servers had got weight
18716the was equal one until servers became alive;
18717the bug had appeared in 0.6.6.
18718</para>
18719</change>
18720
18721<change type="bugfix">
18722<para lang="ru">
18723при использовании переменных $date_local и $date_gmt вне модуля
18724ngx_http_ssi_filter_module в рабочем процессе происходил segmentation fault.
18725</para>
18726<para lang="en">
18727a segmentation fault occurred in worker process
18728if $date_local and $date_gmt were used outside the ngx_http_ssi_filter_module.
18729</para>
18730</change>
18731
18732<change type="bugfix">
18733<para lang="ru">
18734при использовании включённом отладочном логе
18735в рабочем процессе мог произойти segmentation fault.<br/>
18736Спасибо Андрею Нигматулину.
18737</para>
18738<para lang="en">
18739a segmentation fault might occur in worker process
18740if debug log was enabled.<br/>
18741Thanks to Andrei Nigmatulin.
18742</para>
18743</change>
18744
18745<change type="bugfix">
18746<para lang="ru">
18747ngx_http_memcached_module не устанавливал $upstream_response_time.<br/>
18748Спасибо Максиму Дунину.
18749</para>
18750<para lang="en">
18751ngx_http_memcached_module did not set $upstream_response_time.<br/>
18752Thanks to Maxim Dounin.
18753</para>
18754</change>
18755
18756<change type="bugfix">
18757<para lang="ru">
18758рабочий процесс мог зациклиться при использовании memcached.
18759</para>
18760<para lang="en">
18761a worker process may got caught in an endless loop, if the memcached was used.
18762</para>
18763</change>
18764
18765<change type="bugfix">
18766<para lang="ru">
18767nginx распознавал параметры "close" и "keep-alive" в строке "Connection"
18768в заголовке запроса только, если они были в нижнем регистре;
18769ошибка появилась в 0.6.11.
18770</para>
18771<para lang="en">
18772nginx supported low case only "close" and "keep-alive" values
18773in the "Connection" request header line;
18774the bug had appeared in 0.6.11.
18775</para>
18776</change>
18777
18778<change type="bugfix">
18779<para lang="ru">
18780sub_filter не работал с пустой строкой замены.
18781</para>
18782<para lang="en">
18783sub_filter did not work with empty substitution.
18784</para>
18785</change>
18786
18787<change type="bugfix">
18788<para lang="ru">
18789в парсинге sub_filter.
18790</para>
18791<para lang="en">
18792in sub_filter parsing.
18793</para>
18794</change>
18795
18796</changes>
18797
18798
18799<changes ver="0.6.13" date="2007-09-24">
18800
18801<change type="bugfix">
18802<para lang="ru">
18803nginx не закрывал файл каталога для запроса HEAD,
18804если использовался autoindex<br/>
18805Спасибо Arkadiusz Patyk.
18806</para>
18807<para lang="en">
18808nginx did not close directory file on HEAD request if autoindex was used.<br/>
18809Thanks to Arkadiusz Patyk.
18810</para>
18811</change>
18812
18813</changes>
18814
18815
18816<changes ver="0.6.12" date="2007-09-21">
18817
18818<change type="change">
18819<para lang="ru">
18820почтовый прокси-сервер разделён на три модуля: pop3, imap и smtp.
18821</para>
18822<para lang="en">
18823mail proxy was split on three modules: pop3, imap and smtp.
18824</para>
18825</change>
18826
18827<change type="feature">
18828<para lang="ru">
18829параметры конфигурации --without-mail_pop3_module,
18830--without-mail_imap_module и --without-mail_smtp_module.
18831</para>
18832<para lang="en">
18833the --without-mail_pop3_module, --without-mail_imap_module,
18834and --without-mail_smtp_module configuration parameters.
18835</para>
18836</change>
18837
18838<change type="feature">
18839<para lang="ru">
18840директивы smtp_greeting_delay и smtp_client_buffer модуля ngx_mail_smtp_module.
18841</para>
18842<para lang="en">
18843the "smtp_greeting_delay" and "smtp_client_buffer" directives
18844of the ngx_mail_smtp_module.
18845</para>
18846</change>
18847
18848<change type="bugfix">
18849<para lang="ru">
18850wildcard в конце имени сервера не работали;
18851ошибка появилась в 0.6.9.
18852</para>
18853<para lang="en">
18854the trailing wildcards did not work;
18855the bug had appeared in 0.6.9.
18856</para>
18857</change>
18858
18859<change type="bugfix">
18860<para lang="ru">
18861при использовании разделяемой библиотеки PCRE,
18862расположенной в нестандартном месте, nginx не запускался на Solaris.
18863</para>
18864<para lang="en">
18865nginx could not start on Solaris if the shared PCRE library located
18866in non-standard place was used.
18867</para>
18868</change>
18869
18870<change type="bugfix">
18871<para lang="ru">
18872директивы proxy_hide_header и fastcgi_hide_header не скрывали
18873строки заголовка ответа с именем больше 32 символов.<br/>
18874Спасибо Manlio Perillo.
18875</para>
18876<para lang="en">
18877the "proxy_hide_header" and "fastcgi_hide_header" directives did not
18878hide response header lines whose name was longer than 32 characters.<br/>
18879Thanks to Manlio Perillo.
18880</para>
18881</change>
18882
18883</changes>
18884
18885
18886<changes ver="0.6.11" date="2007-09-11">
18887
18888<change type="bugfix">
18889<para lang="ru">
18890счётчик активных соединений всегда рос при использовании почтового
18891прокси-сервера.
18892</para>
18893<para lang="en">
18894active connection counter always increased if mail proxy was used.
18895</para>
18896</change>
18897
18898<change type="bugfix">
18899<para lang="ru">
18900если бэкенд возвращал только заголовок ответа при небуферизированном
18901проксировании, то nginx закрывал соединение с бэкендом по таймауту.
18902</para>
18903<para lang="en">
18904if backend returned response header only using non-buffered proxy,
18905then nginx closed backend connection on timeout.
18906</para>
18907</change>
18908
18909<change type="bugfix">
18910<para lang="ru">
18911nginx не поддерживал несколько строк "Connection" в заголовке запроса.
18912</para>
18913<para lang="en">
18914nginx did not support several "Connection" request header lines.
18915</para>
18916</change>
18917
18918<change type="bugfix">
18919<para lang="ru">
18920если в сервере апстрима был задан max_fails, то после первой же неудачной
18921попытки вес сервера навсегда становился равным одному;
18922ошибка появилась в 0.6.6.
18923</para>
18924<para lang="en">
18925if the "max_fails" was set for upstream server, then after first
18926failure server weight was always one;
18927the bug had appeared in 0.6.6.
18928</para>
18929</change>
18930
18931</changes>
18932
18933
18934<changes ver="0.6.10" date="2007-09-03">
18935
18936<change type="feature">
18937<para lang="ru">
18938директивы open_file_cache, open_file_cache_retest и open_file_cache_errors.
18939</para>
18940<para lang="en">
18941the "open_file_cache", "open_file_cache_retest", and "open_file_cache_errors"
18942directives.
18943</para>
18944</change>
18945
18946<change type="bugfix">
18947<para lang="ru">
18948утечки сокетов;
18949ошибка появилась в 0.6.7.
18950</para>
18951<para lang="en">
18952socket leak;
18953the bug had appeared in 0.6.7.
18954</para>
18955</change>
18956
18957<change type="bugfix">
18958<para lang="ru">
18959В строку заголовка ответа "Content-Type", указанную в методе
18960$r->send_http_header(), не добавлялась кодировка, указанная в директиве charset.
18961</para>
18962<para lang="en">
18963a charset set by the "charset" directive was not appended
18964to the "Content-Type" header set by $r->send_http_header().
18965</para>
18966</change>
18967
18968<change type="bugfix">
18969<para lang="ru">
18970при использовании метода /dev/poll
18971в рабочем процессе мог произойти segmentation fault.
18972</para>
18973<para lang="en">
18974a segmentation fault might occur in worker process
18975if /dev/poll method was used.
18976</para>
18977</change>
18978
18979</changes>
18980
18981
18982<changes ver="0.6.9" date="2007-08-28">
18983
18984<change type="bugfix">
18985<para lang="ru">
18986рабочий процесс мог зациклиться при использовании протокола HTTPS;
18987ошибка появилась в 0.6.7.
18988</para>
18989<para lang="en">
18990a worker process may got caught in an endless loop,
18991if the HTTPS protocol was used;
18992the bug had appeared in 0.6.7.
18993</para>
18994</change>
18995
18996<change type="bugfix">
18997<para lang="ru">
18998если сервер слушал на двух адресах или портах, то nginx не запускался
18999при использовании wildcard в конце имени сервера.
19000</para>
19001<para lang="en">
19002if server listened on two addresses or ports and trailing wildcard was used,
19003then nginx did not run.
19004</para>
19005</change>
19006
19007<change type="bugfix">
19008<para lang="ru">
19009директива ip_hash могла неверно помечать сервера как нерабочие.
19010</para>
19011<para lang="en">
19012the "ip_hash" directive might incorrectly mark servers as down.
19013</para>
19014</change>
19015
19016<change type="bugfix">
19017<para lang="ru">
19018nginx не собирался на amd64;
19019ошибка появилась в 0.6.8.
19020</para>
19021<para lang="en">
19022nginx could not be built on amd64;
19023the bug had appeared in 0.6.8.
19024</para>
19025</change>
19026
19027</changes>
19028
19029
19030<changes ver="0.6.8" date="2007-08-20">
19031
19032<change type="change">
19033<para lang="ru">
19034теперь nginx пытается установить директивы worker_priority,
19035worker_rlimit_nofile, worker_rlimit_core, worker_rlimit_sigpending
19036без привилегий root'а.
19037</para>
19038<para lang="en">
19039now nginx tries to set the "worker_priority", "worker_rlimit_nofile",
19040"worker_rlimit_core", and "worker_rlimit_sigpending" without super-user
19041privileges.
19042</para>
19043</change>
19044
19045<change type="change">
19046<para lang="ru">
19047теперь nginx экранирует символы пробела и "%" при передаче запроса
19048серверу аутентификации почтового прокси-сервера.
19049</para>
19050<para lang="en">
19051now nginx escapes space and "%" in request to a mail proxy authentication
19052server.
19053</para>
19054</change>
19055
19056<change type="change">
19057<para lang="ru">
19058теперь nginx экранирует символ "%" в переменной $memcached_key.
19059</para>
19060<para lang="en">
19061now nginx escapes "%" in $memcached_key variable.
19062</para>
19063</change>
19064
19065<change type="bugfix">
19066<para lang="ru">
19067при указании относительного пути к конфигурационному файлу в качестве
19068параметра ключа -c nginx определял путь относительно конфигурационного префикса;
19069ошибка появилась в 0.6.6.
19070</para>
19071<para lang="en">
19072nginx used path relative to configuration prefix for non-absolute
19073configuration file path specified in the "-c" key;
19074the bug had appeared in 0.6.6.
19075</para>
19076</change>
19077
19078<change type="bugfix">
19079<para lang="ru">
19080nginx не работал на FreeBSD/sparc64.
19081</para>
19082<para lang="en">
19083nginx did not work on FreeBSD/sparc64.
19084</para>
19085</change>
19086
19087</changes>
19088
19089
19090<changes ver="0.6.7" date="2007-08-15">
19091
19092<change type="change">
19093<para lang="ru">
19094теперь пути, указанные в директивах include, auth_basic_user_file,
19095perl_modules, ssl_certificate, ssl_certificate_key и
19096ssl_client_certificate, определяются относительно каталога конфигурационного
19097файла nginx.conf, а не относительно префикса.
19098</para>
19099<para lang="en">
19100now the paths specified in the "include", "auth_basic_user_file",
19101"perl_modules", "ssl_certificate", "ssl_certificate_key", and
19102"ssl_client_certificate" directives are relative to directory of
19103nginx configuration file nginx.conf, but not to nginx prefix directory.
19104</para>
19105</change>
19106
19107<change type="change">
19108<para lang="ru">
19109параметр --sysconfdir=PATH в configure упразднён.
19110</para>
19111<para lang="en">
19112the --sysconfdir=PATH option in configure was canceled.
19113</para>
19114</change>
19115
19116<change type="change">
19117<para lang="ru">
19118для обновления на лету версий 0.1.x создан специальный сценарий
19119<nobr>make upgrade1.</nobr>
19120</para>
19121<para lang="en">
19122the special make target "upgrade1" was defined for online upgrade of
191230.1.x versions.
19124</para>
19125</change>
19126
19127<change type="feature">
19128<para lang="ru">
19129директивы server_name и valid_referers поддерживают регулярные выражения.
19130</para>
19131<para lang="en">
19132the "server_name" and "valid_referers" directives support regular expressions.
19133</para>
19134</change>
19135
19136<change type="feature">
19137<para lang="ru">
19138директива server в блоке upstream поддерживает параметр backup.
19139</para>
19140<para lang="en">
19141the "server" directive in the "upstream" context supports
19142the "backup" parameter.
19143</para>
19144</change>
19145
19146<change type="feature">
19147<para lang="ru">
19148модуль ngx_http_perl_module поддерживает метод $r->discard_request_body.
19149</para>
19150<para lang="en">
19151the ngx_http_perl_module supports the $r->discard_request_body.
19152</para>
19153</change>
19154
19155<change type="feature">
19156<para lang="ru">
19157директива "add_header Last-Modified ..." меняет строку "Last-Modified"
19158в заголовке ответа.
19159</para>
19160<para lang="en">
19161the "add_header Last-Modified ..." directive changes the "Last-Modified"
19162response header line.
19163</para>
19164</change>
19165
19166<change type="bugfix">
19167<para lang="ru">
19168если на запрос с телом возвращался ответ с кодом HTTP отличным от 200,
19169и после этого запроса соединение переходило в состояние keep-alive,
19170то на следующий запрос nginx возвращал 400.
19171</para>
19172<para lang="en">
19173if a response different than 200 was returned to a request with body
19174and connection went to the keep-alive state after the request, then
19175nginx returned 400 for the next request.
19176</para>
19177</change>
19178
19179<change type="bugfix">
19180<para lang="ru">
19181если в директиве auth_http был задан неправильный адрес, то
19182в рабочем процессе происходил segmentation fault.
19183</para>
19184<para lang="en">
19185a segmentation fault occurred in worker process
19186if invalid address was set in the "auth_http" directive.
19187</para>
19188</change>
19189
19190<change type="bugfix">
19191<para lang="ru">
19192теперь по умолчанию nginx использует значение 511 для listen backlog
19193на всех платформах, кроме FreeBSD.<br/>
19194Спасибо Jiang Hong.
19195</para>
19196<para lang="en">
19197now nginx uses default listen backlog value 511 on all platforms
19198except FreeBSD.<br/>
19199Thanks to Jiang Hong.
19200</para>
19201</change>
19202
19203<change type="bugfix">
19204<para lang="ru">
19205рабочий процесс мог зациклиться, если server в блоке upstream был помечен
19206как down;
19207ошибка появилась в 0.6.6.
19208</para>
19209<para lang="en">
19210a worker process may got caught in an endless loop, if a "server" inside
19211"upstream" block was marked as "down";
19212the bug had appeared in 0.6.6.
19213</para>
19214</change>
19215
19216<change type="bugfix">
19217<para lang="ru">
19218sendfilev() в Solaris теперь не используется при передаче тела запроса
19219FastCGI-серверу через unix domain сокет.
19220</para>
19221<para lang="en">
19222now Solaris sendfilev() is not used to transfer the client request body
19223to FastCGI-server via the unix domain socket.
19224</para>
19225</change>
19226
19227</changes>
19228
19229
19230<changes ver="0.6.6" date="2007-07-30">
19231
19232<change type="feature">
19233<para lang="ru">
19234параметр --sysconfdir=PATH в configure.
19235</para>
19236<para lang="en">
19237the --sysconfdir=PATH option in configure.
19238</para>
19239</change>
19240
19241<change type="feature">
19242<para lang="ru">
19243именованные location'ы.
19244</para>
19245<para lang="en">
19246named locations.
19247</para>
19248</change>
19249
19250<change type="feature">
19251<para lang="ru">
19252переменную $args можно устанавливать с помощью set.
19253</para>
19254<para lang="en">
19255the $args variable can be set with the "set" directive.
19256</para>
19257</change>
19258
19259<change type="feature">
19260<para lang="ru">
19261переменная $is_args.
19262</para>
19263<para lang="en">
19264the $is_args variable.
19265</para>
19266</change>
19267
19268<change type="bugfix">
19269<para lang="ru">
19270равномерное распределение запросов к апстримам с большими весами.
19271</para>
19272<para lang="en">
19273fair big weight upstream balancer.
19274</para>
19275</change>
19276
19277<change type="bugfix">
19278<para lang="ru">
19279если клиент в почтовом прокси-сервере закрывал соединение,
19280то nginx мог не закрывать соединение с бэкендом.
19281</para>
19282<para lang="en">
19283if a client has closed connection to mail proxy
19284 then nginx might not close connection to backend.
19285</para>
19286</change>
19287
19288<change type="bugfix">
19289<para lang="ru">
19290при использовании одного хоста в качестве бэкендов для протоколов HTTP и HTTPS
19291без явного указания портов, nginx использовал только один порт&mdash;80 или 443.
19292</para>
19293<para lang="en">
19294if the same host without specified port was used as backend for HTTP and HTTPS,
19295then nginx used only one port&mdash;80 or 443.
19296</para>
19297</change>
19298
19299<change type="bugfix">
19300<para lang="ru">
19301nginx не собирался на Solaris/amd64 Sun Studio 11 и более ранними версиями;
19302ошибка появилась в 0.6.4.
19303</para>
19304<para lang="en">
19305fix building on Solaris/amd64 by Sun Studio 11 and early versions;
19306the bug had appeared in 0.6.4.
19307</para>
19308</change>
19309
19310</changes>
19311
19312
19313<changes ver="0.6.5" date="2007-07-23">
19314
19315<change type="feature">
19316<para lang="ru">
19317переменная $nginx_version.<br/>
19318Спасибо Николаю Гречуху.
19319</para>
19320<para lang="en">
19321$nginx_version variable.<br/>
19322Thanks to Nick S. Grechukh.
19323</para>
19324</change>
19325
19326<change type="feature">
19327<para lang="ru">
19328почтовый прокси-сервер поддерживает AUTHENTICATE в режиме IMAP.<br/>
19329Спасибо Максиму Дунину.
19330</para>
19331<para lang="en">
19332the mail proxy supports AUTHENTICATE in IMAP mode.<br/>
19333Thanks to Maxim Dounin.
19334</para>
19335</change>
19336
19337<change type="feature">
19338<para lang="ru">
19339почтовый прокси-сервер поддерживает STARTTLS в режиме SMTP.<br/>
19340Спасибо Максиму Дунину.
19341</para>
19342<para lang="en">
19343the mail proxy supports STARTTLS in SMTP mode.<br/>
19344Thanks to Maxim Dounin.
19345</para>
19346</change>
19347
19348<change type="bugfix">
19349<para lang="ru">
19350теперь nginx экранирует пробел в переменной $memcached_key.
19351</para>
19352<para lang="en">
19353now nginx escapes space in $memcached_key variable.
19354</para>
19355</change>
19356
19357<change type="bugfix">
19358<para lang="ru">
19359nginx неправильно собирался Sun Studio на Solaris/amd64.<br/>
19360Спасибо Jiang Hong.
19361</para>
19362<para lang="en">
19363nginx was incorrectly built by Sun Studio on Solaris/amd64.<br/>
19364Thanks to Jiang Hong.
19365</para>
19366</change>
19367
19368<change type="bugfix">
19369<para lang="ru">
19370незначительных потенциальных ошибок.<br/>
19371Спасибо Coverity's Scan.
19372</para>
19373<para lang="en">
19374of minor potential bugs.<br/>
19375Thanks to Coverity's Scan.
19376</para>
19377</change>
19378
19379</changes>
19380
19381
19382<changes ver="0.6.4" date="2007-07-17">
19383
19384<change type="security">
19385<para lang="ru">
19386при использовании директивы msie_refresh был возможен XSS.<br/>
19387Спасибо Максиму Богуку.
19388</para>
19389<para lang="en">
19390the "msie_refresh" directive allowed XSS.<br/>
19391Thanks to Maxim Boguk.
19392</para>
19393</change>
19394
19395<change type="change">
19396<para lang="ru">
19397директивы proxy_store и fastcgi_store изменены.
19398</para>
19399<para lang="en">
19400the "proxy_store" and "fastcgi_store" directives were changed.
19401</para>
19402</change>
19403
19404<change type="feature">
19405<para lang="ru">
19406директивы proxy_store_access и fastcgi_store_access.
19407</para>
19408<para lang="en">
19409the "proxy_store_access" and "fastcgi_store_access" directives.
19410</para>
19411</change>
19412
19413<change type="bugfix">
19414<para lang="ru">
19415nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/>
19416Спасибо Андрею Нигматулину.
19417</para>
19418<para lang="en">
19419nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/>
19420Thanks to Andrei Nigmatulin.
19421</para>
19422</change>
19423
19424<change type="workaround">
19425<para lang="ru">
19426обход ошибки в Sun Studio 12.<br/>
19427Спасибо Jiang Hong.
19428</para>
19429<para lang="en">
19430for Sun Studio 12.<br/>
19431Thanks to Jiang Hong.
19432</para>
19433</change>
19434
19435</changes>
19436
19437
19438<changes ver="0.6.3" date="2007-07-12">
19439
19440<change type="feature">
19441<para lang="ru">
19442директивы proxy_store и fastcgi_store.
19443</para>
19444<para lang="en">
19445the "proxy_store" and "fastcgi_store" directives.
19446</para>
19447</change>
19448
19449<change type="bugfix">
19450<para lang="ru">
19451при использовании директивы auth_http_header
19452в рабочем процессе мог произойти segmentation fault.<br/>
19453Спасибо Максиму Дунину.
19454</para>
19455<para lang="en">
19456a segmentation fault might occur in worker process
19457if the "auth_http_header" directive was used.<br/>
19458Thanks to Maxim Dounin.
19459</para>
19460</change>
19461
19462<change type="bugfix">
19463<para lang="ru">
19464если использовался метод аутентификации CRAM-MD5, но он не был разрешён,
19465то в рабочем процессе происходил segmentation fault.
19466</para>
19467<para lang="en">
19468a segmentation fault occurred in worker process
19469if the CRAM-MD5 authentication method was used, but it was not enabled.
19470</para>
19471</change>
19472
19473<change type="bugfix">
19474<para lang="ru">
19475при использовании протокола HTTPS в директиве proxy_pass
19476в рабочем процессе мог произойти segmentation fault.
19477</para>
19478<para lang="en">
19479a segmentation fault might occur in worker process when
19480the HTTPS protocol was used in the "proxy_pass" directive.
19481</para>
19482</change>
19483
19484<change type="bugfix">
19485<para lang="ru">
19486в рабочем процессе мог произойти segmentation fault,
19487если использовался метод eventport.
19488</para>
19489<para lang="en">
19490a segmentation fault might occur in worker process
19491if the eventport method was used.
19492</para>
19493</change>
19494
19495<change type="bugfix">
19496<para lang="ru">
19497директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort не работали;
19498ошибка появилась в 0.5.13.
19499</para>
19500<para lang="en">
19501the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives
19502did not work;
19503the bug had appeared in 0.5.13.
19504</para>
19505</change>
19506
19507</changes>
19508
19509
19510<changes ver="0.6.2" date="2007-07-09">
19511
19512<change type="bugfix">
19513<para lang="ru">
19514если заголовок ответа был разделён в FastCGI-записях, то nginx передавал
19515клиенту мусор в таких заголовках.
19516</para>
19517<para lang="en">
19518if the FastCGI header was split in records,
19519then nginx passed garbage in the header to a client.
19520</para>
19521</change>
19522
19523</changes>
19524
19525
19526<changes ver="0.6.1" date="2007-06-17">
19527
19528<change type="bugfix">
19529<para lang="ru">
19530в парсинге SSI.
19531</para>
19532<para lang="en">
19533in SSI parsing.
19534</para>
19535</change>
19536
19537<change type="bugfix">
19538<para lang="ru">
19539при использовании удалённого подзапроса в SSI последующий
19540подзапрос локального файла мог отдаваться клиенту в неверном порядке.
19541</para>
19542<para lang="en">
19543if remote SSI subrequest was used, then posterior local file subrequest
19544might transferred to client in wrong order.
19545</para>
19546</change>
19547
19548<change type="bugfix">
19549<para lang="ru">
19550большие включения в SSI, сохранённые во временные файлы,
19551передавались не полностью.
19552</para>
19553<para lang="en">
19554large SSI inclusions buffered in temporary files were truncated.
19555</para>
19556</change>
19557
19558<change type="bugfix">
19559<para lang="ru">
19560значение perl'овой переменной $$ модуля ngx_http_perl_module было равно
19561номеру главного процесса.
19562</para>
19563<para lang="en">
19564the perl $$ variable value in ngx_http_perl_module was equal to the master
19565process identification number.
19566</para>
19567</change>
19568
19569</changes>
19570
19571
19572<changes ver="0.6.0" date="2007-06-14">
19573
19574<change type="feature">
19575<para lang="ru">
19576директивы "server_name", "map", and "valid_referers" поддерживают
19577маски вида "www.example.*".
19578</para>
19579<para lang="en">
19580the "server_name", "map", and "valid_referers" directives support
19581the "www.example.*" wildcards.
19582</para>
19583</change>
19584
19585</changes>
19586
19587
19588<changes ver="0.5.25" date="2007-06-11">
19589
19590<change type="bugfix">
19591<para lang="ru">
19592nginx не собирался с параметром --without-http_rewrite_module;
19593ошибка появилась в 0.5.24.
19594</para>
19595<para lang="en">
19596nginx could not be built with the --without-http_rewrite_module parameter;
19597the bug had appeared in 0.5.24.
19598</para>
19599</change>
19600
19601</changes>
19602
19603
19604<changes ver="0.5.24" date="2007-06-06">
19605
19606<change type="security">
19607<para lang="ru">
19608директива ssl_verify_client не работала, если запрос выполнялся
19609по протоколу HTTP/0.9.
19610</para>
19611<para lang="en">
19612the "ssl_verify_client" directive did not work if request was made
19613using HTTP/0.9.
19614</para>
19615</change>
19616
19617<change type="bugfix">
19618<para lang="ru">
19619при использовании сжатия часть ответа могла передаваться несжатой;
19620ошибка появилась в 0.5.23.
19621</para>
19622<para lang="en">
19623a part of response body might be passed uncompressed if gzip was used;
19624the bug had appeared in 0.5.23.
19625</para>
19626</change>
19627
19628</changes>
19629
19630
19631<changes ver="0.5.23" date="2007-06-04">
19632
19633<change type="feature">
19634<para lang="ru">
19635модуль ngx_http_ssl_module поддерживает расширение TLS Server Name Indication.
19636</para>
19637<para lang="en">
19638the ngx_http_ssl_module supports Server Name Indication TLS extension.
19639</para>
19640</change>
19641
19642<change type="feature">
19643<para lang="ru">
19644директива fastcgi_catch_stderr.<br/>
19645Спасибо Николаю Гречуху, проект OWOX.
19646</para>
19647<para lang="en">
19648the "fastcgi_catch_stderr" directive.<br/>
19649Thanks to Nick S. Grechukh, OWOX project.
19650</para>
19651</change>
19652
19653<change type="bugfix">
19654<para lang="ru">
19655на Линуксе в основном процессе происходил segmentation fault,
19656если два виртуальных сервера должны bind()ится к пересекающимся портам.
19657</para>
19658<para lang="en">
19659a segmentation fault occurred in master process if
19660two virtual servers should bind() to the overlapping ports.
19661</para>
19662</change>
19663
19664<change type="bugfix">
19665<para lang="ru">
19666если nginx был собран с модулем ngx_http_perl_module и perl
19667поддерживал потоки, то во время второй переконфигурации
19668выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
19669</para>
19670<para lang="en">
19671if nginx was built with ngx_http_perl_module and perl supported threads,
19672then during second reconfiguration the error messages
19673"panic: MUTEX_LOCK" and "perl_parse() failed" were issued.
19674</para>
19675</change>
19676
19677<change type="bugfix">
19678<para lang="ru">
19679в использовании протокола HTTPS в директиве proxy_pass.
19680</para>
19681<para lang="en">
19682in the HTTPS protocol in the "proxy_pass" directive.
19683</para>
19684</change>
19685
19686</changes>
19687
19688
19689<changes ver="0.5.22" date="2007-05-29">
19690
19691<change type="bugfix">
19692<para lang="ru">
19693большое тело запроса могло не передаваться бэкенду;
19694ошибка появилась в 0.5.21.
19695</para>
19696<para lang="en">
19697a big request body might not be passed to backend;
19698the bug had appeared in 0.5.21.
19699</para>
19700</change>
19701
19702</changes>
19703
19704
19705<changes ver="0.5.21" date="2007-05-28">
19706
19707<change type="bugfix">
19708<para lang="ru">
19709если внутри сервера описано больше примерно десяти location'ов,
19710то location'ы, заданные с помощью регулярного выражения,
19711могли выполняться не в том, порядке, в каком они описаны.
19712</para>
19713<para lang="en">
19714if server has more than about ten locations, then regex locations
19715might be chosen not in that order as they were specified.
19716</para>
19717</change>
19718
19719<change type="bugfix">
19720<para lang="ru">
19721на 64-битной платформе рабочий процесс мог зациклиться, если 33-тий
19722по счёту или последующий бэкенд упал.<br/>
19723Спасибо Антону Поварову.
19724</para>
19725<para lang="en">
19726a worker process may got caught in an endless loop on 64-bit platform,
19727if the 33-rd or next in succession backend has failed.<br/>
19728Thanks to Anton Povarov.
19729</para>
19730</change>
19731
19732<change type="bugfix">
19733<para lang="ru">
19734при использовании библиотеки PCRE на Solaris/sparc64
19735мог произойти bus error.<br/>
19736Спасибо Андрею Нигматулину.
19737</para>
19738<para lang="en">
19739a bus error might occur on Solaris/sparc64 if the PCRE library was used.<br/>
19740Thanks to Andrei Nigmatulin.
19741</para>
19742</change>
19743
19744<change type="bugfix">
19745<para lang="ru">
19746в использовании протокола HTTPS в директиве proxy_pass.
19747</para>
19748<para lang="en">
19749in the HTTPS protocol in the "proxy_pass" directive.
19750</para>
19751</change>
19752
19753</changes>
19754
19755
19756<changes ver="0.5.20" date="2007-05-07">
19757
19758<change type="feature">
19759<para lang="ru">
19760директива sendfile_max_chunk.
19761</para>
19762<para lang="en">
19763the "sendfile_max_chunk" directive.
19764</para>
19765</change>
19766
19767<change type="feature">
19768<para lang="ru">
19769переменные "$http_...", "$sent_http_..." и "$upstream_http_..."
19770можно менять директивой set.
19771</para>
19772<para lang="en">
19773the "$http_...", "$sent_http_...", and "$upstream_http_..." variables
19774may be changed using the "set" directive.
19775</para>
19776</change>
19777
19778<change type="bugfix">
19779<para lang="ru">
19780при использовании SSI-команды 'if expr="$var = /"'
19781в рабочем процессе мог произойти segmentation fault.
19782</para>
19783<para lang="en">
19784a segmentation fault might occur in worker process
19785if the SSI command 'if expr="$var = /"' was used.
19786</para>
19787</change>
19788
19789<change type="bugfix">
19790<para lang="ru">
19791завершающая строка multipart range ответа передавалась неверно.<br/>
19792Спасибо Evan Miller.
19793</para>
19794<para lang="en">
19795trailing boundary of multipart range response was transferred incorrectly.<br/>
19796Thanks to Evan Miller.
19797</para>
19798</change>
19799
19800<change type="bugfix">
19801<para lang="ru">
19802nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/>
19803Спасибо Андрею Нигматулину.
19804</para>
19805<para lang="en">
19806nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/>
19807Thanks to Andrei Nigmatulin.
19808</para>
19809</change>
19810
19811<change type="bugfix">
19812<para lang="ru">
19813модуль ngx_http_perl_module не собирался make в Solaris.<br/>
19814Спасибо Андрею Нигматулину.
19815</para>
19816<para lang="en">
19817the ngx_http_perl_module could not be built by Solaris make.<br/>
19818Thanks to Andrei Nigmatulin.
19819</para>
19820</change>
19821
19822</changes>
19823
19824
19825<changes ver="0.5.19" date="2007-04-24">
19826
19827<change type="change">
19828<para lang="ru">
19829значение переменной $request_time теперь записывается с точностью
19830до миллисекунд.
19831</para>
19832<para lang="en">
19833now the $request_time variable has millisecond precision.
19834</para>
19835</change>
19836
19837<change type="change">
19838<para lang="ru">
19839метод $r->rflush в модуле ngx_http_perl_module переименован в $r->flush.
19840</para>
19841<para lang="en">
19842the method $r->rflush of ngx_http_perl_module was renamed to the $r->flush.
19843</para>
19844</change>
19845
19846<change type="feature">
19847<para lang="ru">
19848переменная $upstream_addr.
19849</para>
19850<para lang="en">
19851the $upstream_addr variable.
19852</para>
19853</change>
19854
19855<change type="feature">
19856<para lang="ru">
19857директивы proxy_headers_hash_max_size и proxy_headers_hash_bucket_size.<br/>
19858Спасибо Володымыру Костырко.
19859</para>
19860<para lang="en">
19861the "proxy_headers_hash_max_size" and "proxy_headers_hash_bucket_size"
19862directives.<br/>
19863Thanks to Volodymyr Kostyrko.
19864</para>
19865</change>
19866
19867<change type="bugfix">
19868<para lang="ru">
19869при использовании sendfile и limit_rate на 64-битных платформах
19870нельзя было передавать файлы больше 2G.
19871</para>
19872<para lang="en">
19873the files more than 2G could not be transferred using sendfile and limit_rate
19874on 64-bit platforms.
19875</para>
19876</change>
19877
19878<change type="bugfix">
19879<para lang="ru">
19880при использовании sendfile на 64-битном Linux нельзя было передавать файлы
19881больше 2G.
19882</para>
19883<para lang="en">
19884the files more than 2G could not be transferred using sendfile on 64-bit Linux.
19885</para>
19886</change>
19887
19888</changes>
19889
19890
19891<changes ver="0.5.18" date="2007-04-19">
19892
19893<change type="feature">
19894<para lang="ru">
19895модуль ngx_http_sub_filter_module.
19896</para>
19897<para lang="en">
19898the ngx_http_sub_filter_module.
19899</para>
19900</change>
19901
19902<change type="feature">
19903<para lang="ru">
19904переменные "$upstream_http_...".
19905</para>
19906<para lang="en">
19907the "$upstream_http_..." variables.
19908</para>
19909</change>
19910
19911<change type="feature">
19912<para lang="ru">
19913теперь переменные $upstream_status и $upstream_response_time
19914содержат данные о всех обращениях к апстримам, сделанным до X-Accel-Redirect.
19915</para>
19916<para lang="en">
19917now the $upstream_status and $upstream_response_time variables
19918keep data about all upstreams before X-Accel-Redirect.
19919</para>
19920</change>
19921
19922<change type="bugfix">
19923<para lang="ru">
19924если nginx был собран с модулем ngx_http_perl_module и perl
19925не поддерживал multiplicity, то после первой переконфигурации
19926и после получения любого сигнала
19927в основном процессе происходил segmentation fault;
19928ошибка появилась в 0.5.9.
19929</para>
19930<para lang="en">
19931a segmentation fault occurred in master process
19932after first reconfiguration and receiving any signal
19933if nginx was built with ngx_http_perl_module and perl
19934did not support multiplicity;
19935the bug had appeared in 0.5.9.
19936</para>
19937</change>
19938
19939<change type="bugfix">
19940<para lang="ru">
19941если perl не поддерживал multiplicity, то после переконфигурации
19942перловый код не работал;
19943ошибка появилась в 0.3.38.
19944</para>
19945<para lang="en">
19946if perl did not support multiplicity, then after reconfiguration
19947perl code did not work;
19948the bug had appeared in 0.3.38.
19949</para>
19950</change>
19951
19952</changes>
19953
19954
19955<changes ver="0.5.17" date="2007-04-02">
19956
19957<change type="change">
19958<para lang="ru">
19959теперь nginx для метода TRACE всегда возвращает код 405.
19960</para>
19961<para lang="en">
19962now nginx always returns the 405 status for the TRACE method.
19963</para>
19964</change>
19965
19966<change type="feature">
19967<para lang="ru">
19968теперь nginx поддерживает директиву include внутри блока types.
19969</para>
19970<para lang="en">
19971now nginx supports the "include" directive inside the "types" block.
19972</para>
19973</change>
19974
19975<change type="bugfix">
19976<para lang="ru">
19977использование переменной $document_root в директиве root и alias
19978запрещено: оно вызывало рекурсивное переполнение стека.
19979</para>
19980<para lang="en">
19981the $document_root variable usage in the "root" and "alias" directives
19982is disabled: this caused recursive stack overflow.
19983</para>
19984</change>
19985
19986<change type="bugfix">
19987<para lang="ru">
19988в использовании протокола HTTPS в директиве proxy_pass.
19989</para>
19990<para lang="en">
19991in the HTTPS protocol in the "proxy_pass" directive.
19992</para>
19993</change>
19994
19995<change type="bugfix">
19996<para lang="ru">
19997в некоторых случаях некэшируемые переменные (такие, как $uri)
19998возвращали старое закэшированное значение.
19999</para>
20000<para lang="en">
20001in some cases non-cacheable variables (such as $uri variable)
20002returned old cached value.
20003</para>
20004</change>
20005
20006</changes>
20007
20008
20009<changes ver="0.5.16" date="2007-03-26">
20010
20011<change type="bugfix">
20012<para lang="ru">
20013в качестве ключа для хэша в директиве ip_hash не использовалась сеть
20014класса С.<br/>
20015Спасибо Павлу Ярковому.
20016</para>
20017<para lang="en">
20018the C-class network was not used as hash key in the "ip_hash" directive.<br/>
20019Thanks to Pavel Yarkovoy.
20020</para>
20021</change>
20022
20023<change type="bugfix">
20024<para lang="ru">
20025если в строке "Content-Type" в заголовке ответа бэкенда был указан charset
20026и строка завершалась символом ";",
20027то в рабочем процессе мог произойти segmentation fault;
20028ошибка появилась в 0.3.50.
20029</para>
20030<para lang="en">
20031a segmentation fault might occur in worker process
20032if a charset was set in the "Content-Type" header line and the line
20033has trailing ";";
20034the bug had appeared in 0.3.50.
20035</para>
20036</change>
20037
20038<change type="bugfix">
20039<para lang="ru">
20040ошибки "[alert] zero size buf" при работе с FastCGI-сервером, если
20041тело запроса, записанное во временный файл, было кратно 32K.
20042</para>
20043<para lang="en">
20044the "[alert] zero size buf" error when FastCGI server was used and
20045a request body written in a temporary file was multiple of 32K.
20046</para>
20047</change>
20048
20049<change type="bugfix">
20050<para lang="ru">
20051nginx не собирался на Solaris без параметра --with-debug;
20052ошибка появилась в 0.5.15.
20053</para>
20054<para lang="en">
20055nginx could not be built on Solaris without the --with-debug option;
20056the bug had appeared in 0.5.15.
20057</para>
20058</change>
20059
20060</changes>
20061
20062
20063<changes ver="0.5.15" date="2007-03-19">
20064
20065<change type="feature">
20066<para lang="ru">
20067почтовый прокси-сервер поддерживает аутентифицированное SMTP-проксирование и
20068директивы smtp_auth, smtp_capabilities и xclient.<br/>
20069Спасибо Антону Южанинову и Максиму Дунину.
20070</para>
20071<para lang="en">
20072the mail proxy supports authenticated SMTP proxying and
20073the "smtp_auth", "smtp_capabilities", and "xclient" directives.<br/>
20074Thanks to Anton Yuzhaninov and Maxim Dounin.
20075</para>
20076</change>
20077
20078<change type="feature">
20079<para lang="ru">
20080теперь keep-alive соединения закрываются сразу же по получении сигнала
20081переконфигурации.
20082</para>
20083<para lang="en">
20084now the keep-alive connections are closed just after receiving
20085the reconfiguration signal.
20086</para>
20087</change>
20088
20089<change type="change">
20090<para lang="ru">
20091директивы imap и auth переименованы соответственно в mail и pop3_auth.
20092</para>
20093<para lang="en">
20094the "imap" and "auth" directives were renamed
20095to the "mail" and "pop3_auth" directives.
20096</para>
20097</change>
20098
20099<change type="bugfix">
20100<para lang="ru">
20101если использовался метод аутентификации CRAM-MD5 и не был разрешён метод APOP,
20102то в рабочем процессе происходил segmentation fault.
20103</para>
20104<para lang="en">
20105a segmentation fault occurred in worker process
20106if the CRAM-MD5 authentication method was used
20107and the APOP method was disabled.
20108</para>
20109</change>
20110
20111<change type="bugfix">
20112<para lang="ru">
20113при использовании директивы starttls only в протоколе POP3 nginx
20114разрешал аутентификацию без перехода в режим SSL.
20115</para>
20116<para lang="en">
20117if the "starttls only" directive was used in POP3 protocol,
20118then nginx allowed authentication without switching to the SSL mode.
20119</para>
20120</change>
20121
20122<change type="bugfix">
20123<para lang="ru">
20124рабочие процессы не выходили после переконфигурации и не переоткрывали логи,
20125если использовался метод eventport.
20126</para>
20127<para lang="en">
20128worker processes did not exit after reconfiguration and
20129did not rotate logs if the eventport method was used.
20130</para>
20131</change>
20132
20133<change type="bugfix">
20134<para lang="ru">
20135при использовании директивы ip_hash рабочий процесс мог зациклиться.
20136</para>
20137<para lang="en">
20138a worker process may got caught in an endless loop,
20139if the "ip_hash" directive was used.
20140</para>
20141</change>
20142
20143<change type="bugfix">
20144<para lang="ru">
20145теперь nginx не пишет в лог некоторые alert'ы,
20146если используются методы eventport или /dev/poll.
20147</para>
20148<para lang="en">
20149now nginx does not log some alerts if eventport or /dev/poll methods are used.
20150</para>
20151</change>
20152
20153</changes>
20154
20155
20156<changes ver="0.5.14" date="2007-02-23">
20157
20158<change type="bugfix">
20159<para lang="ru">
20160nginx игнорировал лишние закрывающие скобки "}" в конце
20161конфигурационного файла.
20162</para>
20163<para lang="en">
20164nginx ignored superfluous closing "}" in the end of configuration file.
20165</para>
20166</change>
20167
20168</changes>
20169
20170
20171<changes ver="0.5.13" date="2007-02-19">
20172
20173<change type="feature">
20174<para lang="ru">
20175методы COPY и MOVE.
20176</para>
20177<para lang="en">
20178the COPY and MOVE methods.
20179</para>
20180</change>
20181
20182<change type="bugfix">
20183<para lang="ru">
20184модуль ngx_http_realip_module устанавливал мусор для запросов,
20185переданных по keep-alive соединению.
20186</para>
20187<para lang="en">
20188the ngx_http_realip_module set garbage for requests passed via
20189keep-alive connection.
20190</para>
20191</change>
20192
20193<change type="bugfix">
20194<para lang="ru">
20195nginx не работал на 64-битном big-endian Linux.<br/>
20196Спасибо Андрею Нигматулину.
20197</para>
20198<para lang="en">
20199nginx did not work on big-endian 64-bit Linux.<br/>
20200Thanks to Andrei Nigmatulin.
20201</para>
20202</change>
20203
20204<change type="bugfix">
20205<para lang="ru">
20206при получении слишком длинной команды IMAP/POP3-прокси теперь сразу
20207закрывает соединение, а не по таймауту.
20208</para>
20209<para lang="en">
20210now when IMAP/POP3 proxy receives too long command it closes the connection
20211right away, but not after timeout.
20212</para>
20213</change>
20214
20215<change type="bugfix">
20216<para lang="ru">
20217если при использовании метода epoll клиент закрывал преждевременно
20218соединение со своей стороны, то nginx закрывал это соединение только
20219по истечении таймаута на передачу.
20220</para>
20221<para lang="en">
20222if the "epoll" method was used and a client closed a connection prematurely,
20223then nginx closed the connection after a send timeout only.
20224</para>
20225</change>
20226
20227<change type="bugfix">
20228<para lang="ru">
20229nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
20230ошибка появилась в 0.5.8.
20231</para>
20232<para lang="en">
20233nginx could not be built on platforms different from i386, amd64, sparc,
20234and ppc;
20235the bug had appeared in 0.5.8.
20236</para>
20237</change>
20238
20239</changes>
20240
20241
20242<changes ver="0.5.12" date="2007-02-12">
20243
20244<change type="bugfix">
20245<para lang="ru">
20246nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
20247ошибка появилась в 0.5.8.
20248</para>
20249<para lang="en">
20250nginx could not be built on platforms different from i386, amd64, sparc,
20251and ppc;
20252the bug had appeared in 0.5.8.
20253</para>
20254</change>
20255
20256<change type="bugfix">
20257<para lang="ru">
20258при использовании временных файлов в время работы с FastCGI-сервером
20259в рабочем процессе мог произойти segmentation fault;
20260ошибка появилась в 0.5.8.
20261</para>
20262<para lang="en">
20263a segmentation fault might occur in worker process
20264if the temporary files were used while working with FastCGI server;
20265the bug had appeared in 0.5.8.
20266</para>
20267</change>
20268
20269<change type="bugfix">
20270<para lang="ru">
20271если переменная $fastcgi_script_name записывалась в лог,
20272то в рабочем процессе мог произойти segmentation fault.
20273</para>
20274<para lang="en">
20275a segmentation fault might occur in worker process
20276if the $fastcgi_script_name variable was logged.
20277</para>
20278</change>
20279
20280<change type="bugfix">
20281<para lang="ru">
20282ngx_http_perl_module не собирался на Solaris.
20283</para>
20284<para lang="en">
20285ngx_http_perl_module could not be built on Solaris.
20286</para>
20287</change>
20288
20289</changes>
20290
20291
20292<changes ver="0.5.11" date="2007-02-05">
20293
20294<change type="feature">
20295<para lang="ru">
20296теперь configure определяет библиотеку PCRE в MacPorts.<br/>
20297Спасибо Chris McGrath.
20298</para>
20299<para lang="en">
20300now configure detects system PCRE library in MacPorts.<br/>
20301Thanks to Chris McGrath.
20302</para>
20303</change>
20304
20305<change type="bugfix">
20306<para lang="ru">
20307ответ был неверным, если запрашивалось несколько диапазонов;
20308ошибка появилась в 0.5.6.
20309</para>
20310<para lang="en">
20311the response was incorrect if several ranges were requested;
20312the bug had appeared in 0.5.6.
20313</para>
20314</change>
20315
20316<change type="bugfix">
20317<para lang="ru">
20318директива create_full_put_path не могла создавать промежуточные каталоги,
20319если не была установлена директива dav_access.<br/>
20320Спасибо Evan Miller.
20321</para>
20322<para lang="en">
20323the "create_full_put_path" directive could not create the intermediate
20324directories if no "dav_access" directive was set.<br/>
20325Thanks to Evan Miller.
20326</para>
20327</change>
20328
20329<change type="bugfix">
20330<para lang="ru">
20331вместо кодов ошибок "400" и "408" в access_log мог записываться код "0".
20332</para>
20333<para lang="en">
20334the "0" response code might be logged in the access_log instead of
20335the "400" and "408" error codes.
20336</para>
20337</change>
20338
20339<change type="bugfix">
20340<para lang="ru">
20341при сборке с оптимизацией -O2 в рабочем процессе мог произойти
20342segmentation fault.
20343</para>
20344<para lang="en">
20345a segmentation fault might occur in worker process
20346if nginx was built with -O2 optimization.
20347</para>
20348</change>
20349
20350</changes>
20351
20352
20353<changes ver="0.5.10" date="2007-01-26">
20354
20355<change type="bugfix">
20356<para lang="ru">
20357во время обновления исполняемого файла новый процесс не наследовал
20358слушающие сокеты;
20359ошибка появилась в 0.5.9.
20360</para>
20361<para lang="en">
20362while online executable file upgrade the new master process did not
20363inherit the listening sockets;
20364the bug had appeared in 0.5.9.
20365</para>
20366</change>
20367
20368<change type="bugfix">
20369<para lang="ru">
20370при сборке с оптимизацией -O2 в рабочем процессе мог произойти
20371segmentation fault;
20372ошибка появилась в 0.5.1.
20373</para>
20374<para lang="en">
20375a segmentation fault might occur in worker process
20376if nginx was built with -O2 optimization;
20377the bug had appeared in 0.5.1.
20378</para>
20379</change>
20380
20381</changes>
20382
20383
20384<changes ver="0.5.9" date="2007-01-25">
20385
20386<change type="change">
20387<para lang="ru">
20388модуль ngx_http_memcached_module теперь в качестве ключа использует
20389значение переменной $memcached_key.
20390</para>
20391<para lang="en">
20392now the ngx_http_memcached_module uses the $memcached_key variable value
20393as a key.
20394</para>
20395</change>
20396
20397<change type="feature">
20398<para lang="ru">
20399переменная $memcached_key.
20400</para>
20401<para lang="en">
20402the $memcached_key variable.
20403</para>
20404</change>
20405
20406<change type="feature">
20407<para lang="ru">
20408параметр clean в директиве client_body_in_file_only.
20409</para>
20410<para lang="en">
20411the "clean" parameter in the "client_body_in_file_only" directive.
20412</para>
20413</change>
20414
20415<change type="feature">
20416<para lang="ru">
20417директива env.
20418</para>
20419<para lang="en">
20420the "env" directive.
20421</para>
20422</change>
20423
20424<change type="feature">
20425<para lang="ru">
20426директива sendfile работает внутри блока if.
20427</para>
20428<para lang="en">
20429the "sendfile" directive is available inside the "if" block.
20430</para>
20431</change>
20432
20433<change type="feature">
20434<para lang="ru">
20435теперь при ошибке записи в access_log nginx записывает сообщение в error_log,
20436но не чаще одного раза в минуту.
20437</para>
20438<para lang="en">
20439now on failure of the writing to access nginx logs a message to error_log,
20440but not more often than once a minute.
20441</para>
20442</change>
20443
20444<change type="bugfix">
20445<para lang="ru">
20446директива "access_log off" не всегда запрещала запись в лог.
20447</para>
20448<para lang="en">
20449the "access_log off" directive did not always turn off the logging.
20450</para>
20451</change>
20452
20453</changes>
20454
20455
20456<changes ver="0.5.8" date="2007-01-19">
20457
20458<change type="bugfix">
20459<para lang="ru">
20460если использовалась директива <nobr>"client_body_in_file_only on"</nobr>
20461и тело запроса было небольшое, то мог произойти segmentation fault.
20462</para>
20463<para lang="en">
20464a segmentation fault might occur if
20465<nobr>"client_body_in_file_only on"</nobr> was used
20466and a request body was small.
20467</para>
20468</change>
20469
20470<change type="bugfix">
20471<para lang="ru">
20472происходил segmentation fault, если использовались директивы
20473<nobr>"client_body_in_file_only on"</nobr>
20474и <nobr>"proxy_pass_request_body off"</nobr>
20475или <nobr>"fastcgi_pass_request_body off"</nobr>,
20476и делался переход к следующему бэкенду.
20477</para>
20478<para lang="en">
20479a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr>
20480and <nobr>"proxy_pass_request_body off"</nobr>
20481or <nobr>"fastcgi_pass_request_body off"</nobr>
20482directives were used, and nginx switched to a next upstream.
20483</para>
20484</change>
20485
20486<change type="bugfix">
20487<para lang="ru">
20488если при использовании директивы "proxy_buffering off" соединение с клиентом
20489было неактивно, то оно закрывалось по таймауту, заданному директивой
20490send_timeout;
20491ошибка появилась в 0.4.7.
20492</para>
20493<para lang="en">
20494if the "proxy_buffering off" directive was used and a client connection
20495was non-active, then the connection was closed after send timeout;
20496the bug had appeared in 0.4.7.
20497</para>
20498</change>
20499
20500<change type="bugfix">
20501<para lang="ru">
20502если при использовании метода epoll клиент закрывал преждевременно
20503соединение со своей стороны, то nginx закрывал это соединение только
20504по истечении таймаута на передачу.
20505</para>
20506<para lang="en">
20507if the "epoll" method was used and a client closed a connection prematurely,
20508then nginx closed the connection after a send timeout only.
20509</para>
20510</change>
20511
20512<change type="bugfix">
20513<para lang="ru">
20514ошибки "[alert] zero size buf" при работе с FastCGI-сервером.
20515</para>
20516<para lang="en">
20517the "[alert] zero size buf" error when FastCGI server was used.
20518</para>
20519</change>
20520
20521<change>
20522<para lang="ru">
20523Исправление ошибок в директиве limit_zone.
20524</para>
20525<para lang="en">
20526Bugfixes in the "limit_zone" directive.
20527</para>
20528</change>
20529
20530</changes>
20531
20532
20533<changes ver="0.5.7" date="2007-01-15">
20534
20535<change type="feature">
20536<para lang="ru">
20537оптимизация использования памяти в ssl_session_cache.
20538</para>
20539<para lang="en">
20540the ssl_session_cache storage optimization.
20541</para>
20542</change>
20543
20544<change>
20545<para lang="ru">
20546Исправление ошибок в директивах ssl_session_cache и limit_zone.
20547</para>
20548<para lang="en">
20549Bugfixes in the "ssl_session_cache" and "limit_zone" directives.
20550</para>
20551</change>
20552
20553<change type="bugfix">
20554<para lang="ru">
20555на старте или во время переконфигурации происходил segmentation fault,
20556если директивы ssl_session_cache или limit_zone использовались
20557на 64-битных платформах.
20558</para>
20559<para lang="en">
20560the segmentation fault was occurred on start or while reconfiguration
20561if the "ssl_session_cache" or "limit_zone" directives were used
20562on 64-bit platforms.
20563</para>
20564</change>
20565
20566<change type="bugfix">
20567<para lang="ru">
20568при использовании директив add_before_body или add_after_body происходил
20569segmentation fault, если в заголовке ответа нет строки "Content-Type".
20570</para>
20571<para lang="en">
20572a segmentation fault occurred if the "add_before_body" or "add_after_body"
20573directives were used and there was no "Content-Type" header line in response.
20574</para>
20575</change>
20576
20577<change type="bugfix">
20578<para lang="ru">
20579библиотека OpenSSL всегда собиралась с поддержкой потоков.<br/>
20580Спасибо Дену Иванову.
20581</para>
20582<para lang="en">
20583the OpenSSL library was always built with the threads support.<br/>
20584Thanks to Den Ivanov.
20585</para>
20586</change>
20587
20588<change type="bugfix">
20589<para lang="ru">
20590совместимость библиотеки PCRE-6.5+ и компилятора icc.
20591</para>
20592<para lang="en">
20593the PCRE-6.5+ library and the icc compiler compatibility.
20594</para>
20595</change>
20596
20597</changes>
20598
20599
20600<changes ver="0.5.6" date="2007-01-09">
20601
20602<change type="change">
20603<para lang="ru">
20604теперь модуль ngx_http_index_module игнорирует все методы,
20605кроме GET, HEAD и POST.
20606</para>
20607<para lang="en">
20608now the ngx_http_index_module ignores all methods except the GET, HEAD, and
20609POST methods.
20610</para>
20611</change>
20612
20613<change type="feature">
20614<para lang="ru">
20615модуль ngx_http_limit_zone_module.
20616</para>
20617<para lang="en">
20618the ngx_http_limit_zone_module.
20619</para>
20620</change>
20621
20622<change type="feature">
20623<para lang="ru">
20624переменная $binary_remote_addr.
20625</para>
20626<para lang="en">
20627the $binary_remote_addr variable.
20628</para>
20629</change>
20630
20631<change type="feature">
20632<para lang="ru">
20633директивы ssl_session_cache модулей ngx_http_ssl_module и ngx_imap_ssl_module.
20634</para>
20635<para lang="en">
20636the "ssl_session_cache" directives
20637of the ngx_http_ssl_module and ngx_imap_ssl_module.
20638</para>
20639</change>
20640
20641<change type="feature">
20642<para lang="ru">
20643метод DELETE поддерживает рекурсивное удаление.
20644</para>
20645<para lang="en">
20646the DELETE method supports recursive removal.
20647</para>
20648</change>
20649
20650<change type="bugfix">
20651<para lang="ru">
20652при использовании $r->sendfile() byte-ranges передавались неверно.
20653</para>
20654<para lang="en">
20655the byte-ranges were transferred incorrectly if the $r->sendfile() was used.
20656</para>
20657</change>
20658
20659</changes>
20660
20661
20662<changes ver="0.5.5" date="2006-12-24">
20663
20664<change type="change">
20665<para lang="ru">
20666ключ -v больше не выводит информацию о компиляторе.
20667</para>
20668<para lang="en">
20669the -v switch does not show compiler information any more.
20670</para>
20671</change>
20672
20673<change type="feature">
20674<para lang="ru">
20675ключ -V.
20676</para>
20677<para lang="en">
20678the -V switch.
20679</para>
20680</change>
20681
20682<change type="feature">
20683<para lang="ru">
20684директива worker_rlimit_core поддерживает указание размера в K, M и G.
20685</para>
20686<para lang="en">
20687the "worker_rlimit_core" directive supports size in K, M, and G.
20688</para>
20689</change>
20690
20691<change type="bugfix">
20692<para lang="ru">
20693модуль nginx.pm теперь может устанавливаться непривилегированным пользователем.
20694</para>
20695<para lang="en">
20696the nginx.pm module now could be installed by an unprivileged user.
20697</para>
20698</change>
20699
20700<change type="bugfix">
20701<para lang="ru">
20702при использовании методов $r->request_body или $r->request_body_file мог
20703произойти segmentation fault.
20704</para>
20705<para lang="en">
20706a segmentation fault might occur if the $r->request_body or
20707$r->request_body_file methods were used.
20708</para>
20709</change>
20710
20711<change type="bugfix">
20712<para lang="ru">
20713ошибок, специфичных для платформы ppc.
20714</para>
20715<para lang="en">
20716the ppc platform specific bugs.
20717</para>
20718</change>
20719
20720</changes>
20721
20722
20723<changes ver="0.5.4" date="2006-12-15">
20724
20725<change type="feature">
20726<para lang="ru">
20727директиву perl можно использовать внутри блока limit_except.
20728</para>
20729<para lang="en">
20730the "perl" directive may be used inside the "limit_except" block.
20731</para>
20732</change>
20733
20734<change type="bugfix">
20735<para lang="ru">
20736модуль ngx_http_dav_module требовал строку "Date" в заголовке запроса
20737для метода DELETE.
20738</para>
20739<para lang="en">
20740the ngx_http_dav_module required the "Date" request header line
20741for the DELETE method.
20742</para>
20743</change>
20744
20745<change type="bugfix">
20746<para lang="ru">
20747при использовании одного параметра в директиве dav_access nginx мог
20748сообщить об ошибке в конфигурации.
20749</para>
20750<para lang="en">
20751if one only parameter was used in the "dav_access" directive, then
20752nginx might report about configuration error.
20753</para>
20754</change>
20755
20756<change type="bugfix">
20757<para lang="ru">
20758при использовании переменной $host мог произойти segmentation fault;
20759ошибка появилась в 0.4.14.
20760</para>
20761<para lang="en">
20762a segmentation fault might occur if the $host variable was used;
20763the bug had appeared in 0.4.14.
20764</para>
20765</change>
20766
20767</changes>
20768
20769
20770<changes ver="0.5.3" date="2006-12-13">
20771
20772<change type="feature">
20773<para lang="ru">
20774модуль ngx_http_perl_module поддерживает методы $r->status, $r->log_error
20775и $r->sleep.
20776</para>
20777<para lang="en">
20778the ngx_http_perl_module supports the $r->status, $r->log_error,
20779and $r->sleep methods.
20780</para>
20781</change>
20782
20783<change type="feature">
20784<para lang="ru">
20785метод $r->variable поддерживает переменные, неописанные в конфигурации nginx'а.
20786</para>
20787<para lang="en">
20788the $r->variable method supports variables that do not exist in nginx
20789configuration.
20790</para>
20791</change>
20792
20793<change type="bugfix">
20794<para lang="ru">
20795метод $r->has_request_body не работал.
20796</para>
20797<para lang="en">
20798the $r->has_request_body method did not work.
20799</para>
20800</change>
20801
20802</changes>
20803
20804
20805<changes ver="0.5.2" date="2006-12-11">
20806
20807<change type="bugfix">
20808<para lang="ru">
20809если в директивах proxy_pass использовалось имя, указанное в upstream,
20810то nginx пытался найти IP-адрес этого имени;
20811ошибка появилась в 0.5.1.
20812</para>
20813<para lang="en">
20814if the "proxy_pass" directive used the name of the "upstream" block,
20815then nginx tried to resolve the name;
20816the bug had appeared in 0.5.1.
20817</para>
20818</change>
20819
20820</changes>
20821
20822
20823<changes ver="0.5.1" date="2006-12-11">
20824
20825<change type="bugfix">
20826<para lang="ru">
20827директива post_action могла не работать после неудачного завершения запроса.
20828</para>
20829<para lang="en">
20830the "post_action" directive might not run after a unsuccessful completion
20831of a request.
20832</para>
20833</change>
20834
20835<change type="workaround">
20836<para lang="ru">
20837обход ошибки в Eudora для Mac;
20838ошибка появилась в 0.4.11.<br/>
20839Спасибо Bron Gondwana.
20840</para>
20841<para lang="en">
20842for Eudora for Mac;
20843the bug had appeared in 0.4.11.<br/>
20844Thanks to Bron Gondwana.
20845</para>
20846</change>
20847
20848<change type="bugfix">
20849<para lang="ru">
20850при указании в директиве fastcgi_pass имени описанного upstream'а выдавалось
20851сообщение "no port in upstream";
20852ошибка появилась в 0.5.0.
20853</para>
20854<para lang="en">
20855if the "upstream" name was used in the "fastcgi_pass", then the message
20856"no port in upstream" was issued;
20857the bug had appeared in 0.5.0.
20858</para>
20859</change>
20860
20861<change type="bugfix">
20862<para lang="ru">
20863если в директивах proxy_pass и fastcgi_pass использовались одинаковых имена
20864серверов, но с разными портами, то эти директивы использовали первый
20865описанный порт;
20866ошибка появилась в 0.5.0.
20867</para>
20868<para lang="en">
20869if the "proxy_pass" and "fastcgi_pass" directives used the same servers but
20870different ports, then these directives uses the first described port;
20871the bug had appeared in 0.5.0.
20872</para>
20873</change>
20874
20875<change type="bugfix">
20876<para lang="ru">
20877если в директивах proxy_pass и fastcgi_pass использовались unix domain сокеты,
20878то эти директивы использовали первый описанный сокет;
20879ошибка появилась в 0.5.0.
20880</para>
20881<para lang="en">
20882if the "proxy_pass" and "fastcgi_pass" directives used the unix domain sockets,
20883then these directives used first described socket;
20884the bug had appeared in 0.5.0.
20885</para>
20886</change>
20887
20888<change type="bugfix">
20889<para lang="ru">
20890ngx_http_auth_basic_module игнорировал пользователя, если он был указан
20891в последней строке файла паролей и после пароля не было перевода строки,
20892возврата каретки или символа ":".
20893</para>
20894<para lang="en">
20895ngx_http_auth_basic_module ignored the user if it was in the last line in
20896the password file and there was no the carriage return, the line feed,
20897or the ":" symbol after the password.
20898</para>
20899</change>
20900
20901<change type="bugfix">
20902<para lang="ru">
20903переменная $upstream_response_time могла быть равна "0.000", хотя время
20904обработки было больше 1 миллисекунды.
20905</para>
20906<para lang="en">
20907the $upstream_response_time variable might be equal to "0.000", although
20908response time was more than 1 millisecond.
20909</para>
20910</change>
20911
20912</changes>
20913
20914
20915<changes ver="0.5.0" date="2006-12-04">
20916
20917<change type="change">
20918<para lang="ru">
20919параметры в виде "%name" в директиве log_format больше не поддерживаются.
20920</para>
20921<para lang="en">
20922the parameters in the "%name" form in the "log_format" directive
20923are not supported anymore.
20924</para>
20925</change>
20926
20927<change type="change">
20928<para lang="ru">
20929директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout,
20930fastcgi_upstream_max_fails, и fastcgi_upstream_fail_timeout,
20931memcached_upstream_max_fails и memcached_upstream_fail_timeout
20932больше не поддерживаются.
20933</para>
20934<para lang="en">
20935the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout",
20936"fastcgi_upstream_max_fails", "fastcgi_upstream_fail_timeout",
20937"memcached_upstream_max_fails", and "memcached_upstream_fail_timeout"
20938directives are not supported anymore.
20939</para>
20940</change>
20941
20942<change type="feature">
20943<para lang="ru">
20944директива server в блоке upstream поддерживает параметры
20945max_fails, fail_timeout и down.
20946</para>
20947<para lang="en">
20948the "server" directive in the "upstream" context supports
20949the "max_fails", "fail_timeout", and "down" parameters.
20950</para>
20951</change>
20952
20953<change type="feature">
20954<para lang="ru">
20955директива ip_hash в блоке upstream.
20956</para>
20957<para lang="en">
20958the "ip_hash" directive inside the "upstream" block.
20959</para>
20960</change>
20961
20962<change type="feature">
20963<para lang="ru">
20964статус WAIT в строке "Auth-Status" в заголовке ответа сервера аутентификации
20965IMAP/POP3 прокси.
20966</para>
20967<para lang="en">
20968the WAIT status in the "Auth-Status" header line of the IMAP/POP3 proxy
20969authentication server response.
20970</para>
20971</change>
20972
20973<change type="bugfix">
20974<para lang="ru">
20975nginx не собирался на 64-битных платформах;
20976ошибка появилась в 0.4.14.
20977</para>
20978<para lang="en">
20979nginx could not be built on 64-bit platforms;
20980the bug had appeared in 0.4.14.
20981</para>
20982</change>
20983
20984</changes>
20985
20986
20987<changes ver="0.4.14" date="2006-11-27">
20988
20989<change type="feature">
20990<para lang="ru">
20991директива proxy_pass_error_message в IMAP/POP3 прокси.
20992</para>
20993<para lang="en">
20994the "proxy_pass_error_message" directive in IMAP/POP3 proxy.
20995</para>
20996</change>
20997
20998<change type="feature">
20999<para lang="ru">
21000теперь configure определяет библиотеку PCRE на FreeBSD, Linux и NetBSD.
21001</para>
21002<para lang="en">
21003now configure detects system PCRE library on FreeBSD, Linux, and NetBSD.
21004</para>
21005</change>
21006
21007<change type="bugfix">
21008<para lang="ru">
21009ngx_http_perl_module не работал с перлом, собранным с поддержкой потоков;
21010ошибка появилась в 0.3.38.
21011</para>
21012<para lang="en">
21013ngx_http_perl_module did not work with perl built with the threads support;
21014the bug had appeared in 0.3.38.
21015</para>
21016</change>
21017
21018<change type="bugfix">
21019<para lang="ru">
21020ngx_http_perl_module не работал корректно, если перл вызывался рекурсивно.
21021</para>
21022<para lang="en">
21023ngx_http_perl_module did not work if perl was called recursively.
21024</para>
21025</change>
21026
21027<change type="bugfix">
21028<para lang="ru">
21029nginx игнорировал имя сервера в строке запроса.
21030</para>
21031<para lang="en">
21032nginx ignored a host name in a request line.
21033</para>
21034</change>
21035
21036<change type="bugfix">
21037<para lang="ru">
21038если FastCGI сервер передавал много в stderr,
21039то рабочий процесс мог зациклиться.
21040</para>
21041<para lang="en">
21042a worker process may got caught in an endless loop,
21043if a FastCGI server sent too many data to the stderr.
21044</para>
21045</change>
21046
21047<change type="bugfix">
21048<para lang="ru">
21049при изменении системного времени переменная $upstream_response_time
21050могла быть отрицательной.
21051</para>
21052<para lang="en">
21053the $upstream_response_time variable may be negative if the system time
21054was changed backward.
21055</para>
21056</change>
21057
21058<change type="bugfix">
21059<para lang="ru">
21060при использовании POP3 серверу аутентификации IMAP/POP3 прокси
21061не передавался параметр Auth-Login-Attempt.
21062</para>
21063<para lang="en">
21064the "Auth-Login-Attempt" parameter was not sent to
21065IMAP/POP3 proxy authentication server when POP3 was used.
21066</para>
21067</change>
21068
21069<change type="bugfix">
21070<para lang="ru">
21071при ошибке соединения с сервером аутентификации IMAP/POP3 прокси
21072мог произойти segmentation fault.
21073</para>
21074<para lang="en">
21075a segmentation fault might occur if connect to IMAP/POP3 proxy
21076authentication server failed.
21077</para>
21078</change>
21079
21080</changes>
21081
21082
21083<changes ver="0.4.13" date="2006-11-15">
21084
21085<change type="feature">
21086<para lang="ru">
21087директиву proxy_pass можно использовать внутри блока limit_except.
21088</para>
21089<para lang="en">
21090the "proxy_pass" directive may be used inside the "limit_except" block.
21091</para>
21092</change>
21093
21094<change type="feature">
21095<para lang="ru">
21096директива limit_except поддерживает все WebDAV методы.
21097</para>
21098<para lang="en">
21099the "limit_except" directive supports all WebDAV methods.
21100</para>
21101</change>
21102
21103<change type="bugfix">
21104<para lang="ru">
21105при использовании директивы add_before_body без директивы add_after_body
21106ответ передавался не полностью.
21107</para>
21108<para lang="en">
21109if the "add_before_body" directive was used without
21110the "add_after_body" directive, then a response did not transferred complete.
21111</para>
21112</change>
21113
21114<change type="bugfix">
21115<para lang="ru">
21116большое тело запроса не принималось, если использовались метод epoll
21117и deferred accept().
21118</para>
21119<para lang="en">
21120a large request body did not receive if the epoll method
21121and the deferred accept() were used.
21122</para>
21123</change>
21124
21125<change type="bugfix">
21126<para lang="ru">
21127для ответов модуля ngx_http_autoindex_module не выставлялась кодировка;
21128ошибка появилась в 0.3.50.
21129</para>
21130<para lang="en">
21131a charset could not be set for ngx_http_autoindex_module responses;
21132the bug had appeared in 0.3.50.
21133</para>
21134</change>
21135
21136<change type="bugfix">
21137<para lang="ru">
21138ошибки "[alert] zero size buf" при работе с FastCGI-сервером;
21139</para>
21140<para lang="en">
21141the "[alert] zero size buf" error when FastCGI server was used;
21142</para>
21143</change>
21144
21145<change type="bugfix">
21146<para lang="ru">
21147параметр конфигурации --group= игнорировался.<br/>
21148Спасибо Thomas Moschny.
21149</para>
21150<para lang="en">
21151the --group= configuration parameter was ignored.<br/>
21152Thanks to Thomas Moschny.
21153</para>
21154</change>
21155
21156<change type="bugfix">
21157<para lang="ru">
2115850-й подзапрос в SSI ответе не работал;
21159ошибка появилась в 0.3.50.
21160</para>
21161<para lang="en">
21162the 50th subrequest in SSI response did not work;
21163the bug had appeared in 0.3.50.
21164</para>
21165</change>
21166
21167</changes>
21168
21169
21170<changes ver="0.4.12" date="2006-10-31">
21171
21172<change type="feature">
21173<para lang="ru">
21174модуль ngx_http_perl_module поддерживает метод $r->variable.
21175</para>
21176<para lang="en">
21177the ngx_http_perl_module supports the $r->variable method.
21178</para>
21179</change>
21180
21181<change type="bugfix">
21182<para lang="ru">
21183при включении в ответ большого статического файла с помощью SSI
21184ответ мог передаваться не полностью.
21185</para>
21186<para lang="en">
21187if a big static file was included using SSI in a response,
21188then the response may be transferred incomplete.
21189</para>
21190</change>
21191
21192<change type="bugfix">
21193<para lang="ru">
21194nginx не убирал "#fragment" в URI.
21195</para>
21196<para lang="en">
21197nginx did not omit the "#fragment" part in URI.
21198</para>
21199</change>
21200
21201</changes>
21202
21203
21204<changes ver="0.4.11" date="2006-10-25">
21205
21206<change type="feature">
21207<para lang="ru">
21208POP3 прокси поддерживает AUTH LOGIN PLAIN и CRAM-MD5.
21209</para>
21210<para lang="en">
21211the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5.
21212</para>
21213</change>
21214
21215<change type="feature">
21216<para lang="ru">
21217модуль ngx_http_perl_module поддерживает метод $r->allow_ranges.
21218</para>
21219<para lang="en">
21220the ngx_http_perl_module supports the $r->allow_ranges method.
21221</para>
21222</change>
21223
21224<change type="bugfix">
21225<para lang="ru">
21226при включённой поддержке команды APOP в POP3 прокси могли
21227не работать команды USER/PASS;
21228ошибка появилась в 0.4.10.
21229</para>
21230<para lang="en">
21231if the APOP was enabled in the POP3 proxy, then the USER/PASS commands
21232might not work;
21233the bug had appeared in 0.4.10.
21234</para>
21235</change>
21236
21237</changes>
21238
21239
21240<changes ver="0.4.10" date="2006-10-23">
21241
21242<change type="feature">
21243<para lang="ru">
21244POP3 прокси поддерживает APOP.
21245</para>
21246<para lang="en">
21247the POP3 proxy supports the APOP command.
21248</para>
21249</change>
21250
21251<change type="bugfix">
21252<para lang="ru">
21253при использовании методов select, poll и /dev/poll во время ожидания
21254ответа от сервера аутентификации IMAP/POP3 прокси нагружал процессор.
21255</para>
21256<para lang="en">
21257if the select, poll or /dev/poll methods were used, then while
21258waiting authentication server response the IMAP/POP3 proxy hogged CPU.
21259</para>
21260</change>
21261
21262<change type="bugfix">
21263<para lang="ru">
21264при использовании переменной $server_addr в директиве map мог
21265произойти segmentation fault.
21266</para>
21267<para lang="en">
21268a segmentation fault might occur if the $server_addr variable was used
21269in the "map" directive.
21270</para>
21271</change>
21272
21273<change type="bugfix">
21274<para lang="ru">
21275модуль ngx_http_flv_module не поддерживал byte ranges для полных ответов;
21276ошибка появилась в 0.4.7.
21277</para>
21278<para lang="en">
21279the ngx_http_flv_module did not support the byte ranges for full responses;
21280the bug had appeared in 0.4.7.
21281</para>
21282</change>
21283
21284<change type="bugfix">
21285<para lang="ru">
21286nginx не собирался на Debian amd64;
21287ошибка появилась в 0.4.9.
21288</para>
21289<para lang="en">
21290nginx could not be built on Debian amd64;
21291the bug had appeared in 0.4.9.
21292</para>
21293</change>
21294
21295</changes>
21296
21297
21298<changes ver="0.4.9" date="2006-10-13">
21299
21300<change type="feature">
21301<para lang="ru">
21302параметр set в команде SSI include.
21303</para>
21304<para lang="en">
21305the "set" parameter in the "include" SSI command.
21306</para>
21307</change>
21308
21309<change type="feature">
21310<para lang="ru">
21311модуль ngx_http_perl_module теперь проверяет версию модуля nginx.pm.
21312</para>
21313<para lang="en">
21314the ngx_http_perl_module now tests the nginx.pm module version.
21315</para>
21316</change>
21317
21318</changes>
21319
21320
21321<changes ver="0.4.8" date="2006-10-11">
21322
21323<change type="bugfix">
21324<para lang="ru">
21325если до команды SSI include с параметром wait выполнялась ещё
21326одна команда SSI include, то параметр wait мог не работать.
21327</para>
21328<para lang="en">
21329if an "include" SSI command were before another "include" SSI command
21330with a "wait" parameter, then the "wait" parameter might not work.
21331</para>
21332</change>
21333
21334<change type="bugfix">
21335<para lang="ru">
21336модуль ngx_http_flv_module добавлял FLV-заголовок для полных ответов.<br/>
21337Спасибо Алексею Ковырину.
21338</para>
21339<para lang="en">
21340the ngx_http_flv_module added the FLV header to the full responses.<br/>
21341Thanks to Alexey Kovyrin.
21342</para>
21343</change>
21344
21345</changes>
21346
21347
21348<changes ver="0.4.7" date="2006-10-10">
21349
21350<change type="feature">
21351<para lang="ru">
21352модуль ngx_http_flv_module.
21353</para>
21354<para lang="en">
21355the ngx_http_flv_module.
21356</para>
21357</change>
21358
21359<change type="feature">
21360<para lang="ru">
21361переменная $request_body_file.
21362</para>
21363<para lang="en">
21364the $request_body_file variable.
21365</para>
21366</change>
21367
21368<change type="feature">
21369<para lang="ru">
21370директивы charset и source_charset поддерживают переменные.
21371</para>
21372<para lang="en">
21373the "charset" and "source_charset" directives support the variables.
21374</para>
21375</change>
21376
21377<change type="bugfix">
21378<para lang="ru">
21379если до команды SSI include с параметром wait выполнялась ещё
21380одна команда SSI include, то параметр wait мог не работать.
21381</para>
21382<para lang="en">
21383if an "include" SSI command were before another "include" SSI command
21384with a "wait" parameter, then the "wait" parameter might not work.
21385</para>
21386</change>
21387
21388<change type="bugfix">
21389<para lang="ru">
21390при использовании директивы "proxy_buffering off" или при работе
21391с memcached соединения могли не закрываться по таймауту.
21392</para>
21393<para lang="en">
21394if the "proxy_buffering off" directive was used or while working with
21395memcached the connections might not be closed on timeout.
21396</para>
21397</change>
21398
21399<change type="bugfix">
21400<para lang="ru">
21401nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64.
21402</para>
21403<para lang="en">
21404nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64.
21405</para>
21406</change>
21407
21408</changes>
21409
21410
21411<changes ver="0.4.6" date="2006-10-06">
21412
21413<change type="bugfix">
21414<para lang="ru">
21415nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64.
21416</para>
21417<para lang="en">
21418nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64.
21419</para>
21420</change>
21421
21422<change type="bugfix">
21423<para lang="ru">
21424при запросе версии HTTP/1.1 nginx передавал ответ chunk'ами,
21425если длина ответа в методе $r->headers_out("Content-Length", ...)
21426была задана текстовой строкой.
21427</para>
21428<para lang="en">
21429nginx sent the chunked response for HTTP/1.1 request,<br/>
21430if its length was set by text string in
21431the $r->headers_out("Content-Length", ...) method.
21432</para>
21433</change>
21434
21435<change type="bugfix">
21436<para lang="ru">
21437после перенаправления ошибки с помощью директивы error_page любая директива
21438модуля ngx_http_rewrite_module возвращала эту ошибку;
21439ошибка появилась в 0.4.4.
21440</para>
21441<para lang="en">
21442after redirecting error by an "error_page" directive
21443any ngx_http_rewrite_module directive returned this error code;
21444the bug had appeared in 0.4.4.
21445</para>
21446</change>
21447
21448</changes>
21449
21450
21451<changes ver="0.4.5" date="2006-10-02">
21452
21453<change type="bugfix">
21454<para lang="ru">
21455nginx не собирался на Linux и Solaris;
21456ошибка появилась в 0.4.4.
21457</para>
21458<para lang="en">
21459nginx could not be built on Linux and Solaris;
21460the bug had appeared in 0.4.4.
21461</para>
21462</change>
21463
21464</changes>
21465
21466
21467<changes ver="0.4.4" date="2006-10-02">
21468
21469<change type="feature">
21470<para lang="ru">
21471переменная $scheme.
21472</para>
21473<para lang="en">
21474the $scheme variable.
21475</para>
21476</change>
21477
21478<change type="feature">
21479<para lang="ru">
21480директива expires поддерживает параметр max.
21481</para>
21482<para lang="en">
21483the "expires" directive supports the "max" parameter.
21484</para>
21485</change>
21486
21487<change type="feature">
21488<para lang="ru">
21489директива include поддерживает маску "*".<br/>
21490Спасибо Jonathan Dance.
21491</para>
21492<para lang="en">
21493the "include" directive supports the "*" mask.<br/>
21494Thanks to Jonathan Dance.
21495</para>
21496</change>
21497
21498<change type="bugfix">
21499<para lang="ru">
21500директива return всегда изменяла код ответа, перенаправленного
21501директивой error_page.
21502</para>
21503<para lang="en">
21504the "return" directive always overrode the "error_page" response code
21505redirected by the "error_page" directive.
21506</para>
21507</change>
21508
21509<change type="bugfix">
21510<para lang="ru">
21511происходил segmentation fault, если в методе PUT передавалось
21512тело нулевой длины.
21513</para>
21514<para lang="en">
21515a segmentation fault occurred if zero-length body was in PUT method.
21516</para>
21517</change>
21518
21519<change type="bugfix">
21520<para lang="ru">
21521при использовании переменных в директиве proxy_redirect редирект
21522изменялся неверно.
21523</para>
21524<para lang="en">
21525the redirect was changed incorrectly if the variables were used
21526in the "proxy_redirect" directive.
21527</para>
21528</change>
21529
21530</changes>
21531
21532
21533<changes ver="0.4.3" date="2006-09-26">
21534
21535<change type="change">
21536<para lang="ru">
21537ошибку 499 теперь нельзя перенаправить с помощью директивы error_page.
21538</para>
21539<para lang="en">
21540now the 499 error could not be redirected using an "error_page" directive.
21541</para>
21542</change>
21543
21544<change type="feature">
21545<para lang="ru">
21546поддержка Solaris 10 event ports.
21547</para>
21548<para lang="en">
21549the Solaris 10 event ports support.
21550</para>
21551</change>
21552
21553<change type="feature">
21554<para lang="ru">
21555модуль ngx_http_browser_module.
21556</para>
21557<para lang="en">
21558the ngx_http_browser_module.
21559</para>
21560</change>
21561
21562<change type="bugfix">
21563<para lang="ru">
21564при перенаправлении ошибки 400 проксированному серверу
21565помощью директивы error_page мог произойти segmentation fault.
21566</para>
21567<para lang="en">
21568a segmentation fault may occur while redirecting the 400 error
21569to the proxied server using a "proxy_pass" directive.
21570</para>
21571</change>
21572
21573<change type="bugfix">
21574<para lang="ru">
21575происходил segmentation fault, если в директиве proxy_pass использовался
21576unix domain сокет;
21577ошибка появилась в 0.3.47.
21578</para>
21579<para lang="en">
21580a segmentation fault occurred if an unix domain socket was used in
21581a "proxy_pass" directive;
21582the bug had appeared in 0.3.47.
21583</para>
21584</change>
21585
21586<change type="bugfix">
21587<para lang="ru">
21588SSI не работал с ответами memcached и небуферизированными проксированными
21589ответами.
21590</para>
21591<para lang="en">
21592SSI did work with memcached and nonbuffered responses.
21593</para>
21594</change>
21595
21596<change type="workaround">
21597<para lang="ru">
21598обход ошибки PAUSE hardware capability в Sun Studio.
21599</para>
21600<para lang="en">
21601of the Sun Studio PAUSE hardware capability bug.
21602</para>
21603</change>
21604
21605</changes>
21606
21607
21608<changes ver="0.4.2" date="2006-09-14">
21609
21610<change type="bugfix">
21611<para lang="ru">
21612убрана поддержка флага O_NOATIME на Linux;
21613ошибка появилась в 0.4.1.
21614</para>
21615<para lang="en">
21616the O_NOATIME flag support on Linux was canceled;
21617the bug had appeared in 0.4.1.
21618</para>
21619</change>
21620
21621</changes>
21622
21623
21624<changes ver="0.4.1" date="2006-09-14">
21625
21626<change type="bugfix">
21627<para lang="ru">
21628совместимость с DragonFlyBSD.<br/>
21629Спасибо Павлу Назарову.
21630</para>
21631<para lang="en">
21632the DragonFlyBSD compatibility.<br/>
21633Thanks to Pavel Nazarov.
21634</para>
21635</change>
21636
21637<change type="workaround">
21638<para lang="ru">
21639обход ошибки в sendfile() в 64-битном Linux при передаче файлов больше 2G.
21640</para>
21641<para lang="en">
21642of bug in 64-bit Linux sendfile(), when file is more than 2G.
21643</para>
21644</change>
21645
21646<change type="feature">
21647<para lang="ru">
21648теперь на Linux nginx для статических запросов использует флаг O_NOATIME.<br/>
21649Спасибо Yusuf Goolamabbas.
21650</para>
21651<para lang="en">
21652now on Linux nginx uses O_NOATIME flag for static requests.<br/>
21653Thanks to Yusuf Goolamabbas.
21654</para>
21655</change>
21656
21657</changes>
21658
21659
21660<changes ver="0.4.0" date="2006-08-30">
21661
21662<change>
21663<para lang="ru">
21664Изменение во внутреннем API: инициализация модулей HTTP перенесена из фазы
21665init module в фазу HTTP postconfiguration.
21666</para>
21667<para lang="en">
21668Change in internal API: the HTTP modules initialization was moved
21669from the init module phase to the HTTP postconfiguration phase.
21670</para>
21671</change>
21672
21673<change type="change">
21674<para lang="ru">
21675теперь тело запроса в модуле ngx_http_perl_module не считывается
21676заранее: нужно явно инициировать чтение с помощью метода $r->has_request_body.
21677</para>
21678<para lang="en">
21679now the request body is not read beforehand for the ngx_http_perl_module:
21680it's required to start the reading using the $r->has_request_body method.
21681</para>
21682</change>
21683
21684<change type="feature">
21685<para lang="ru">
21686модуль ngx_http_perl_module поддерживает код возврата DECLINED.
21687</para>
21688<para lang="en">
21689the ngx_http_perl_module supports the DECLINED return code.
21690</para>
21691</change>
21692
21693<change type="feature">
21694<para lang="ru">
21695модуль ngx_http_dav_module поддерживает входящую строку заголовка "Date"
21696для метода PUT.
21697</para>
21698<para lang="en">
21699the ngx_http_dav_module supports the incoming "Date" header line
21700for the PUT method.
21701</para>
21702</change>
21703
21704<change type="feature">
21705<para lang="ru">
21706директива ssi работает внутри блока if.
21707</para>
21708<para lang="en">
21709the "ssi" directive is available inside the "if" block.
21710</para>
21711</change>
21712
21713<change type="bugfix">
21714<para lang="ru">
21715происходил segmentation fault, если в директиве index использовалась
21716переменные и при этом первое имя индексного файла было без переменных;
21717ошибка появилась в 0.1.29.
21718</para>
21719<para lang="en">
21720a segmentation fault occurred if there was an "index" directive with
21721variables and the first index name was without variables;
21722the bug had appeared in 0.1.29.
21723</para>
21724</change>
21725
21726</changes>
21727
21728
21729<changes ver="0.3.61" date="2006-08-28">
21730
21731<change type="change">
21732<para lang="ru">
21733директива tcp_nodelay теперь по умолчанию включена.
21734</para>
21735<para lang="en">
21736now the "tcp_nodelay" directive is turned on by default.
21737</para>
21738</change>
21739
21740<change type="feature">
21741<para lang="ru">
21742директива msie_refresh.
21743</para>
21744<para lang="en">
21745the "msie_refresh" directive.
21746</para>
21747</change>
21748
21749<change type="feature">
21750<para lang="ru">
21751директива recursive_error_pages.
21752</para>
21753<para lang="en">
21754the "recursive_error_pages" directive.
21755</para>
21756</change>
21757
21758<change type="bugfix">
21759<para lang="ru">
21760директива rewrite возвращала неправильный редирект, если редирект
21761включал в себя выделенные закодированные символы из оригинального URI.
21762</para>
21763<para lang="en">
21764the "rewrite" directive returned incorrect redirect, if the redirect
21765had the captured escaped symbols from original URI.
21766</para>
21767</change>
21768
21769</changes>
21770
21771
21772<changes ver="0.3.60" date="2006-08-18">
21773
21774<change type="bugfix">
21775<para lang="ru">
21776во время перенаправления ошибки рабочий процесс мог зациклиться;
21777ошибка появилась в 0.3.59.
21778</para>
21779<para lang="en">
21780a worker process may got caught in an endless loop
21781while an error redirection;
21782the bug had appeared in 0.3.59.
21783</para>
21784</change>
21785
21786</changes>
21787
21788
21789<changes ver="0.3.59" date="2006-08-16">
21790
21791<change type="feature">
21792<para lang="ru">
21793теперь можно делать несколько перенаправлений через директиву error_page.
21794</para>
21795<para lang="en">
21796now is possible to do several redirection using the "error_page" directive.
21797</para>
21798</change>
21799
21800<change type="bugfix">
21801<para lang="ru">
21802директива dav_access не поддерживала три параметра.
21803</para>
21804<para lang="en">
21805the "dav_access" directive did not support three parameters.
21806</para>
21807</change>
21808
21809<change type="bugfix">
21810<para lang="ru">
21811директива error_page не изменяла строку "Content-Type"
21812после перенаправления с помощью "X-Accel-Redirect";
21813ошибка появилась в 0.3.58.
21814</para>
21815<para lang="en">
21816the "error_page" directive did not changes the "Content-Type" header line
21817after the "X-Accel-Redirect" was used;
21818the bug had appeared in 0.3.58.
21819</para>
21820</change>
21821
21822</changes>
21823
21824
21825<changes ver="0.3.58" date="2006-08-14">
21826
21827<change type="feature">
21828<para lang="ru">
21829директива error_page поддерживает переменные.
21830</para>
21831<para lang="en">
21832the "error_page" directive supports the variables.
21833</para>
21834</change>
21835
21836<change type="change">
21837<para lang="ru">
21838теперь на Linux используется интерфейс procfs вместо sysctl.
21839</para>
21840<para lang="en">
21841now the procfs interface instead of sysctl is used on Linux.
21842</para>
21843</change>
21844
21845<change type="change">
21846<para lang="ru">
21847теперь при использовании "X-Accel-Redirect" строка "Content-Type" наследуется
21848из первоначального ответа.
21849</para>
21850<para lang="en">
21851now the "Content-Type" header line is inherited from first response
21852when the "X-Accel-Redirect" was used.
21853</para>
21854</change>
21855
21856<change type="bugfix">
21857<para lang="ru">
21858директива error_page не перенаправляла ошибку 413.
21859</para>
21860<para lang="en">
21861the "error_page" directive did not redirect the 413 error.
21862</para>
21863</change>
21864
21865<change type="bugfix">
21866<para lang="ru">
21867завершающий "?" не удалял старые аргументы, если в переписанном URI
21868не было новых аргументов.
21869</para>
21870<para lang="en">
21871the trailing "?" did not remove old arguments if no new arguments
21872were added to a rewritten URI.
21873</para>
21874</change>
21875
21876<change type="bugfix">
21877<para lang="ru">
21878nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
21879</para>
21880<para lang="en">
21881nginx could not run on 64-bit FreeBSD 7.0-CURRENT.
21882</para>
21883</change>
21884
21885</changes>
21886
21887
21888<changes ver="0.3.57" date="2006-08-09">
21889
21890<change type="feature">
21891<para lang="ru">
21892переменная $ssl_client_serial.
21893</para>
21894<para lang="en">
21895the $ssl_client_serial variable.
21896</para>
21897</change>
21898
21899<change type="bugfix">
21900<para lang="ru">
21901в операторе "!-e" в директиве if.<br/>
21902Спасибо Андриану Буданцову.
21903</para>
21904<para lang="en">
21905in the "!-e" operator of the "if" directive.<br/>
21906Thanks to Andrian Budanstov.
21907</para>
21908</change>
21909
21910<change type="bugfix">
21911<para lang="ru">
21912при проверке клиентского сертификата nginx не передавал клиенту
21913информацию о требуемых сертификатах.
21914</para>
21915<para lang="en">
21916while a client certificate verification nginx did not send to a client
21917the required certificates information.
21918</para>
21919</change>
21920
21921<change type="bugfix">
21922<para lang="ru">
21923переменная $document_root не поддерживала переменные в директиве root.
21924</para>
21925<para lang="en">
21926the $document_root variable did not support the variables in the "root"
21927directive.
21928</para>
21929</change>
21930
21931</changes>
21932
21933
21934<changes ver="0.3.56" date="2006-08-04">
21935
21936<change type="feature">
21937<para lang="ru">
21938директива dav_access.
21939</para>
21940<para lang="en">
21941the "dav_access" directive.
21942</para>
21943</change>
21944
21945<change type="feature">
21946<para lang="ru">
21947директива if поддерживает операторы "-d", "!-d", "-e", "!-e", "-x" и "!-x".
21948</para>
21949<para lang="en">
21950the "if" directive supports the "-d", "!-d", "-e", "!-e", "-x", and "!-x"
21951operators.
21952</para>
21953</change>
21954
21955<change type="bugfix">
21956<para lang="ru">
21957при записи в access_log некоторых передаваемых клиенту строк заголовков
21958происходил segmentation fault, если запрос возвращал редирект.
21959</para>
21960<para lang="en">
21961a segmentation fault occurred if a request returned a redirect and
21962some sent to client header lines were logged in the access log.
21963</para>
21964</change>
21965
21966</changes>
21967
21968
21969<changes ver="0.3.55" date="2006-07-28">
21970
21971<change type="feature">
21972<para lang="ru">
21973параметр stub в команде SSI include.
21974</para>
21975<para lang="en">
21976the "stub" parameter in the "include" SSI command.
21977</para>
21978</change>
21979
21980<change type="feature">
21981<para lang="ru">
21982команда SSI block.
21983</para>
21984<para lang="en">
21985the "block" SSI command.
21986</para>
21987</change>
21988
21989<change type="feature">
21990<para lang="ru">
21991скрипт unicode2nginx добавлен в contrib.
21992</para>
21993<para lang="en">
21994the unicode2nginx script was added to contrib.
21995</para>
21996</change>
21997
21998<change type="bugfix">
21999<para lang="ru">
22000если root был задан только переменной, то корень задавался
22001относительно префикса сервера.
22002</para>
22003<para lang="en">
22004if a "root" was specified by variable only, then the root was relative
22005to a server prefix.
22006</para>
22007</change>
22008
22009<change type="bugfix">
22010<para lang="ru">
22011если в запросе был "//" или "/.", и после этого закодированные
22012символы в виде "%XX", то проксируемый запрос передавался незакодированным.
22013</para>
22014<para lang="en">
22015if the request contained "//" or "/./" and escaped symbols after them,
22016then the proxied request was sent unescaped.
22017</para>
22018</change>
22019
22020<change type="bugfix">
22021<para lang="ru">
22022метод $r->header_in("Cookie") модуля ngx_http_perl_module теперь возвращает
22023все строки "Cookie" в заголовке запроса.
22024</para>
22025<para lang="en">
22026the $r->header_in("Cookie") of the ngx_http_perl_module now returns
22027all "Cookie" header lines.
22028</para>
22029</change>
22030
22031<change type="bugfix">
22032<para lang="ru">
22033происходил segmentation fault, если использовался
22034<nobr>"client_body_in_file_only on"</nobr>
22035и делался переход к следующему бэкенду.
22036</para>
22037<para lang="en">
22038a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr>
22039was used and nginx switched to a next upstream.
22040</para>
22041</change>
22042
22043<change type="bugfix">
22044<para lang="ru">
22045при некоторых условиях во время переконфигурации коды символов
22046внутри директивы charset_map могли считаться неверными;
22047ошибка появилась в 0.3.50.
22048</para>
22049<para lang="en">
22050on some condition while reconfiguration character codes
22051inside the "charset_map" may be treated invalid;
22052the bug had appeared in 0.3.50.
22053</para>
22054</change>
22055
22056</changes>
22057
22058
22059<changes ver="0.3.54" date="2006-07-11">
22060
22061<change type="feature">
22062<para lang="ru">
22063nginx теперь записывает в лог информацию о подзапросах.
22064</para>
22065<para lang="en">
22066nginx now logs the subrequest information to the error log.
22067</para>
22068</change>
22069
22070<change type="feature">
22071<para lang="ru">
22072директивы proxy_next_upstream, fastcgi_next_upstream и memcached_next_upstream
22073поддерживают параметр off.
22074</para>
22075<para lang="en">
22076the "proxy_next_upstream", "fastcgi_next_upstream",
22077and "memcached_next_upstream" directives support the "off" parameter.
22078</para>
22079</change>
22080
22081<change type="feature">
22082<para lang="ru">
22083директива debug_connection поддерживает запись адресов в формате CIDR.
22084</para>
22085<para lang="en">
22086the "debug_connection" directive supports the CIDR address form.
22087</para>
22088</change>
22089
22090<change type="bugfix">
22091<para lang="ru">
22092при перекодировании ответа проксированного сервера или сервера FastCGI
22093в UTF-8 или наоборот ответ мог передаваться не полностью.
22094</para>
22095<para lang="en">
22096if a response of proxied server or FastCGI server was converted from UTF-8
22097or back, then it may be transferred incomplete.
22098</para>
22099</change>
22100
22101<change type="bugfix">
22102<para lang="ru">
22103переменная $upstream_response_time содержала время только первого
22104обращения к бэкенду.
22105</para>
22106<para lang="en">
22107the $upstream_response_time variable had the time of the first
22108request to a backend only.
22109</para>
22110</change>
22111
22112<change type="bugfix">
22113<para lang="ru">
22114nginx не собирался на платформе amd64;
22115ошибка появилась в 0.3.53.
22116</para>
22117<para lang="en">
22118nginx could not be built on amd64 platform;
22119the bug had appeared in 0.3.53.
22120</para>
22121</change>
22122
22123</changes>
22124
22125
22126<changes ver="0.3.53" date="2006-07-07">
22127
22128<change type="change">
22129<para lang="ru">
22130директива add_header добавляет строки в ответы с кодом 204, 301 и 302.
22131</para>
22132<para lang="en">
22133the "add_header" directive adds the string to 204, 301, and 302 responses.
22134</para>
22135</change>
22136
22137<change type="feature">
22138<para lang="ru">
22139директива server в блоке upstream поддерживает параметр weight.
22140</para>
22141<para lang="en">
22142the "server" directive in the "upstream" context supports
22143the "weight" parameter.
22144</para>
22145</change>
22146
22147<change type="feature">
22148<para lang="ru">
22149директива server_name поддерживает маску "*".
22150</para>
22151<para lang="en">
22152the "server_name" directive supports the "*" wildcard.
22153</para>
22154</change>
22155
22156<change type="feature">
22157<para lang="ru">
22158nginx поддерживает тело запроса больше 2G.
22159</para>
22160<para lang="en">
22161nginx supports the request body size more than 2G.
22162</para>
22163</change>
22164
22165<change type="bugfix">
22166<para lang="ru">
22167если при использовании "satisfy_any on" клиент успешно проходил аутентификацию,
22168в лог всё равно записалоcь сообщение "access forbidden by rule".
22169</para>
22170<para lang="en">
22171if a client was successfully authorized using "satisfy_any on", then anyway
22172the message "access forbidden by rule" was written in the log.
22173</para>
22174</change>
22175
22176<change type="bugfix">
22177<para lang="ru">
22178метод PUT мог ошибочно не создать файл и вернуть код 409.
22179</para>
22180<para lang="en">
22181the "PUT" method may erroneously not create a file and return the 409 code.
22182</para>
22183</change>
22184
22185<change type="bugfix">
22186<para lang="ru">
22187если во время аутентификации IMAP/POP3 бэкенд возвращал ошибку, nginx
22188продолжал проксирование.
22189</para>
22190<para lang="en">
22191if the IMAP/POP3 backend returned an error, then nginx continued proxying
22192anyway.
22193</para>
22194</change>
22195
22196</changes>
22197
22198
22199<changes ver="0.3.52" date="2006-07-03">
22200
22201<change type="change">
22202<para lang="ru">
22203восстановлено поведение модуля ngx_http_index_module для запросов "POST /":
22204как в версии до 0.3.40, модуль теперь не выдаёт ошибку 405.
22205</para>
22206<para lang="en">
22207the ngx_http_index_module behavior for the "POST /" requests is reverted
22208to the 0.3.40 version state: the module now does not return the 405 error.
22209</para>
22210</change>
22211
22212<change type="bugfix">
22213<para lang="ru">
22214при использовании ограничения скорости рабочий процесс мог зациклиться;
22215ошибка появилась в 0.3.37.
22216</para>
22217<para lang="en">
22218the worker process may got caught in an endless loop if the limit rate was used;
22219the bug had appeared in 0.3.37.
22220</para>
22221</change>
22222
22223<change type="bugfix">
22224<para lang="ru">
22225модуль ngx_http_charset_module записывал в лог ошибку "unknown charset",
22226даже если перекодировка не требовалась;
22227ошибка появилась в 0.3.50.
22228</para>
22229<para lang="en">
22230ngx_http_charset_module logged "unknown charset" alert, even if the recoding
22231was not needed;
22232the bug had appeared in 0.3.50.
22233</para>
22234</change>
22235
22236<change type="bugfix">
22237<para lang="ru">
22238если в результате запроса PUT возвращался код 409, то временный файл
22239не удалялся.
22240</para>
22241<para lang="en">
22242if a code response of the PUT request was 409, then a temporary file
22243was not removed.
22244</para>
22245</change>
22246
22247</changes>
22248
22249
22250<changes ver="0.3.51" date="2006-06-30">
22251
22252<change type="bugfix">
22253<para lang="ru">
22254при некоторых условиях в SSI мог пропадать символы "&lt;";
22255ошибка появилась в 0.3.50.
22256</para>
22257<para lang="en">
22258the "&lt;" symbols might disappeared some conditions in the SSI;
22259the bug had appeared in 0.3.50.
22260</para>
22261</change>
22262
22263</changes>
22264
22265
22266<changes ver="0.3.50" date="2006-06-28">
22267
22268<change type="change">
22269<para lang="ru">
22270директивы proxy_redirect_errors и fastcgi_redirect_errors
22271переименованы соответственно в proxy_intercept_errors и
22272fastcgi_intercept_errors.
22273</para>
22274<para lang="en">
22275the "proxy_redirect_errors" and "fastcgi_redirect_errors" directives
22276was renamed to the "proxy_intercept_errors" and
22277"fastcgi_intercept_errors" directives.
22278</para>
22279</change>
22280
22281<change type="feature">
22282<para lang="ru">
22283модуль ngx_http_charset_module поддерживает перекодирование из
22284однобайтных кодировок в UTF-8 и обратно.
22285</para>
22286<para lang="en">
22287the ngx_http_charset_module supports the recoding from the single byte
22288encodings to the UTF-8 encoding and back.
22289</para>
22290</change>
22291
22292<change type="feature">
22293<para lang="ru">
22294в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Charset"
22295в ответе бэкенда.
22296</para>
22297<para lang="en">
22298the "X-Accel-Charset" response header line is supported in proxy
22299and FastCGI mode.
22300</para>
22301</change>
22302
22303<change type="bugfix">
22304<para lang="ru">
22305символ "\" в парах "\"" и "\'" в SSI командах убирался, только если
22306также использовался символ "$".
22307</para>
22308<para lang="en">
22309the "\" escape symbol in the "\"" and "\'" pairs in the SSI command
22310was removed only if the command also has the "$" symbol.
22311</para>
22312</change>
22313
22314<change type="bugfix">
22315<para lang="ru">
22316при некоторых условиях в SSI после вставки могла быть добавлена
22317строка "&lt;!--".
22318</para>
22319<para lang="en">
22320the "&lt;!--" string might be added on some conditions
22321in the SSI after inclusion.
22322</para>
22323</change>
22324
22325<change type="bugfix">
22326<para lang="ru">
22327если в заголовке ответа была строка <nobr>"Content-Length: 0",</nobr>
22328то при использовании небуферизированного проксировании не закрывалось соединение
22329с клиентом.
22330</para>
22331<para lang="en">
22332if the "Content-Length: 0" header line was in response, then
22333in nonbuffered proxying mode the client connection was not closed.
22334</para>
22335</change>
22336
22337</changes>
22338
22339
22340<changes ver="0.3.49" date="2006-05-31">
22341
22342<change type="bugfix">
22343<para lang="ru">
22344в директиве set.
22345</para>
22346<para lang="en">
22347in the "set" directive.
22348</para>
22349</change>
22350
22351<change type="bugfix">
22352<para lang="ru">
22353при включении в ssi двух и более подзапросов, обрабатываемых через FastCGI,
22354вместо вывода второго и остальных подзапросов в ответ включался вывод
22355первого подзапроса.
22356</para>
22357<para lang="en">
22358if two or more FastCGI subrequests was in SSI, then first subrequest output
22359was included instead of second and following subrequests.
22360</para>
22361</change>
22362
22363</changes>
22364
22365
22366<changes ver="0.3.48" date="2006-05-29">
22367
22368<change type="change">
22369<para lang="ru">
22370теперь модуль ngx_http_charset_module работает для подзапросов,
22371в ответах которых нет строки заголовка "Content-Type".
22372</para>
22373<para lang="en">
22374now the ngx_http_charset_module works for subrequests,
22375if the response has no "Content-Type" header line.
22376</para>
22377</change>
22378
22379<change type="bugfix">
22380<para lang="ru">
22381если в директиве proxy_pass не было URI,
22382то директива "proxy_redirect  default" добавляла в переписанный
22383редирект в начало лишний слэш.
22384</para>
22385<para lang="en">
22386if the "proxy_pass" directive has no URI part,
22387then the "proxy_redirect  default" directive add the unnecessary slash
22388in start of the rewritten redirect.
22389</para>
22390</change>
22391
22392<change type="bugfix">
22393<para lang="ru">
22394внутренний редирект всегда превращал любой HTTP-метод в GET,
22395теперь это делается только для редиректов, выполняемых с помощью
22396X-Accel-Redirect, и у которых метод не равен HEAD;
22397ошибка появилась в 0.3.42.
22398</para>
22399<para lang="en">
22400the internal redirect always transform client's HTTP method to GET,
22401now the transformation is made for the "X-Accel-Redirect" redirects only
22402and if the method is not HEAD;
22403the bug had appeared in 0.3.42.
22404</para>
22405</change>
22406
22407<change type="bugfix">
22408<para lang="ru">
22409модуль ngx_http_perl_module не собирался, если перл был с поддержкой потоков;
22410ошибка появилась в 0.3.46.
22411</para>
22412<para lang="en">
22413the ngx_http_perl_module could not be built, if the perl was built
22414with the threads support;
22415the bug had appeared in 0.3.46.
22416</para>
22417</change>
22418
22419</changes>
22420
22421
22422<changes ver="0.3.47" date="2006-05-23">
22423
22424<change type="feature">
22425<para lang="ru">
22426директива upstream.
22427</para>
22428<para lang="en">
22429the "upstream" directive.
22430</para>
22431</change>
22432
22433<change type="change">
22434<para lang="ru">
22435символ "\" в парах "\"" и "\'" в SSI командах теперь всегда убирается.
22436</para>
22437<para lang="en">
22438now the "\" escape symbol in the "\"" and "\'" pairs in the SSI command
22439is always removed.
22440</para>
22441</change>
22442
22443</changes>
22444
22445
22446<changes ver="0.3.46" date="2006-05-11">
22447
22448<change type="feature">
22449<para lang="ru">
22450директивы proxy_hide_header, proxy_pass_header, fastcgi_hide_header
22451и fastcgi_pass_header.
22452</para>
22453<para lang="en">
22454the "proxy_hide_header", "proxy_pass_header", "fastcgi_hide_header",
22455and "fastcgi_pass_header" directives.
22456</para>
22457</change>
22458
22459<change type="change">
22460<para lang="ru">
22461директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и proxy_pass_server
22462упразднены.
22463</para>
22464<para lang="en">
22465the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and "proxy_pass_server"
22466directives were canceled.
22467</para>
22468</change>
22469
22470<change type="feature">
22471<para lang="ru">
22472в режиме прокси поддерживается строка заголовка "X-Accel-Buffering"
22473в ответе бэкенда.
22474</para>
22475<para lang="en">
22476the "X-Accel-Buffering" response header line is supported in proxy mode.
22477</para>
22478</change>
22479
22480<change type="bugfix">
22481<para lang="ru">
22482ошибок и утечек памяти при переконфигурации в модуле ngx_http_perl_module.
22483</para>
22484<para lang="en">
22485the reconfiguration bug and memory leaks in the ngx_http_perl_module.
22486</para>
22487</change>
22488
22489</changes>
22490
22491
22492<changes ver="0.3.45" date="2006-05-06">
22493
22494<change type="feature">
22495<para lang="ru">
22496директивы ssl_verify_client, ssl_verify_depth и ssl_client_certificate.
22497</para>
22498<para lang="en">
22499the "ssl_verify_client", "ssl_verify_depth", and "ssl_client_certificate"
22500directives.
22501</para>
22502</change>
22503
22504<change type="change">
22505<para lang="ru">
22506теперь переменная $request_method возвращает метод только основного запроса.
22507</para>
22508<para lang="en">
22509the $request_method variable now returns the main request method.
22510</para>
22511</change>
22512
22513<change type="change">
22514<para lang="ru">
22515в таблице перекодировки koi-win изменены коды символа &amp;deg;.
22516</para>
22517<para lang="en">
22518the &amp;deg; symbol codes were changed in koi-win conversion table.
22519</para>
22520</change>
22521
22522<change type="feature">
22523<para lang="ru">
22524в таблицу перекодировки koi-win добавлены символы евро и номера.
22525</para>
22526<para lang="en">
22527the euro and N symbols were added to koi-win conversion table.
22528</para>
22529</change>
22530
22531<change type="bugfix">
22532<para lang="ru">
22533если nginx распределял запросы на несколько машин, то при падении
22534одной из них запросы, предназначенные для этой машины, перенаправлялись только
22535на одну машину вместо того, чтобы равномерно распределяться между остальными.
22536</para>
22537<para lang="en">
22538if nginx distributed the requests among several backends and some backend
22539failed, then requests intended for this backend was directed to one live
22540backend only instead of being distributed among the rest.
22541</para>
22542</change>
22543
22544</changes>
22545
22546
22547<changes ver="0.3.44" date="2006-05-04">
22548
22549<change type="feature">
22550<para lang="ru">
22551параметр wait в команде SSI include.
22552</para>
22553<para lang="en">
22554the "wait" parameter in the "include" SSI command.
22555</para>
22556</change>
22557
22558<change type="feature">
22559<para lang="ru">
22560в таблицу перекодировки koi-win добавлены украинские и белорусские символы.
22561</para>
22562<para lang="en">
22563the Ukrainian and Byelorussian characters were added to koi-win conversion
22564table.
22565</para>
22566</change>
22567
22568<change type="bugfix">
22569<para lang="ru">
22570в SSI.
22571</para>
22572<para lang="en">
22573in the SSI.
22574</para>
22575</change>
22576
22577</changes>
22578
22579
22580<changes ver="0.3.43" date="2006-04-26">
22581
22582<change type="bugfix">
22583<para lang="ru">
22584в SSI.
22585</para>
22586<para lang="en">
22587in the SSI.
22588</para>
22589</change>
22590
22591</changes>
22592
22593
22594<changes ver="0.3.42" date="2006-04-26">
22595
22596<change type="feature">
22597<para lang="ru">
22598параметр bind в директиве listen в IMAP/POP3 прокси.
22599</para>
22600<para lang="en">
22601the "bind" option of the "listen" directive in IMAP/POP3 proxy.
22602</para>
22603</change>
22604
22605<change type="bugfix">
22606<para lang="ru">
22607ошибки при использовании в директиве rewrite одного и того же
22608выделения более одного раза.
22609</para>
22610<para lang="en">
22611if the same capture in the "rewrite" directive was used more then once.
22612</para>
22613</change>
22614
22615<change type="bugfix">
22616<para lang="ru">
22617в лог не записывались переменные
22618$sent_http_content_type, $sent_http_content_length, $sent_http_last_modified,
22619$sent_http_connection, $sent_http_keep_alive и $sent_http_transfer_encoding.
22620</para>
22621<para lang="en">
22622the $sent_http_content_type, $sent_http_content_length,
22623$sent_http_last_modified, $sent_http_connection, $sent_http_keep_alive,
22624and $sent_http_transfer_encoding variables were not written to access log.
22625</para>
22626</change>
22627
22628<change type="bugfix">
22629<para lang="ru">
22630переменная $sent_http_cache_control возвращала содержимое только одной
22631строки "Cache-Control" в заголовке ответа.
22632</para>
22633<para lang="en">
22634the $sent_http_cache_control returned value of the single "Cache-Control"
22635response header line.
22636</para>
22637</change>
22638
22639</changes>
22640
22641
22642<changes ver="0.3.41" date="2006-04-21">
22643
22644<change type="feature">
22645<para lang="ru">
22646ключ -v.
22647</para>
22648<para lang="en">
22649the -v switch.
22650</para>
22651</change>
22652
22653<change type="bugfix">
22654<para lang="ru">
22655при включении в SSI удалённых подзапросов
22656мог произойти segmentation fault.
22657</para>
22658<para lang="en">
22659the segmentation fault may occurred if the SSI page has remote subrequests.
22660</para>
22661</change>
22662
22663<change type="bugfix">
22664<para lang="ru">
22665в обработке FastCGI.
22666</para>
22667<para lang="en">
22668in FastCGI handling.
22669</para>
22670</change>
22671
22672<change type="bugfix">
22673<para lang="ru">
22674если путь к перловым модулям не был указан с помощью
22675--with-perl_modules_path=PATH или директивы perl_modules,
22676то на старте происходил segmentation fault.
22677</para>
22678<para lang="en">
22679if the perl modules path was not set using
22680--with-perl_modules_path=PATH or the "perl_modules", then
22681the segmentation fault was occurred.
22682</para>
22683</change>
22684
22685</changes>
22686
22687
22688<changes ver="0.3.40" date="2006-04-19">
22689
22690<change type="feature">
22691<para lang="ru">
22692модуль ngx_http_dav_module поддерживает метод MKCOL.
22693</para>
22694<para lang="en">
22695the ngx_http_dav_module supports the MKCOL method.
22696</para>
22697</change>
22698
22699<change type="feature">
22700<para lang="ru">
22701директива create_full_put_path.
22702</para>
22703<para lang="en">
22704the "create_full_put_path" directive.
22705</para>
22706</change>
22707
22708<change type="feature">
22709<para lang="ru">
22710переменная $limit_rate.
22711</para>
22712<para lang="en">
22713the "$limit_rate" variable.
22714</para>
22715</change>
22716
22717</changes>
22718
22719
22720<changes ver="0.3.39" date="2006-04-17">
22721
22722<change type="feature">
22723<para lang="ru">
22724директива uninitialized_variable_warn; уровень логгирования сообщения
22725о неинициализированной переменной понижен с уровня alert на warn.
22726</para>
22727<para lang="en">
22728the "uninitialized_variable_warn" directive; the logging level of the
22729"uninitialized variable" message was lowered from "alert" to "warn".
22730</para>
22731</change>
22732
22733<change type="feature">
22734<para lang="ru">
22735директива override_charset.
22736</para>
22737<para lang="en">
22738the "override_charset" directive.
22739</para>
22740</change>
22741
22742<change type="change">
22743<para lang="ru">
22744при использовании неизвестной переменной в SSI-командах echo и if expr='$name'
22745теперь не записывается в лог сообщение о неизвестной переменной.
22746</para>
22747<para lang="en">
22748now if the unknown variable is used in the "echo" and "if expr='$name'"
22749SSI-commands, then the "unknown variable" message is not logged.
22750</para>
22751</change>
22752
22753<change type="bugfix">
22754<para lang="ru">
22755счётчик активных соединений рос при превышении лимита соединений,
22756заданного директивой worker_connections;
22757ошибка появилась в 0.2.0.
22758</para>
22759<para lang="en">
22760the active connection counter increased on the exceeding of the connection
22761limit specified by the "worker_connections" directive;
22762the bug had appeared in 0.2.0.
22763</para>
22764</change>
22765
22766<change type="bugfix">
22767<para lang="ru">
22768при некоторых условия ограничение скорости соединения могло не работать;
22769ошибка появилась в 0.3.38.
22770</para>
22771<para lang="en">
22772the limit rate might not work on some condition;
22773the bug had appeared in 0.3.38.
22774</para>
22775</change>
22776
22777</changes>
22778
22779
22780<changes ver="0.3.38" date="2006-04-14">
22781
22782<change type="feature">
22783<para lang="ru">
22784модуль ngx_http_dav_module.
22785</para>
22786<para lang="en">
22787the ngx_http_dav_module.
22788</para>
22789</change>
22790
22791<change type="change">
22792<para lang="ru">
22793оптимизация модуля ngx_http_perl_module.<br/>
22794Спасибо Сергею Скворцову.
22795</para>
22796<para lang="en">
22797the ngx_http_perl_module optimizations.<br/>
22798Thanks to Sergey Skvortsov.
22799</para>
22800</change>
22801
22802<change type="feature">
22803<para lang="ru">
22804модуль ngx_http_perl_module поддерживает метод $r->request_body_file.
22805</para>
22806<para lang="en">
22807the ngx_http_perl_module supports the $r->request_body_file method.
22808</para>
22809</change>
22810
22811<change type="feature">
22812<para lang="ru">
22813директива client_body_in_file_only.
22814</para>
22815<para lang="en">
22816the "client_body_in_file_only" directive.
22817</para>
22818</change>
22819
22820<change type="workaround">
22821<para lang="ru">
22822теперь при переполнении диска nginx пытается писать access_log'и только
22823раз в секунду.<br/>
22824Спасибо Антону Южанинову и Максиму Дунину.
22825</para>
22826<para lang="en">
22827now on disk overflow nginx tries to write access logs once a second only.<br/>
22828Thanks to Anton Yuzhaninov and Maxim Dounin.
22829</para>
22830</change>
22831
22832<change type="bugfix">
22833<para lang="ru">
22834теперь директива limit_rate точнее ограничивает скорость при значениях
22835больше <nobr>100 Kbyte/s.</nobr><br/>
22836Спасибо ForJest.
22837</para>
22838<para lang="en">
22839now the "limit_rate" directive more precisely limits rate if rate is more
22840than <nobr>100 Kbyte/s.</nobr><br/>
22841Thanks to ForJest.
22842</para>
22843</change>
22844
22845<change type="bugfix">
22846<para lang="ru">
22847IMAP/POP3 прокси теперь передаёт серверу авторизации символы "\r" и "\n"
22848в логине и пароле в закодированном виде.<br/>
22849Спасибо Максиму Дунину.
22850</para>
22851<para lang="en">
22852now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and
22853password to pass authorization server.<br/>
22854Thanks to Maxim Dounin.
22855</para>
22856</change>
22857
22858</changes>
22859
22860
22861<changes ver="0.3.37" date="2006-04-07">
22862
22863<change type="feature">
22864<para lang="ru">
22865директива limit_except.
22866</para>
22867<para lang="en">
22868the "limit_except" directive.
22869</para>
22870</change>
22871
22872<change type="feature">
22873<para lang="ru">
22874директива if поддерживает операторы "!~", "!~*", "-f" и "!-f".
22875</para>
22876<para lang="en">
22877the "if" directive supports the "!~", "!~*", "-f", and "!-f" operators.
22878</para>
22879</change>
22880
22881<change type="feature">
22882<para lang="ru">
22883модуль ngx_http_perl_module поддерживает метод $r->request_body.
22884</para>
22885<para lang="en">
22886the ngx_http_perl_module supports the $r->request_body method.
22887</para>
22888</change>
22889
22890<change type="bugfix">
22891<para lang="ru">
22892в модуле ngx_http_addition_filter_module.
22893</para>
22894<para lang="en">
22895in the ngx_http_addition_filter_module.
22896</para>
22897</change>
22898
22899</changes>
22900
22901
22902<changes ver="0.3.36" date="2006-04-05">
22903
22904<change type="feature">
22905<para lang="ru">
22906модуль ngx_http_addition_filter_module.
22907</para>
22908<para lang="en">
22909the ngx_http_addition_filter_module.
22910</para>
22911</change>
22912
22913<change type="feature">
22914<para lang="ru">
22915директивы proxy_pass и fastcgi_pass можно использовать внутри блока if.
22916</para>
22917<para lang="en">
22918the "proxy_pass" and "fastcgi_pass" directives may be used inside
22919the "if" block.
22920</para>
22921</change>
22922
22923<change type="feature">
22924<para lang="ru">
22925директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort.
22926</para>
22927<para lang="en">
22928the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives.
22929</para>
22930</change>
22931
22932<change type="feature">
22933<para lang="ru">
22934переменная $request_completion.
22935</para>
22936<para lang="en">
22937the "$request_completion" variable.
22938</para>
22939</change>
22940
22941<change type="feature">
22942<para lang="ru">
22943модуль ngx_http_perl_module поддерживает методы $r->request_method и
22944$r->remote_addr.
22945</para>
22946<para lang="en">
22947the ngx_http_perl_module supports the $r->request_method and $r->remote_addr.
22948</para>
22949</change>
22950
22951<change type="feature">
22952<para lang="ru">
22953модуль ngx_http_ssi_module поддерживает команду elif.
22954</para>
22955<para lang="en">
22956the ngx_http_ssi_module supports the "elif" command.
22957</para>
22958</change>
22959
22960<change type="bugfix">
22961<para lang="ru">
22962строка "\/" в начале выражения команды if модуля ngx_http_ssi_module
22963воспринималась неверно.
22964</para>
22965<para lang="en">
22966the "\/" string in the expression of the "if" command of the
22967ngx_http_ssi_module was treated incorrectly.
22968</para>
22969</change>
22970
22971<change type="bugfix">
22972<para lang="ru">
22973в использовании регулярных выражениях в команде if модуля ngx_http_ssi_module.
22974</para>
22975<para lang="en">
22976in the regular expressions in the "if" command of the ngx_http_ssi_module.
22977</para>
22978</change>
22979
22980<change type="bugfix">
22981<para lang="ru">
22982при задании относительного пути в директивах
22983client_body_temp_path, proxy_temp_path, fastcgi_temp_path и perl_modules
22984использовался каталог относительно текущего каталога, а не относительно
22985префикса сервера.
22986</para>
22987<para lang="en">
22988if the relative path was specified in the "client_body_temp_path",
22989"proxy_temp_path", "fastcgi_temp_path", and "perl_modules" directives,
22990then the directory was used relatively to a current path but not
22991to a server prefix.
22992</para>
22993</change>
22994
22995</changes>
22996
22997
22998<changes ver="0.3.35" date="2006-03-22">
22999
23000<change type="bugfix">
23001<para lang="ru">
23002accept-фильтр и TCP_DEFER_ACCEPT устанавливались только для первой
23003директивы listen;
23004ошибка появилась в 0.3.31.
23005</para>
23006<para lang="en">
23007the accept-filter and the TCP_DEFER_ACCEPT option were set for first "listen"
23008directive only;
23009the bug had appeared in 0.3.31.
23010</para>
23011</change>
23012
23013<change type="bugfix">
23014<para lang="ru">
23015в директиве proxy_pass без URI при использовании в подзапросе.
23016</para>
23017<para lang="en">
23018in the "proxy_pass" directive without the URI part in a subrequest.
23019</para>
23020</change>
23021
23022</changes>
23023
23024
23025<changes ver="0.3.34" date="2006-03-21">
23026
23027<change type="feature">
23028<para lang="ru">
23029директива add_header поддерживает переменные.
23030</para>
23031<para lang="en">
23032the "add_header" directive supports the variables.
23033</para>
23034</change>
23035
23036</changes>
23037
23038
23039<changes ver="0.3.33" date="2006-03-15">
23040
23041<change type="feature">
23042<para lang="ru">
23043параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream.
23044</para>
23045<para lang="en">
23046the "http_503" parameter of the "proxy_next_upstream" or
23047"fastcgi_next_upstream" directives.
23048</para>
23049</change>
23050
23051<change type="bugfix">
23052<para lang="ru">
23053ngx_http_perl_module не работал со встроенным в конфигурационный файл кодом,
23054если он не начинался сразу же с "sub".
23055</para>
23056<para lang="en">
23057ngx_http_perl_module did not work with inlined in the configuration code,
23058if it was not started with the "sub" word.
23059</para>
23060</change>
23061
23062<change type="bugfix">
23063<para lang="ru">
23064в директиве post_action.
23065</para>
23066<para lang="en">
23067in the "post_action" directive.
23068</para>
23069</change>
23070
23071</changes>
23072
23073
23074<changes ver="0.3.32" date="2006-03-11">
23075
23076<change type="bugfix">
23077<para lang="ru">
23078удаление отладочного логгирования на старте и при переконфигурации;
23079ошибка появилась в 0.3.31.
23080</para>
23081<para lang="en">
23082the debug logging on startup and reconfiguration time was removed;
23083the bug had appeared in 0.3.31.
23084</para>
23085</change>
23086
23087</changes>
23088
23089
23090<changes ver="0.3.31" date="2006-03-10">
23091
23092<change type="change">
23093<para lang="ru">
23094теперь nginx передаёт неверные ответы проксированного бэкенда.
23095</para>
23096<para lang="en">
23097now nginx passes the malformed proxied backend responses.
23098</para>
23099</change>
23100
23101<change type="feature">
23102<para lang="ru">
23103директивы listen поддерживают адрес в виде "*:порт".
23104</para>
23105<para lang="en">
23106the "listen" directives support the address in the "*:port" form.
23107</para>
23108</change>
23109
23110<change type="feature">
23111<para lang="ru">
23112поддержка EVFILER_TIMER в MacOSX 10.4.
23113</para>
23114<para lang="en">
23115the EVFILER_TIMER support in MacOSX 10.4.
23116</para>
23117</change>
23118
23119<change type="workaround">
23120<para lang="ru">
23121обход ошибки обработки миллисекундных таймаутов kqueue в 64-битном ядре
23122MacOSX.<br/>
23123Спасибо Андрею Нигматулину.
23124</para>
23125<para lang="en">
23126for MacOSX 64-bit kernel kqueue millisecond timeout bug.<br/>
23127Thanks to Andrei Nigmatulin.
23128</para>
23129</change>
23130
23131<change type="bugfix">
23132<para lang="ru">
23133если внутри одного сервера описаны несколько директив listen, слушающих на
23134разных адресах, то имена серверов вида "*.domain.tld" работали только
23135для первого адреса;
23136ошибка появилась в 0.3.18.
23137</para>
23138<para lang="en">
23139if there were several "listen" directives listening one various addresses
23140inside one server, then server names like "*.domain.tld" worked for first
23141address only;
23142the bug had appeared in 0.3.18.
23143</para>
23144</change>
23145
23146<change type="bugfix">
23147<para lang="ru">
23148при использовании протокола HTTPS в директиве proxy_pass не передавались
23149запросы с телом, записанным во временный файл.
23150</para>
23151<para lang="en">
23152if the HTTPS protocol was used in the "proxy_pass" directive and
23153the request body was in temporary file then the request was not transferred.
23154</para>
23155</change>
23156
23157<change type="bugfix">
23158<para lang="ru">
23159совместимость с perl 5.8.8.
23160</para>
23161<para lang="en">
23162perl 5.8.8 compatibility.
23163</para>
23164</change>
23165
23166</changes>
23167
23168
23169<changes ver="0.3.30" date="2006-02-22">
23170
23171<change type="change">
23172<para lang="ru">
23173уровень записи в лог ошибки ECONNABORTED изменён на error с уровня crit.
23174</para>
23175<para lang="en">
23176the ECONNABORTED error log level was changed to "error" from "crit".
23177</para>
23178</change>
23179
23180<change type="bugfix">
23181<para lang="ru">
23182модуль ngx_http_perl_module не собирался без модуля ngx_http_ssi_filter_module.
23183</para>
23184<para lang="en">
23185the ngx_http_perl_module could not be build without
23186the ngx_http_ssi_filter_module.
23187</para>
23188</change>
23189
23190<change type="bugfix">
23191<para lang="ru">
23192nginx не собирался на i386 платформе, если использовался PIC;
23193ошибка появилась в 0.3.27.
23194</para>
23195<para lang="en">
23196nginx could not be built on i386 platform, if the PIC was used;
23197the bug had appeared in 0.3.27.
23198</para>
23199</change>
23200
23201</changes>
23202
23203
23204<changes ver="0.3.29" date="2006-02-20">
23205
23206<change type="feature">
23207<para lang="ru">
23208теперь nginx использует меньше памяти, если PHP в режиме FastCGI передаёт
23209большое количество предупреждений перед ответом.
23210</para>
23211<para lang="en">
23212now nginx uses less memory, if PHP in FastCGI mode sends many warnings
23213before the response.
23214</para>
23215</change>
23216
23217<change type="bugfix">
23218<para lang="ru">
23219в ответах 204 для запросов версии HTTP/1.1 выдавалась строка заголовка
23220"Transfer-Encoding: chunked".
23221</para>
23222<para lang="en">
23223the "Transfer-Encoding: chunked" header line was issued in the 204 responses
23224for the HTTP/1.1 requests.
23225</para>
23226</change>
23227
23228<change type="bugfix">
23229<para lang="ru">
23230nginx возвращал 502 код ответа, если FastCGI сервер передавал полные строки
23231заголовка ответа в отдельных FastCGI записях.
23232</para>
23233<para lang="en">
23234nginx returned the 502 response, if the complete response header lines
23235were transferred in a separate FastCGI records.
23236</para>
23237</change>
23238
23239<change type="bugfix">
23240<para lang="ru">
23241если в директиве post_action был указан проксируемый URI, то он выполнялся
23242только после успешного завершения запроса.
23243</para>
23244<para lang="en">
23245if the proxied URI was specified in the "post_action" directive, then it ran
23246only after a successful completion of a request.
23247</para>
23248</change>
23249
23250</changes>
23251
23252
23253<changes ver="0.3.28" date="2006-02-16">
23254
23255<change type="feature">
23256<para lang="ru">
23257директива restrict_host_names упразднена.
23258</para>
23259<para lang="en">
23260the "restrict_host_names" directive was canceled.
23261</para>
23262</change>
23263
23264<change type="feature">
23265<para lang="ru">
23266параметр конфигурации --with-cpu-opt=ppc64.
23267</para>
23268<para lang="en">
23269the --with-cpu-opt=ppc64 configuration parameter.
23270</para>
23271</change>
23272
23273<change type="bugfix">
23274<para lang="ru">
23275при некоторых условиях проксированное соединение с клиентом завершалось
23276преждевременно.<br/>
23277Спасибо Владимиру Шутову.
23278</para>
23279<para lang="en">
23280on some condition the proxied connection with a client was terminated
23281prematurely.<br/>
23282Thanks to Vladimir Shutoff.
23283</para>
23284</change>
23285
23286<change type="bugfix">
23287<para lang="ru">
23288строка заголовка "X-Accel-Limit-Rate" не учитывалась для запросов,
23289перенаправленных с помощью строки "X-Accel-Redirect".
23290</para>
23291<para lang="en">
23292the "X-Accel-Limit-Rate" header line was not taken into account
23293if the request was redirected using the "X-Accel-Redirect" header line.
23294</para>
23295</change>
23296
23297<change type="bugfix">
23298<para lang="ru">
23299директива post_action работала только после успешного завершения запроса.
23300</para>
23301<para lang="en">
23302the "post_action" directive ran only after a successful completion of a request.
23303</para>
23304</change>
23305
23306<change type="bugfix">
23307<para lang="ru">
23308тело проксированного ответа, создаваемого директивой post_action,
23309передавалось клиенту.
23310</para>
23311<para lang="en">
23312the proxied response body generated by the "post_action" directive
23313was transferred to a client.
23314</para>
23315</change>
23316
23317</changes>
23318
23319
23320<changes ver="0.3.27" date="2006-02-08">
23321
23322<change type="change">
23323<para lang="ru">
23324директивы variables_hash_max_size и variables_hash_bucket_size.
23325</para>
23326<para lang="en">
23327the "variables_hash_max_size" and "variables_hash_bucket_size" directives.
23328</para>
23329</change>
23330
23331<change type="feature">
23332<para lang="ru">
23333переменная $body_bytes_sent доступна не только в директиве log_format.
23334</para>
23335<para lang="en">
23336the $body_bytes_sent variable can be used not only in the "log_format"
23337directive.
23338</para>
23339</change>
23340
23341<change type="feature">
23342<para lang="ru">
23343переменные $ssl_protocol и $ssl_cipher.
23344</para>
23345<para lang="en">
23346the $ssl_protocol and $ssl_cipher variables.
23347</para>
23348</change>
23349
23350<change type="feature">
23351<para lang="ru">
23352определение размера строки кэша распространённых процессоров при старте.
23353</para>
23354<para lang="en">
23355the cache line size detection for widespread CPUs at start time.
23356</para>
23357</change>
23358
23359<change type="feature">
23360<para lang="ru">
23361директива accept_mutex теперь поддерживается посредством fcntl(2)
23362на платформах, отличных от i386, amd64, sparc64 и ppc.
23363</para>
23364<para lang="en">
23365now the "accept_mutex" directive is supported using fcntl(2)
23366on platforms different from i386, amd64, sparc64, and ppc.
23367</para>
23368</change>
23369
23370<change type="feature">
23371<para lang="ru">
23372директива lock_file и параметр автоконфигурации --with-lock-path=PATH.
23373</para>
23374<para lang="en">
23375the "lock_file" directive and the --with-lock-path=PATH autoconfiguration
23376directive.
23377</para>
23378</change>
23379
23380<change type="bugfix">
23381<para lang="ru">
23382при использовании протокола HTTPS в директиве proxy_pass не передавались
23383запросы с телом.
23384</para>
23385<para lang="en">
23386if the HTTPS protocol was used in the "proxy_pass" directive then
23387the requests with the body was not transferred.
23388</para>
23389</change>
23390
23391</changes>
23392
23393
23394<changes ver="0.3.26" date="2006-02-03">
23395
23396<change type="change">
23397<para lang="ru">
23398директива optimize_host_names переименована в optimize_server_names.
23399</para>
23400<para lang="en">
23401the "optimize_host_names" directive was renamed to the "optimize_server_names".
23402</para>
23403</change>
23404
23405<change type="bugfix">
23406<para lang="ru">
23407при проксировании подзапроса в SSI бэкенду передавался URI основного запроса,
23408если в директиве proxy_pass отсутствовал URI.
23409</para>
23410<para lang="en">
23411if in the "proxy_pass" directive was no the URI part, then the main request
23412URI was transferred to a backend while proxying the SSI subrequest.
23413</para>
23414</change>
23415
23416</changes>
23417
23418
23419<changes ver="0.3.25" date="2006-02-01">
23420
23421<change type="bugfix">
23422<para lang="ru">
23423при неверной конфигурации на старте или во время переконфигурации происходил
23424segmentation fault;
23425ошибка появилась в 0.3.24.
23426</para>
23427<para lang="en">
23428the segmentation fault was occurred on start or while reconfiguration
23429if there was invalid configuration;
23430the bug had appeared in 0.3.24.
23431</para>
23432</change>
23433
23434</changes>
23435
23436
23437<changes ver="0.3.24" date="2006-02-01">
23438
23439<change type="workaround">
23440<para lang="ru">
23441обход ошибки в kqueue во FreeBSD.
23442</para>
23443<para lang="en">
23444for bug in FreeBSD kqueue.
23445</para>
23446</change>
23447
23448<change type="bugfix">
23449<para lang="ru">
23450ответ, создаваемый директивой post_action, теперь не передаётся клиенту.
23451</para>
23452<para lang="en">
23453now a response generated by the "post_action" directive is not transferred
23454to a client.
23455</para>
23456</change>
23457
23458<change type="bugfix">
23459<para lang="ru">
23460при использовании большого количества лог-файлов происходила утечка памяти.
23461</para>
23462<para lang="en">
23463the memory leaks were occurring if many log files were used.
23464</para>
23465</change>
23466
23467<change type="bugfix">
23468<para lang="ru">
23469внутри одного location работала только первая директива proxy_redirect.
23470</para>
23471<para lang="en">
23472the first "proxy_redirect" directive was working inside one location.
23473</para>
23474</change>
23475
23476<change type="bugfix">
23477<para lang="ru">
23478на 64-битных платформах при старте мог произойти segmentation fault,
23479если использовалось большое количество имён в директивах server_name;
23480ошибка появилась в 0.3.18.
23481</para>
23482<para lang="en">
23483on 64-bit platforms segmentation fault may occurred on start
23484if the many names were used in the "server_name" directives;
23485the bug had appeared in 0.3.18.
23486</para>
23487</change>
23488
23489</changes>
23490
23491
23492<changes ver="0.3.23" date="2006-01-24">
23493
23494<change type="feature">
23495<para lang="ru">
23496директива optimize_host_names.
23497</para>
23498<para lang="en">
23499the "optimize_host_names" directive.
23500</para>
23501</change>
23502
23503<change type="bugfix">
23504<para lang="ru">
23505ошибки при использовании переменных в директивах path и alias.
23506</para>
23507<para lang="en">
23508in using of the variables in the "path" and "alias" directives.
23509</para>
23510</change>
23511
23512<change type="bugfix">
23513<para lang="ru">
23514модуль ngx_http_perl_module неправильно собирался на Linux и Solaris.
23515</para>
23516<para lang="en">
23517the ngx_http_perl_module was incorrectly built on Linux and Solaris.
23518</para>
23519</change>
23520
23521</changes>
23522
23523
23524<changes ver="0.3.22" date="2006-01-17">
23525
23526<change type="feature">
23527<para lang="ru">
23528модуль ngx_http_perl_module поддерживает методы $r->args и $r->unescape.
23529</para>
23530<para lang="en">
23531the ngx_http_perl_module supports the $r->args and $r->unescape methods.
23532</para>
23533</change>
23534
23535<change type="feature">
23536<para lang="ru">
23537метод $r->query_string в модуле ngx_http_perl_module упразднён.
23538</para>
23539<para lang="en">
23540the method $r->query_string of ngx_http_perl_module was canceled.
23541</para>
23542</change>
23543
23544<change type="bugfix">
23545<para lang="ru">
23546если в директиве valid_referers указаны только none или blocked, то
23547происходил segmentation fault;
23548ошибка появилась в 0.3.18.
23549</para>
23550<para lang="en">
23551segmentation fault was occurred if the "none" or "blocked" values was
23552specified in the "valid_referers" directive;
23553the bug had appeared in 0.3.18.
23554</para>
23555</change>
23556
23557</changes>
23558
23559
23560<changes ver="0.3.21" date="2006-01-16">
23561
23562<change type="feature">
23563<para lang="ru">
23564модуль ngx_http_perl_module.
23565</para>
23566<para lang="en">
23567the ngx_http_perl_module.
23568</para>
23569</change>
23570
23571<change type="change">
23572<para lang="ru">
23573директива valid_referers разрешает использовать рефереры совсем без URI.
23574</para>
23575<para lang="en">
23576the "valid_referers" directive allows the referrers without URI part.
23577</para>
23578</change>
23579
23580</changes>
23581
23582
23583<changes ver="0.3.20" date="2006-01-11">
23584
23585<change type="bugfix">
23586<para lang="ru">
23587ошибки в обработке SSI.
23588</para>
23589<para lang="en">
23590in SSI handling.
23591</para>
23592</change>
23593
23594<change type="bugfix">
23595<para lang="ru">
23596модуль ngx_http_memcached_module не поддерживал ключи в виде /uri?args.
23597</para>
23598<para lang="en">
23599the ngx_http_memcached_module did not support the keys in the "/usr?args" form.
23600</para>
23601</change>
23602
23603</changes>
23604
23605<changes ver="0.3.19" date="2005-12-28">
23606
23607<change type="feature">
23608<para lang="ru">
23609директивы path и alias поддерживают переменные.
23610</para>
23611<para lang="en">
23612the "path" and "alias" directives support the variables.
23613</para>
23614</change>
23615
23616<change type="change">
23617<para lang="ru">
23618теперь директива valid_referers опять учитывает URI.
23619</para>
23620<para lang="en">
23621now the "valid_referers" directive again checks the URI part.
23622</para>
23623</change>
23624
23625<change type="bugfix">
23626<para lang="ru">
23627ошибки в обработке SSI.
23628</para>
23629<para lang="en">
23630in SSI handling.
23631</para>
23632</change>
23633
23634</changes>
23635
23636
23637<changes ver="0.3.18" date="2005-12-26">
23638
23639<change type="feature">
23640<para lang="ru">
23641директива server_names поддерживает имена вида ".domain.tld".
23642</para>
23643<para lang="en">
23644the "server_names" directive supports the ".domain.tld" names.
23645</para>
23646</change>
23647
23648<change type="feature">
23649<para lang="ru">
23650директива server_names использует хэш для имён вида "*.domain.tld"
23651и более эффективный хэш для обычных имён.
23652</para>
23653<para lang="en">
23654the "server_names" directive uses the hash for the "*.domain.tld" names
23655and more effective hash for usual names.
23656</para>
23657</change>
23658
23659<change type="change">
23660<para lang="ru">
23661директивы server_names_hash_max_size и server_names_hash_bucket_size.
23662</para>
23663<para lang="en">
23664the "server_names_hash_max_size" and "server_names_hash_bucket_size" directives.
23665</para>
23666</change>
23667
23668<change type="change">
23669<para lang="ru">
23670директивы server_names_hash и server_names_hash_threshold упразднены.
23671</para>
23672<para lang="en">
23673the "server_names_hash" and "server_names_hash_threshold" directives
23674were canceled.
23675</para>
23676</change>
23677
23678<change type="feature">
23679<para lang="ru">
23680директива valid_referers использует хэш для имён сайтов.
23681</para>
23682<para lang="en">
23683the "valid_referers" directive uses the hash site names.
23684</para>
23685</change>
23686
23687<change type="change">
23688<para lang="ru">
23689теперь директива valid_referers проверяет только имена сайтов без учёта URI.
23690</para>
23691<para lang="en">
23692now the "valid_referers" directive checks the site names only without
23693the URI part.
23694</para>
23695</change>
23696
23697<change type="bugfix">
23698<para lang="ru">
23699некоторые имена вида ".domain.tld" неверно обрабатывались модулем
23700ngx_http_map_module.
23701</para>
23702<para lang="en">
23703some ".domain.tld" names incorrectly processed by the ngx_http_map_module.
23704</para>
23705</change>
23706
23707<change type="bugfix">
23708<para lang="ru">
23709если конфигурационного файла не было, то происходил segmentation fault;
23710ошибка появилась в 0.3.12.
23711</para>
23712<para lang="en">
23713segmentation fault was occurred if configuration file did not exist;
23714the bug had appeared in 0.3.12.
23715</para>
23716</change>
23717
23718<change type="bugfix">
23719<para lang="ru">
23720на 64-битных платформах при старте мог произойти segmentation fault;
23721ошибка появилась в 0.3.16.
23722</para>
23723<para lang="en">
23724on 64-bit platforms segmentation fault may occurred on start;
23725the bug had appeared in 0.3.16.
23726</para>
23727</change>
23728
23729</changes>
23730
23731
23732<changes ver="0.3.17" date="2005-12-18">
23733
23734<change type="change">
23735<para lang="ru">
23736на Linux configure теперь проверяет наличие epoll и sendfile64() в ядре.
23737</para>
23738<para lang="en">
23739now on Linux configure checks the presence of epoll and sendfile64() in kernel.
23740</para>
23741</change>
23742
23743<change type="feature">
23744<para lang="ru">
23745директива map поддерживает доменные имена в формате ".domain.tld".
23746</para>
23747<para lang="en">
23748the "map" directive supports domain names in the ".domain.tld" form.
23749</para>
23750</change>
23751
23752<change type="bugfix">
23753<para lang="ru">
23754во время SSL handshake не иcпользовались таймауты;
23755ошибка появилась в 0.2.4.
23756</para>
23757<para lang="en">
23758the timeouts were not used in SSL handshake;
23759the bug had appeared in 0.2.4.
23760</para>
23761</change>
23762
23763<change type="bugfix">
23764<para lang="ru">
23765в использовании протокола HTTPS в директиве proxy_pass.
23766</para>
23767<para lang="en">
23768in the HTTPS protocol in the "proxy_pass" directive.
23769</para>
23770</change>
23771
23772<change type="bugfix">
23773<para lang="ru">
23774при использовании протокола HTTPS в директиве proxy_pass по умолчанию
23775использовался порт 80.
23776</para>
23777<para lang="en">
23778when the HTTPS protocol was used in the "proxy_pass" directive the port 80
23779was used by default.
23780</para>
23781</change>
23782
23783</changes>
23784
23785
23786<changes ver="0.3.16" date="2005-12-16">
23787
23788<change type="feature">
23789<para lang="ru">
23790модуль ngx_http_map_module.
23791</para>
23792<para lang="en">
23793the ngx_http_map_module.
23794</para>
23795</change>
23796
23797<change type="feature">
23798<para lang="ru">
23799директивы types_hash_max_size и types_hash_bucket_size.
23800</para>
23801<para lang="en">
23802the "types_hash_max_size" and "types_hash_bucket_size" directives.
23803</para>
23804</change>
23805
23806<change type="feature">
23807<para lang="ru">
23808директива ssi_value_length.
23809</para>
23810<para lang="en">
23811the "ssi_value_length" directive.
23812</para>
23813</change>
23814
23815<change type="feature">
23816<para lang="ru">
23817директива worker_rlimit_core.
23818</para>
23819<para lang="en">
23820the "worker_rlimit_core" directive.
23821</para>
23822</change>
23823
23824<change type="workaround">
23825<para lang="ru">
23826при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
23827<nobr>Pentium 4</nobr> номер соединения в логах всегда был равен 1.
23828</para>
23829<para lang="en">
23830the connection number in logs was always 1 if nginx was built by the
23831icc 8.1 or 9.0 compilers with optimization for <nobr>Pentium 4.</nobr>
23832</para>
23833</change>
23834
23835<change type="bugfix">
23836<para lang="ru">
23837команда config timefmt в SSI задавала неверный формат времени.
23838</para>
23839<para lang="en">
23840the "config timefmt" SSI command set incorrect time format.
23841</para>
23842</change>
23843
23844<change type="bugfix">
23845<para lang="ru">
23846nginx не закрывал соединения с IMAP/POP3 бэкендом при использовании SSL
23847соединений;
23848ошибка появилась в 0.3.13.<br/>
23849Спасибо Rob Mueller.
23850</para>
23851<para lang="en">
23852nginx did not close connection to IMAP/POP3 backend for the SSL
23853connections;
23854the bug had appeared in 0.3.13.<br/>
23855Thanks to Rob Mueller.
23856</para>
23857</change>
23858
23859<change type="bugfix">
23860<para lang="ru">
23861segmentation fault мог произойти во время SSL shutdown;
23862ошибка появилась в 0.3.13.
23863</para>
23864<para lang="en">
23865segmentation fault may occurred in at SSL shutdown;
23866the bug had appeared in 0.3.13.
23867</para>
23868</change>
23869
23870</changes>
23871
23872
23873<changes ver="0.3.15" date="2005-12-07">
23874
23875<change type="feature">
23876<para lang="ru">
23877новой код 444 в директиве return для закрытия соединения.
23878</para>
23879<para lang="en">
23880the new 444 code of the "return" directive to close connection.
23881</para>
23882</change>
23883
23884<change type="feature">
23885<para lang="ru">
23886директива so_keepalive в IMAP/POP3 прокси.
23887</para>
23888<para lang="en">
23889the "so_keepalive" directive in IMAP/POP3 proxy.
23890</para>
23891</change>
23892
23893<change type="bugfix">
23894<para lang="ru">
23895nginx теперь вызывает abort() при обнаружении незакрытых соединений
23896только при плавном выходе и включённой директиве debug_points.
23897</para>
23898<para lang="en">
23899if there are unclosed connection nginx now calls abort() only on graceful
23900quit and active "debug_points" directive.
23901</para>
23902</change>
23903
23904</changes>
23905
23906
23907<changes ver="0.3.14" date="2005-12-05">
23908
23909<change type="bugfix">
23910<para lang="ru">
23911в ответе 304 передавалось тело ответа;
23912ошибка появилась в 0.3.13.
23913</para>
23914<para lang="en">
23915in the 304 response the body was transferred;
23916the bug had appeared in 0.3.13.
23917</para>
23918</change>
23919
23920</changes>
23921
23922
23923<changes ver="0.3.13" date="2005-12-05">
23924
23925<change type="feature">
23926<para lang="ru">
23927IMAP/POP3 прокси поддерживает STARTTLS и STLS.
23928</para>
23929<para lang="en">
23930the IMAP/POP3 proxy supports STARTTLS and STLS.
23931</para>
23932</change>
23933
23934<change type="bugfix">
23935<para lang="ru">
23936IMAP/POP3 прокси не работала с методами select, poll и /dev/poll.
23937</para>
23938<para lang="en">
23939the IMAP/POP3 proxy did not work with the select, poll, and /dev/poll methods.
23940</para>
23941</change>
23942
23943<change type="bugfix">
23944<para lang="ru">
23945ошибки в обработке SSI.
23946</para>
23947<para lang="en">
23948in SSI handling.
23949</para>
23950</change>
23951
23952<change type="bugfix">
23953<para lang="ru">
23954sendfilev() в Solaris теперь не используется при передаче тела запроса
23955FastCGI-серверу через unix domain сокет.
23956</para>
23957<para lang="en">
23958now Solaris sendfilev() is not used to transfer the client request body
23959to FastCGI-server via the unix domain socket.
23960</para>
23961</change>
23962
23963<change type="bugfix">
23964<para lang="ru">
23965директива auth_basic не запрещала аутентификацию;
23966ошибка появилась в 0.3.11.
23967</para>
23968<para lang="en">
23969the "auth_basic" directive did not disable the authorization;
23970the bug had appeared in 0.3.11.
23971</para>
23972</change>
23973
23974</changes>
23975
23976
23977<changes ver="0.3.12" date="2005-11-26">
23978
23979<change type="security">
23980<para lang="ru">
23981если nginx был собран с модулем ngx_http_realip_module, то при использовании
23982директивы "satisfy_any on" директивы доступа и аутентификации не работали.
23983Модуль ngx_http_realip_module не собирался и не собирается по умолчанию.
23984</para>
23985<para lang="en">
23986if nginx was built with the ngx_http_realip_module and the "satisfy_any on"
23987directive was used, then access and authorization directives did not work.
23988The ngx_http_realip_module was not built and is not built by default.
23989</para>
23990</change>
23991
23992<change type="change">
23993<para lang="ru">
23994имя переменной "$time_gmt" изменено на "$time_local".
23995</para>
23996<para lang="en">
23997the "$time_gmt" variable name was changed to "$time_local".
23998</para>
23999</change>
24000
24001<change type="change">
24002<para lang="ru">
24003директивы proxy_header_buffer_size и fastcgi_header_buffer_size
24004переименованы соответственно в proxy_buffer_size и fastcgi_buffer_size.
24005</para>
24006<para lang="en">
24007the "proxy_header_buffer_size" and "fastcgi_header_buffer_size" directives
24008was renamed to the "proxy_buffer_size" and "fastcgi_buffer_size" directives.
24009</para>
24010</change>
24011
24012<change type="feature">
24013<para lang="ru">
24014модуль ngx_http_memcached_module.
24015</para>
24016<para lang="en">
24017the ngx_http_memcached_module.
24018</para>
24019</change>
24020
24021<change type="feature">
24022<para lang="ru">
24023директива proxy_buffering.
24024</para>
24025<para lang="en">
24026the "proxy_buffering" directive.
24027</para>
24028</change>
24029
24030<change type="bugfix">
24031<para lang="ru">
24032изменение в работе с accept mutex при использовании метода rtsig;
24033ошибка появилась в 0.3.0.
24034</para>
24035<para lang="en">
24036the changes in accept mutex  handling when the "rtsig" method was used;
24037the bug had appeared in 0.3.0.
24038</para>
24039</change>
24040
24041<change type="bugfix">
24042<para lang="ru">
24043если клиент передал строку "Transfer-Encoding: chunked" в заголовке
24044запроса, то nginx теперь выдаёт ошибку 411.
24045</para>
24046<para lang="en">
24047if the client sent the "Transfer-Encoding: chunked" header line, then
24048nginx returns the 411 error.
24049</para>
24050</change>
24051
24052<change type="bugfix">
24053<para lang="ru">
24054при наследовании директивы auth_basic с уровня http в строке
24055"WWW-Authenticate" заголовка ответа выводился realm без текста "Basic realm".
24056</para>
24057<para lang="en">
24058if the "auth_basic" directive was inherited from the http level,
24059then the realm in the "WWW-Authenticate" header line was without
24060the "Basic realm" text.
24061</para>
24062</change>
24063
24064<change type="bugfix">
24065<para lang="ru">
24066если в директиве access_log был явно указан формат combined, то в лог
24067записывались пустые строки;
24068ошибка появилась в 0.3.8.
24069</para>
24070<para lang="en">
24071if the "combined" format was explicitly specified in the "access_log" directive,
24072then the empty lines was written to the log;
24073the bug had appeared in 0.3.8.
24074</para>
24075</change>
24076
24077<change type="bugfix">
24078<para lang="ru">
24079nginx не работал на платформе sparc под любыми OS, кроме Solaris.
24080</para>
24081<para lang="en">
24082nginx did not run on the sparc platform under any OS except Solaris.
24083</para>
24084</change>
24085
24086<change type="bugfix">
24087<para lang="ru">
24088в директиве if теперь не нужно разделять пробелом строку в кавычках и
24089закрывающую скобку.
24090</para>
24091<para lang="en">
24092now it is not necessary to place space between the quoted string and closing
24093bracket in the "if" directive.
24094</para>
24095</change>
24096
24097</changes>
24098
24099
24100<changes ver="0.3.11" date="2005-11-15">
24101
24102<change type="bugfix">
24103<para lang="ru">
24104nginx не передавал при проксировании тело запроса и строки заголовка клиента;
24105ошибка появилась в 0.3.10.
24106</para>
24107<para lang="en">
24108nginx did not pass the client request headers and body while proxying;
24109the bug had appeared in 0.3.10.
24110</para>
24111</change>
24112
24113</changes>
24114
24115
24116<changes ver="0.3.10" date="2005-11-15">
24117
24118<change type="change">
24119<para lang="ru">
24120директива valid_referers и переменная $invalid_referer перенесены
24121из модуля ngx_http_rewrite_module в новый модуль ngx_http_referer_module.
24122</para>
24123<para lang="en">
24124the "valid_referers" directive and the "$invalid_referer" variable
24125were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module.
24126</para>
24127</change>
24128
24129<change type="change">
24130<para lang="ru">
24131имя переменной "$apache_bytes_sent" изменено на "$body_bytes_sent".
24132</para>
24133<para lang="en">
24134the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent".
24135</para>
24136</change>
24137
24138<change type="feature">
24139<para lang="ru">
24140переменные "$sent_http_...".
24141</para>
24142<para lang="en">
24143the "$sent_http_..." variables.
24144</para>
24145</change>
24146
24147<change type="feature">
24148<para lang="ru">
24149директива if поддерживает операции "=" и "!=".
24150</para>
24151<para lang="en">
24152the "if" directive supports the "=" and "!=" operations.
24153</para>
24154</change>
24155
24156<change type="feature">
24157<para lang="ru">
24158директива proxy_pass поддерживает протокол HTTPS.
24159</para>
24160<para lang="en">
24161the "proxy_pass" directive supports the HTTPS protocol.
24162</para>
24163</change>
24164
24165<change type="feature">
24166<para lang="ru">
24167директива proxy_set_body.
24168</para>
24169<para lang="en">
24170the "proxy_set_body" directive.
24171</para>
24172</change>
24173
24174<change type="feature">
24175<para lang="ru">
24176директива post_action.
24177</para>
24178<para lang="en">
24179the "post_action" directive.
24180</para>
24181</change>
24182
24183<change type="feature">
24184<para lang="ru">
24185модуль ngx_http_empty_gif_module.
24186</para>
24187<para lang="en">
24188the ngx_http_empty_gif_module.
24189</para>
24190</change>
24191
24192<change type="feature">
24193<para lang="ru">
24194директива worker_cpu_affinity для Linux.
24195</para>
24196<para lang="en">
24197the "worker_cpu_affinity" directive for Linux.
24198</para>
24199</change>
24200
24201<change type="bugfix">
24202<para lang="ru">
24203директива rewrite не раскодировала символы в редиректах в URI,
24204теперь символы раскодируются, кроме символов %00-%25 и %7F-%FF.
24205</para>
24206<para lang="en">
24207the "rewrite" directive did not unescape URI part in redirect,
24208now it is unescaped except the %00-%25 and %7F-%FF characters.
24209</para>
24210</change>
24211
24212<change type="bugfix">
24213<para lang="ru">
24214nginx не собирался компилятором icc 9.0.
24215</para>
24216<para lang="en">
24217nginx could not be built by the icc 9.0 compiler.
24218</para>
24219</change>
24220
24221<change type="bugfix">
24222<para lang="ru">
24223если для статического файла нулевого размера был разрешён SSI,
24224то ответ передавался неверно при кодировании chunk'ами.
24225</para>
24226<para lang="en">
24227if the SSI was enabled for zero size static file, then the chunked
24228response was encoded incorrectly.
24229</para>
24230</change>
24231
24232</changes>
24233
24234
24235<changes ver="0.3.9" date="2005-11-10">
24236
24237<change type="bugfix">
24238<para lang="ru">
24239nginx считал небезопасными URI, в которых между двумя слэшами
24240находилось два любых символа;
24241ошибка появилась в 0.3.8.
24242</para>
24243<para lang="en">
24244nginx considered URI as unsafe if two any symbols was between two slashes;
24245the bug had appeared in 0.3.8.
24246</para>
24247</change>
24248
24249</changes>
24250
24251
24252<changes ver="0.3.8" date="2005-11-09">
24253
24254<change type="security">
24255<para lang="ru">
24256nginx теперь проверят URI, полученные от бэкенда в строке "X-Accel-Redirect"
24257в заголовке ответа, или в SSI файле на наличие путей "/../" и нулей.
24258</para>
24259<para lang="en">
24260nginx now checks URI got from a backend in "X-Accel-Redirect" header line
24261or in SSI file for the "/../" paths and zeroes.
24262</para>
24263</change>
24264
24265<change type="change">
24266<para lang="ru">
24267nginx теперь не воспринимает пустое имя как правильное
24268в строке "Authorization" в заголовке запроса.
24269</para>
24270<para lang="en">
24271nginx now does not treat the empty user name in the "Authorization" header
24272line as valid one.
24273</para>
24274</change>
24275
24276<change type="feature">
24277<para lang="ru">
24278директива ssl_session_timeout модулей
24279ngx_http_ssl_module и ngx_imap_ssl_module.
24280</para>
24281<para lang="en">
24282the "ssl_session_timeout" directives
24283of the ngx_http_ssl_module and ngx_imap_ssl_module.
24284</para>
24285</change>
24286
24287<change type="feature">
24288<para lang="ru">
24289директива auth_http_header модуля ngx_imap_auth_http_module.
24290</para>
24291<para lang="en">
24292the "auth_http_header" directive of the ngx_imap_auth_http_module.
24293</para>
24294</change>
24295
24296<change type="feature">
24297<para lang="ru">
24298директива add_header.
24299</para>
24300<para lang="en">
24301the "add_header" directive.
24302</para>
24303</change>
24304
24305<change type="feature">
24306<para lang="ru">
24307модуль ngx_http_realip_module.
24308</para>
24309<para lang="en">
24310the ngx_http_realip_module.
24311</para>
24312</change>
24313
24314<change type="feature">
24315<para lang="ru">
24316новые переменные для использования в директиве log_format:
24317$bytes_sent, $apache_bytes_sent, $status, $time_gmt,
24318$uri, $request_time, $request_length,
24319$upstream_status, $upstream_response_time,
24320$gzip_ratio,
24321$uid_got, $uid_set,
24322$connection, $pipe и $msec.
24323Параметры в виде "%name" скоро будут упразднены.
24324</para>
24325<para lang="en">
24326the new variables to use in the "log_format" directive:
24327$bytes_sent, $apache_bytes_sent, $status, $time_gmt,
24328$uri, $request_time, $request_length,
24329$upstream_status, $upstream_response_time,
24330$gzip_ratio,
24331$uid_got, $uid_set,
24332$connection, $pipe, and $msec.
24333The parameters in the "%name" form will be canceled soon.
24334</para>
24335</change>
24336
24337<change type="change">
24338<para lang="ru">
24339в директиве "if" ложными значениями переменных теперь являются
24340пустая строка "" и строки, начинающиеся на "0".
24341</para>
24342<para lang="en">
24343now the false variable values in the "if" directive are the empty string ""
24344and string starting with "0".
24345</para>
24346</change>
24347
24348<change type="bugfix">
24349<para lang="ru">
24350при работает с проксированными или FastCGI-серверами nginx мог оставлять
24351открытыми соединения и временные файлы с запросами клиентов.
24352</para>
24353<para lang="en">
24354while using proxied or FastCGI-server nginx may leave connections
24355and temporary files with client requests in open state.
24356</para>
24357</change>
24358
24359<change type="bugfix">
24360<para lang="ru">
24361рабочие процессы не сбрасывали буферизированные логи при плавном выходе.
24362</para>
24363<para lang="en">
24364the worker processes did not flush the buffered logs on graceful exit.
24365</para>
24366</change>
24367
24368<change type="bugfix">
24369<para lang="ru">
24370если URI запроса изменялось с помощью rewrite, а затем запрос проксировался
24371в location, заданном регулярным выражением, то бэкенду передавался
24372неверный запрос;
24373ошибка появилась в 0.2.6.
24374</para>
24375<para lang="en">
24376if the request URI was changes by the "rewrite" directive and the request
24377was proxied in location given by regular expression, then the incorrect
24378request was transferred to backend;
24379the bug had appeared in 0.2.6.
24380</para>
24381</change>
24382
24383<change type="bugfix">
24384<para lang="ru">
24385директива expires не удаляла уже установленную строку заголовка "Expires".
24386</para>
24387<para lang="en">
24388the "expires" directive did not remove the previous "Expires" header.
24389</para>
24390</change>
24391
24392<change type="bugfix">
24393<para lang="ru">
24394при использовании метода rtsig и нескольких рабочих процессах nginx
24395мог перестать принимать запросы.
24396</para>
24397<para lang="en">
24398nginx may stop to accept requests if the "rtsig" method and several worker
24399processes were used.
24400</para>
24401</change>
24402
24403<change type="bugfix">
24404<para lang="ru">
24405в SSI командах неверно обрабатывались строки "\"" и "\'".
24406</para>
24407<para lang="en">
24408the "\"" and "\'" escape symbols were incorrectly handled in SSI commands.
24409</para>
24410</change>
24411
24412<change type="bugfix">
24413<para lang="ru">
24414если ответ заканчивался сразу же после SSI команды, то при использовании
24415сжатия ответ передавался не до конца или не передавался вообще.
24416</para>
24417<para lang="en">
24418if the response was ended just after the SSI command and gzipping was used,
24419then the response did not transferred complete or did not transferred at all.
24420</para>
24421</change>
24422
24423</changes>
24424
24425
24426<changes ver="0.3.7" date="2005-10-27">
24427
24428<change type="feature">
24429<para lang="ru">
24430директива access_log поддерживает параметр buffer=.
24431</para>
24432<para lang="en">
24433the "access_log" supports the "buffer=" parameter.
24434</para>
24435</change>
24436
24437<change type="bugfix">
24438<para lang="ru">
24439nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
24440ошибка появилась в 0.3.2.
24441</para>
24442<para lang="en">
24443nginx could not be built on platforms different from i386, amd64, sparc,
24444and ppc;
24445the bug had appeared in 0.3.2.
24446</para>
24447</change>
24448
24449</changes>
24450
24451
24452<changes ver="0.3.6" date="2005-10-24">
24453
24454<change type="change">
24455<para lang="ru">
24456IMAP/POP3 прокси теперь не передаёт серверу авторизации пустой логин.
24457</para>
24458<para lang="en">
24459now the IMAP/POP3 proxy do not send the empty login to authorization server.
24460</para>
24461</change>
24462
24463<change type="feature">
24464<para lang="ru">
24465директива log_format поддерживает переменные в виде $name.
24466</para>
24467<para lang="en">
24468the "log_format" supports the variables in the $name form.
24469</para>
24470</change>
24471
24472<change type="bugfix">
24473<para lang="ru">
24474если хотя бы в одном сервере не было описано ни одной директивы listen, то
24475nginx не слушал на 80 порту;
24476ошибка появилась в 0.3.3.
24477</para>
24478<para lang="en">
24479if at least in one server was no the "listen" directive, then nginx did not
24480listen on the 80 port;
24481the bug had appeared in 0.3.3.
24482</para>
24483</change>
24484
24485<change type="bugfix">
24486<para lang="ru">
24487если в директиве proxy_pass отсутствовал URI, то всегда использовался порт 80.
24488</para>
24489<para lang="en">
24490if the URI part is omitted in "proxy_pass" directive, the 80 port was
24491always used.
24492</para>
24493</change>
24494
24495</changes>
24496
24497
24498<changes ver="0.3.5" date="2005-10-21">
24499
24500<change type="bugfix">
24501<para lang="ru">
24502если логин IMAP/POP3 менялся сервером авторизации, то мог произойти
24503segmentation fault;
24504ошибка появилась в 0.2.2.
24505</para>
24506<para lang="en">
24507the segmentation fault may occurred if the IMAP/POP3 login was changed
24508by authorization server;
24509the bug had appeared in 0.2.2.
24510</para>
24511</change>
24512
24513<change type="bugfix">
24514<para lang="ru">
24515accept mutex не работал, все соединения обрабатывались одним рабочим процессом;
24516ошибка появилась в 0.3.3.
24517</para>
24518<para lang="en">
24519the accept mutex did not work and all connections were handled by one process;
24520the bug had appeared in 0.3.3.
24521</para>
24522</change>
24523
24524<change type="bugfix">
24525<para lang="ru">
24526при использовании метода rtsig и директивы timer_resolution
24527не работали таймауты.
24528</para>
24529<para lang="en">
24530the timeout did not work if the "rtsig" method and the "timer_resolution"
24531directive were used.
24532</para>
24533</change>
24534
24535</changes>
24536
24537
24538<changes ver="0.3.4" date="2005-10-19">
24539
24540<change type="bugfix">
24541<para lang="ru">
24542nginx не собирался на Linux 2.4+ и MacOS X;
24543ошибка появилась в 0.3.3.
24544</para>
24545<para lang="en">
24546nginx could not be built on Linux 2.4+ and MacOS X;
24547the bug had appeared in 0.3.3.
24548</para>
24549</change>
24550
24551</changes>
24552
24553
24554<changes ver="0.3.3" date="2005-10-19">
24555
24556<change type="change">
24557<para lang="ru">
24558параметры "bl" и "af" директивы listen переименованы в "backlog"
24559и "accept_filter".
24560</para>
24561<para lang="en">
24562the "bl" and "af" parameters of the "listen" directive was renamed to
24563the "backlog" and "accept_filter".
24564</para>
24565</change>
24566
24567<change type="feature">
24568<para lang="ru">
24569параметры "rcvbuf" и "sndbuf" в директиве listen.
24570</para>
24571<para lang="en">
24572the "rcvbuf" and "sndbuf" parameters of the "listen" directive.
24573</para>
24574</change>
24575
24576<change type="change">
24577<para lang="ru">
24578параметр лога $msec теперь не требует дополнительного системного
24579вызова gettimeofday().
24580</para>
24581<para lang="en">
24582the "$msec" log parameter does not require now the additional
24583the gettimeofday() system call.
24584</para>
24585</change>
24586
24587<change type="feature">
24588<para lang="ru">
24589ключ -t теперь проверяет директивы listen.
24590</para>
24591<para lang="en">
24592the -t switch now tests the "listen" directives.
24593</para>
24594</change>
24595
24596<change type="bugfix">
24597<para lang="ru">
24598если в директиве listen был указан неверный адрес, то nginx после
24599сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
24600</para>
24601<para lang="en">
24602if the invalid address was specified in the "listen" directive, then
24603after the -HUP signal nginx left an open socket in the CLOSED state.
24604</para>
24605</change>
24606
24607<change type="bugfix">
24608<para lang="ru">
24609для индексных файлов, содержащих в имени переменную, мог неверно выставляться
24610тип mime по умолчанию;
24611ошибка появилась в 0.3.0.
24612</para>
24613<para lang="en">
24614the mime type may be incorrectly set to default value for index file with
24615variable in the name;
24616the bug had appeared in 0.3.0.
24617</para>
24618</change>
24619
24620<change type="feature">
24621<para lang="ru">
24622директива timer_resolution.
24623</para>
24624<para lang="en">
24625the "timer_resolution" directive.
24626</para>
24627</change>
24628
24629<change type="feature">
24630<para lang="ru">
24631параметр лога $upstream_response_time в миллисекундах.
24632</para>
24633<para lang="en">
24634the millisecond "$upstream_response_time" log parameter.
24635</para>
24636</change>
24637
24638<change type="bugfix">
24639<para lang="ru">
24640временный файл с телом запроса клиента теперь удаляется сразу после того,
24641как клиенту передан заголовок ответа.
24642</para>
24643<para lang="en">
24644a temporary file with client request body now is removed just after
24645the response header was transferred to a client.
24646</para>
24647</change>
24648
24649<change type="bugfix">
24650<para lang="ru">
24651совместимость с OpenSSL 0.9.6.
24652</para>
24653<para lang="en">
24654OpenSSL 0.9.6 compatibility.
24655</para>
24656</change>
24657
24658<change type="bugfix">
24659<para lang="ru">
24660пути к файлам с SSL сертификатом и ключом не могли быть относительными.
24661</para>
24662<para lang="en">
24663the SSL certificate and key file paths could not be relative.
24664</para>
24665</change>
24666
24667<change type="bugfix">
24668<para lang="ru">
24669директива ssl_prefer_server_ciphers не работала для модуля ngx_imap_ssl_module.
24670</para>
24671<para lang="en">
24672the "ssl_prefer_server_ciphers" directive did not work in
24673the ngx_imap_ssl_module.
24674</para>
24675</change>
24676
24677<change type="bugfix">
24678<para lang="ru">
24679директива ssl_protocols позволяла задать только один протокол.
24680</para>
24681<para lang="en">
24682the "ssl_protocols" directive allowed to specify the single protocol only.
24683</para>
24684</change>
24685
24686</changes>
24687
24688
24689<changes ver="0.3.2" date="2005-10-12">
24690
24691<change type="feature">
24692<para lang="ru">
24693поддержка Sun Studio 10 C compiler.
24694</para>
24695<para lang="en">
24696the Sun Studio 10 C compiler support.
24697</para>
24698</change>
24699
24700<change type="feature">
24701<para lang="ru">
24702директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout,
24703fastcgi_upstream_max_fails и fastcgi_upstream_fail_timeout.
24704</para>
24705<para lang="en">
24706the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout",
24707"fastcgi_upstream_max_fails", and "fastcgi_upstream_fail_timeout"
24708directives.
24709</para>
24710</change>
24711
24712</changes>
24713
24714
24715<changes ver="0.3.1" date="2005-10-10">
24716
24717<change type="bugfix">
24718<para lang="ru">
24719во время переполнения очереди сигналов при использовании метода rtsig
24720происходил segmentation fault;
24721ошибка появилась в 0.2.0.
24722</para>
24723<para lang="en">
24724the segmentation fault occurred when the signal queue overflowed
24725if the "rtsig" method was used;
24726the bug had appeared in 0.2.0.
24727</para>
24728</change>
24729
24730<change type="change">
24731<para lang="ru">
24732корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
24733</para>
24734<para lang="en">
24735correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI.
24736</para>
24737</change>
24738
24739</changes>
24740
24741
24742<changes ver="0.3.0" date="2005-10-07">
24743
24744<change type="change">
24745<para lang="ru">
24746убрано десятидневное ограничение времени работы рабочего процесса.
24747Ограничение было введено из-за переполнения миллисекундных таймеров.
24748</para>
24749<para lang="en">
24750the 10-days live time limit of worker process was eliminated.
24751The limit was introduced because of millisecond timers overflow.
24752</para>
24753</change>
24754
24755</changes>
24756
24757
24758<changes ver="0.2.6" date="2005-10-05">
24759
24760<change type="change">
24761<para lang="ru">
24762с 60 до 10 секунд уменьшено время повторного обращения к бэкенду
24763при использовании распределения нагрузки.
24764</para>
24765<para lang="en">
24766while using load-balancing the time before the failed backend retry
24767was decreased from 60 to 10 seconds.
24768</para>
24769</change>
24770
24771<change type="change">
24772<para lang="ru">
24773директива proxy_pass_unparsed_uri упразднена, оригинальный запрос теперь
24774передаётся, если в директиве proxy_pass отсутствует URI.
24775</para>
24776<para lang="en">
24777the "proxy_pass_unparsed_uri" was canceled, the original URI now passed,
24778if the URI part is omitted in "proxy_pass" directive.
24779</para>
24780</change>
24781
24782<change type="feature">
24783<para lang="ru">
24784директива error_page поддерживает редиректы и позволяет более гибко
24785менять код ошибки.
24786</para>
24787<para lang="en">
24788the "error_page" directive supports redirects and allows more flexible
24789to change an error code.
24790</para>
24791</change>
24792
24793<change type="change">
24794<para lang="ru">
24795в проксированных подзапросах теперь игнорируется переданный charset.
24796</para>
24797<para lang="en">
24798the charset in the "Content-Type" header line now is ignored
24799in proxied subrequests.
24800</para>
24801</change>
24802
24803<change type="bugfix">
24804<para lang="ru">
24805если после изменения URI в блоке if для запроса не находилась
24806новая конфигурация, то правила модуля ngx_http_rewrite_module выполнялись
24807снова.
24808</para>
24809<para lang="en">
24810if the URI was changed in the "if" block and request did not found
24811new configuration, then the ngx_http_rewrite_module rules ran again.
24812</para>
24813</change>
24814
24815<change type="bugfix">
24816<para lang="ru">
24817если директива set устанавливала переменную модуля ngx_http_geo_module
24818в какой-либо части конфигурации, то эта переменная не была доступна в
24819других частях конфигурации и выдавалась ошибка "using uninitialized variable";
24820ошибка появилась в 0.2.2.
24821</para>
24822<para lang="en">
24823if the "set" directive set the ngx_http_geo_module variable in some
24824configuration part, the this variable was not available in other
24825configuration parts and the "using uninitialized variable" error was occurred;
24826the bug had appeared in 0.2.2.
24827</para>
24828</change>
24829
24830</changes>
24831
24832
24833<changes ver="0.2.5" date="2005-10-04">
24834
24835<change type="change">
24836<para lang="ru">
24837дублирующее значение переменной модуля ngx_http_geo_module теперь
24838выдаёт предупреждение и изменяет старое значение.
24839</para>
24840<para lang="en">
24841the duplicate value of the ngx_http_geo_module variable now causes
24842the warning and changes old value.
24843</para>
24844</change>
24845
24846<change type="feature">
24847<para lang="ru">
24848модуль ngx_http_ssi_module поддерживает команду set.
24849</para>
24850<para lang="en">
24851the ngx_http_ssi_module supports the "set" command.
24852</para>
24853</change>
24854
24855<change type="feature">
24856<para lang="ru">
24857модуль ngx_http_ssi_module поддерживает параметр file в команде include.
24858</para>
24859<para lang="en">
24860the ngx_http_ssi_module supports the "file" parameter in the "include" command.
24861</para>
24862</change>
24863
24864<change type="feature">
24865<para lang="ru">
24866модуль ngx_http_ssi_module поддерживает подстановку значений переменных
24867в выражениях команды if.
24868</para>
24869<para lang="en">
24870the ngx_http_ssi_module supports the variable value substitutions in
24871expressions of the "if" command.
24872</para>
24873</change>
24874
24875</changes>
24876
24877
24878<changes ver="0.2.4" date="2005-10-03">
24879
24880<change type="feature">
24881<para lang="ru">
24882модуль ngx_http_ssi_module поддерживает выражения
24883"$var=text", "$var!=text", "$var=/text/" и "$var!=/text/"
24884в команде if.
24885</para>
24886<para lang="en">
24887the ngx_http_ssi_module supports
24888"$var=text", "$var!=text", "$var=/text/", and "$var!=/text/" expressions
24889in the "if" command.
24890</para>
24891</change>
24892
24893<change type="bugfix">
24894<para lang="ru">
24895ошибки при проксировании location без слэша в конце;
24896ошибка появилась в 0.1.44.
24897</para>
24898<para lang="en">
24899in proxying location without trailing slash;
24900the bug had appeared in 0.1.44.
24901</para>
24902</change>
24903
24904<change type="bugfix">
24905<para lang="ru">
24906при использовании метода rtsig мог произойти segmentation fault;
24907ошибка появилась в 0.2.0.
24908</para>
24909<para lang="en">
24910the segmentation fault may occurred if the "rtsig" method was used;
24911the bug had appeared in 0.2.0.
24912</para>
24913</change>
24914
24915</changes>
24916
24917
24918<changes ver="0.2.3" date="2005-09-30">
24919
24920<change type="bugfix">
24921<para lang="ru">
24922nginx не собирался без параметра --with-debug;
24923ошибка появилась в 0.2.2.
24924</para>
24925<para lang="en">
24926nginx could not be built without the --with-debug option;
24927the bug had appeared in 0.2.2.
24928</para>
24929</change>
24930
24931</changes>
24932
24933
24934<changes ver="0.2.2" date="2005-09-30">
24935
24936<change type="feature">
24937<para lang="ru">
24938команда config errmsg в модуле ngx_http_ssi_module.
24939</para>
24940<para lang="en">
24941the "config errmsg" command of the ngx_http_ssi_module.
24942</para>
24943</change>
24944
24945<change type="change">
24946<para lang="ru">
24947переменные модуля ngx_http_geo_module можно переопределять директивой set.
24948</para>
24949<para lang="en">
24950the ngx_http_geo_module variables can be overridden by the "set" directive.
24951</para>
24952</change>
24953
24954<change type="feature">
24955<para lang="ru">
24956директивы ssl_protocols и ssl_prefer_server_ciphers модулей
24957ngx_http_ssl_module и ngx_imap_ssl_module.
24958</para>
24959<para lang="en">
24960the "ssl_protocols" and "ssl_prefer_server_ciphers" directives
24961of the ngx_http_ssl_module and ngx_imap_ssl_module.
24962</para>
24963</change>
24964
24965<change type="bugfix">
24966<para lang="ru">
24967ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов;
24968</para>
24969<para lang="en">
24970the ngx_http_autoindex_module did not show correctly the long file names;
24971</para>
24972</change>
24973
24974<change type="bugfix">
24975<para lang="ru">
24976модуль ngx_http_autoindex_module теперь не показывает файлы,
24977начинающиеся на точку.
24978</para>
24979<para lang="en">
24980the ngx_http_autoindex_module now do not show the files starting by dot.
24981</para>
24982</change>
24983
24984<change type="bugfix">
24985<para lang="ru">
24986если SSL handshake завершался с ошибкой, то это могло привести также
24987к закрытию другого соединения.<br/>
24988Спасибо Rob Mueller.
24989</para>
24990<para lang="en">
24991if the SSL handshake failed then another connection may be closed too.<br/>
24992Thanks to Rob Mueller.
24993</para>
24994</change>
24995
24996<change type="bugfix">
24997<para lang="ru">
24998экспортные версии MSIE 5.x не могли соединиться по HTTPS.
24999</para>
25000<para lang="en">
25001the export versions of MSIE 5.x could not connect via HTTPS.
25002</para>
25003</change>
25004
25005</changes>
25006
25007
25008<changes ver="0.2.1" date="2005-09-23">
25009
25010<change type="bugfix">
25011<para lang="ru">
25012если все бэкенды, используемые для балансировки нагрузки, оказывались
25013в нерабочем состоянии после одной ошибки, то nginx мог зациклится;
25014ошибка появилась в 0.2.0.
25015</para>
25016<para lang="en">
25017if all backend using in load-balancing failed after one error, then
25018nginx may got caught in an endless loop;
25019the bug had appeared in 0.2.0.
25020</para>
25021</change>
25022
25023</changes>
25024
25025
25026<changes ver="0.2.0" date="2005-09-23">
25027
25028<change>
25029<para lang="ru">
25030Изменились имена pid-файлов, используемые во время обновления исполняемого
25031файла. Ручное переименование теперь не нужно.
25032Старый основной процесс добавляет к своему pid-файл суффикс ".oldbin"
25033и запускает новый исполняемый файл.
25034Новый основной процесс создаёт обычный pid-файл без суффикса ".newbin".
25035Если новый основной процесс выходит, то старый процесс переименовывает свой
25036pid-файл c суффиксом ".oldbin" в pid-файл без суффикса.
25037При обновлении с версии 0.1.х до 0.2.0 нужно учитывать, что оба
25038процесса&mdash;старый 0.1.x и новый 0.2.0&mdash;используют pid-файл
25039без суффиксов.
25040</para>
25041<para lang="en">
25042The pid-file names used during online upgrade was changed and now is not
25043required a manual rename operation.
25044The old master process adds the ".oldbin" suffix to its pid-file and
25045executes a new binary file.
25046The new master process creates usual pid-file without the ".newbin" suffix.
25047If the master process exits, then old master process renames back
25048its pid-file with the ".oldbin" suffix to the pid-file without suffix.
25049</para>
25050</change>
25051
25052<change type="change">
25053<para lang="ru">
25054директива worker_connections, новое название директивы connections;
25055директива теперь задаёт максимальное число соединений,
25056а не максимально возможный номер дескриптора для сокета.
25057</para>
25058<para lang="en">
25059the "worker_connections" directive, new name of the "connections" directive;
25060now the directive specifies maximum number of connections,
25061but not maximum socket descriptor number.
25062</para>
25063</change>
25064
25065<change type="feature">
25066<para lang="ru">
25067SSL поддерживает кэширование сессий в пределах одного рабочего процесса.
25068</para>
25069<para lang="en">
25070SSL supports the session cache inside one worker process.
25071</para>
25072</change>
25073
25074<change type="feature">
25075<para lang="ru">
25076директива satisfy_any.
25077</para>
25078<para lang="en">
25079the "satisfy_any" directive.
25080</para>
25081</change>
25082
25083<change type="change">
25084<para lang="ru">
25085модули ngx_http_access_module и ngx_http_auth_basic_module не работают
25086для подзапросов.
25087</para>
25088<para lang="en">
25089the ngx_http_access_module and ngx_http_auth_basic_module do not run
25090for subrequests.
25091</para>
25092</change>
25093
25094<change type="feature">
25095<para lang="ru">
25096директивы worker_rlimit_nofile и worker_rlimit_sigpending.
25097</para>
25098<para lang="en">
25099the "worker_rlimit_nofile" and "worker_rlimit_sigpending" directives.
25100</para>
25101</change>
25102
25103<change type="bugfix">
25104<para lang="ru">
25105если все бэкенды, используемые для балансировки нагрузки, оказывались
25106в нерабочем состоянии после одной ошибки, то nginx не обращался к ним
25107в течение 60 секунд.
25108</para>
25109<para lang="en">
25110if all backend using in load-balancing failed after one error, then
25111nginx did not try do connect to them during 60 seconds.
25112</para>
25113</change>
25114
25115<change type="bugfix">
25116<para lang="ru">
25117в парсинге аргументов IMAP/POP3 команд.<br/>
25118Спасибо Rob Mueller.
25119</para>
25120<para lang="en">
25121in IMAP/POP3 command argument parsing.<br/>
25122Thanks to Rob Mueller.
25123</para>
25124</change>
25125
25126<change type="bugfix">
25127<para lang="ru">
25128ошибки при использовании SSL в IMAP/POP3 прокси.
25129</para>
25130<para lang="en">
25131errors while using SSL in IMAP/POP3 proxy.
25132</para>
25133</change>
25134
25135<change type="bugfix">
25136<para lang="ru">
25137ошибки при использовании SSI и сжатия.
25138</para>
25139<para lang="en">
25140errors while using SSI and gzipping.
25141</para>
25142</change>
25143
25144<change type="bugfix">
25145<para lang="ru">
25146в ответах 304 не добавлялись строки заголовка ответа "Expires" и
25147"Cache-Control".<br/>
25148Спасибо Александру Кукушкину.
25149</para>
25150<para lang="en">
25151the "Expires" and "Cache-Control" header lines were omitted
25152from the 304 responses.<br/>
25153Thanks to Alexandr Kukushkin.
25154</para>
25155</change>
25156
25157</changes>
25158
25159
25160<changes ver="0.1.45" date="2005-09-08">
25161
25162<change type="change">
25163<para lang="ru">
25164директива ssl_engine упразднена в модуле ngx_http_ssl_module и
25165перенесена на глобальный уровень.
25166</para>
25167<para lang="en">
25168the "ssl_engine" directive was canceled in the ngx_http_ssl_module
25169and now is introduced at global level.
25170</para>
25171</change>
25172
25173<change type="bugfix">
25174<para lang="ru">
25175ответы с подзапросами, включённые с помощью SSI, не передавались
25176через SSL соединение.
25177</para>
25178<para lang="en">
25179the responses with SSI subrequests did not transferred via SSL connection.
25180</para>
25181</change>
25182
25183<change>
25184<para lang="ru">
25185Разные исправления в IMAP/POP3 прокси.
25186</para>
25187<para lang="en">
25188Various bug fixes in the IMAP/POP3 proxy.
25189</para>
25190</change>
25191
25192</changes>
25193
25194
25195<changes ver="0.1.44" date="2005-09-06">
25196
25197<change type="feature">
25198<para lang="ru">
25199IMAP/POP3 прокси поддерживает SSL.
25200</para>
25201<para lang="en">
25202the IMAP/POP3 proxy supports SSL.
25203</para>
25204</change>
25205
25206<change type="feature">
25207<para lang="ru">
25208директива proxy_timeout модуля ngx_imap_proxy_module.
25209</para>
25210<para lang="en">
25211the "proxy_timeout" directive of the ngx_imap_proxy_module.
25212</para>
25213</change>
25214
25215<change type="feature">
25216<para lang="ru">
25217директива userid_mark.
25218</para>
25219<para lang="en">
25220the "userid_mark" directive.
25221</para>
25222</change>
25223
25224<change type="feature">
25225<para lang="ru">
25226значение переменной $remote_user определяется независимо от того,
25227используется ли авторизация или нет.
25228</para>
25229<para lang="en">
25230the $remote_user variable value is determined independently of
25231authorization use.
25232</para>
25233</change>
25234
25235</changes>
25236
25237
25238<changes ver="0.1.43" date="2005-08-30">
25239
25240<change type="feature">
25241<para lang="ru">
25242listen(2) backlog в директиве listen можно менять по сигналу -HUP.
25243</para>
25244<para lang="en">
25245the listen(2) backlog in the "listen" directive
25246can be changed using the -HUP signal.
25247</para>
25248</change>
25249
25250<change type="feature">
25251<para lang="ru">
25252скрипт geo2nginx.pl добавлен в contrib.
25253</para>
25254<para lang="en">
25255the geo2nginx.pl script was added to contrib.
25256</para>
25257</change>
25258
25259<change type="change">
25260<para lang="ru">
25261параметры FastCGI с пустым значениями теперь передаются серверу.
25262</para>
25263<para lang="en">
25264the FastCGI parameters with the empty values now are passed to a server.
25265</para>
25266</change>
25267
25268<!--
25269
25270<change type="bugfix">
25271<para lang="ru">
25272при ошибках в работе с проксированным сервером или FastCGI сервером
25273мог произойти segmentation fault;
25274в режиме прокси ошибка появилась в 0.1.29.
25275</para>
25276<para lang="en">
25277the segmentation fault may occurred if there were errors while
25278working with proxied or FastCGI server;
25279in the proxied mode the bug had appeared in 0.1.29.
25280</para>
25281</change>
25282
25283-->
25284
25285<change type="bugfix">
25286<para lang="ru">
25287если в ответе проксированного сервера или FastCGI сервера была строка
25288"Cache-Control", то при использовании директивы expires происходил
25289segmentation fault или рабочий процесс мог зациклится;
25290в режиме прокси ошибка появилась в 0.1.29.
25291</para>
25292<para lang="en">
25293the segmentation fault occurred or the worker process may got caught
25294in an endless loop if the proxied or FastCGI server sent the "Cache-Control"
25295header line and the "expires" directive was used;
25296in the proxied mode the bug had appeared in 0.1.29.
25297</para>
25298</change>
25299
25300</changes>
25301
25302
25303<changes ver="0.1.42" date="2005-08-23">
25304
25305<change type="bugfix">
25306<para lang="ru">
25307если URI запроса получался нулевой длины после обработки модулем
25308ngx_http_rewrite_module, то в модуле ngx_http_proxy_module происходил
25309segmentation fault или bus error.
25310</para>
25311<para lang="en">
25312if the request URI had a zero length after the processing in
25313the ngx_http_proxy_module, then the segmentation fault or bus error occurred
25314in the ngx_http_proxy_module.
25315</para>
25316</change>
25317
25318<change type="bugfix">
25319<para lang="ru">
25320директива limit_rate не работала внутри блока if;
25321ошибка появилась в 0.1.38.
25322</para>
25323<para lang="en">
25324the "limit_rate" directive did not work inside the "if" block;
25325the bug had appeared in 0.1.38.
25326</para>
25327</change>
25328
25329</changes>
25330
25331
25332<changes ver="0.1.41" date="2005-07-25">
25333
25334<change type="bugfix">
25335<para lang="ru">
25336если переменная использовалась в файле конфигурации,
25337то она не могла использоваться в SSI.
25338</para>
25339<para lang="en">
25340if the variable was used in the configuration file,
25341then it can not be used in SSI.
25342</para>
25343</change>
25344
25345</changes>
25346
25347
25348<changes ver="0.1.40" date="2005-07-22">
25349
25350<change type="bugfix">
25351<para lang="ru">
25352если клиент слал очень длинную строку заголовка, то в логе не помещалась
25353информация, связанная с этим запросом.
25354</para>
25355<para lang="en">
25356if a client sent too long header line, then the request information
25357did not logged in the error log.
25358</para>
25359</change>
25360
25361<change type="bugfix">
25362<para lang="ru">
25363при использовании "X-Accel-Redirect" не передавалась строка "Set-Cookie";
25364ошибка появилась в 0.1.39.
25365</para>
25366<para lang="en">
25367the "Set-Cookie" header line was not transferred when the "X-Accel-Redirect"
25368was used;
25369the bug had appeared in 0.1.39.
25370</para>
25371</change>
25372
25373<change type="bugfix">
25374<para lang="ru">
25375при использовании "X-Accel-Redirect" не передавалась строка
25376"Content-Disposition".
25377</para>
25378<para lang="en">
25379the "Content-Disposition" header line was not transferred when
25380the "X-Accel-Redirect" was used.
25381</para>
25382</change>
25383
25384<change type="bugfix">
25385<para lang="ru">
25386по сигналу SIGQUIT основной процесс не закрывал сокеты, на которых он слушал.
25387</para>
25388<para lang="en">
25389the master process did not close the listen socket on the SIGQUIT signal.
25390</para>
25391</change>
25392
25393<change type="bugfix">
25394<para lang="ru">
25395после обновления исполняемого файла на лету на Linux и Solaris
25396название процесса в команде ps становилось короче.
25397</para>
25398<para lang="en">
25399after on-line upgrade on Linux and Solaris the process name
25400became shorter in the "ps" command.
25401</para>
25402</change>
25403
25404</changes>
25405
25406
25407<changes ver="0.1.39" date="2005-07-14">
25408
25409<change>
25410<para lang="ru">
25411Изменения в модуле ngx_http_charset_module:
25412директива default_charset упразднена;
25413директива charset задаёт кодировку ответа;
25414директива source_charset задаёт только исходную кодировку.
25415</para>
25416<para lang="en">
25417The changes in the ngx_http_charset_module:
25418the "default_charset" directive was canceled;
25419the "charset" directive sets the response charset;
25420the "source_charset" directive sets the source charset only.
25421</para>
25422</change>
25423
25424<change type="bugfix">
25425<para lang="ru">
25426при перенаправлении ошибки 401, полученной от бэкенда, не передавалась
25427строка заголовка "WWW-Authenticate".
25428</para>
25429<para lang="en">
25430the backend "WWW-Authenticate" header line did not transferred while
25431the 401 response code redirecting.
25432</para>
25433</change>
25434
25435<change type="bugfix">
25436<para lang="ru">
25437модули ngx_http_proxy_module и ngx_http_fastcgi_module могли закрыть
25438соединение до того, как что-нибудь было передано клиенту;
25439ошибка появилась в 0.1.38.
25440</para>
25441<para lang="en">
25442the ngx_http_proxy_module and ngx_http_fastcgi_module may close
25443a connection before anything was transferred to a client;
25444the bug had appeared in 0.1.38.
25445</para>
25446</change>
25447
25448<change type="workaround">
25449<para lang="ru">
25450обработка ошибки инициализации в crypt_r() в Linux glibc.
25451</para>
25452<para lang="en">
25453the Linux glibc crypt_r() initialization bug.
25454</para>
25455</change>
25456
25457<change type="bugfix">
25458<para lang="ru">
25459модуль ngx_http_ssi_module не поддерживал относительные URI в
25460команде include virtual.
25461</para>
25462<para lang="en">
25463the ngx_http_ssi_module did not support the relative URI in
25464the "include virtual" command.
25465</para>
25466</change>
25467
25468<change type="bugfix">
25469<para lang="ru">
25470если в строке заголовка ответа бэкенда была строка "Location",
25471которую nginx не должен был изменять, то в ответе передавалось тело 500 ошибки;
25472ошибка появилась в 0.1.29.
25473</para>
25474<para lang="en">
25475if the backend response had the "Location" header line and nginx
25476should not rewrite this line, then the 500 code response body was transferred;
25477the bug had appeared in 0.1.29.
25478</para>
25479</change>
25480
25481<change type="bugfix">
25482<para lang="ru">
25483некоторые директивы модулей ngx_http_proxy_module и ngx_http_fastcgi_module
25484не наследовались с уровня server на уровень location;
25485ошибка появилась в 0.1.29.
25486</para>
25487<para lang="en">
25488some directives of the ngx_http_proxy_module and ngx_http_fastcgi_module
25489were not inherited from the server to the location level;
25490the bug had appeared in 0.1.29.
25491</para>
25492</change>
25493
25494<change type="bugfix">
25495<para lang="ru">
25496модуль ngx_http_ssl_module не поддерживал цепочки сертификатов.
25497</para>
25498<para lang="en">
25499the ngx_http_ssl_module did not support the certificate chain.
25500</para>
25501</change>
25502
25503<change type="bugfix">
25504<para lang="ru">
25505ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов;
25506ошибка появилась в 0.1.38.
25507</para>
25508<para lang="en">
25509the ngx_http_autoindex_module did not show correctly the long file names;
25510the bug had appeared in 0.1.38.
25511</para>
25512</change>
25513
25514<change>
25515<para lang="ru">
25516Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на стадии login.
25517</para>
25518<para lang="en">
25519Bugfixes in IMAP/POP3 proxy in interaction with a backend at the login state.
25520</para>
25521</change>
25522
25523</changes>
25524
25525
25526<changes ver="0.1.38" date="2005-07-08">
25527
25528<change type="feature">
25529<para lang="ru">
25530директива limit_rate поддерживается в режиме прокси и FastCGI.
25531</para>
25532<para lang="en">
25533the "limit_rate" directive is supported in proxy and FastCGI mode.
25534</para>
25535</change>
25536
25537<change type="feature">
25538<para lang="ru">
25539в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Limit-Rate"
25540в ответе бэкенда.
25541</para>
25542<para lang="en">
25543the "X-Accel-Limit-Rate" response header line is supported in proxy
25544and FastCGI mode.
25545</para>
25546</change>
25547
25548<change type="feature">
25549<para lang="ru">
25550директива break.
25551</para>
25552<para lang="en">
25553the "break" directive.
25554</para>
25555</change>
25556
25557<change type="feature">
25558<para lang="ru">
25559директива log_not_found.
25560</para>
25561<para lang="en">
25562the "log_not_found" directive.
25563</para>
25564</change>
25565
25566<change type="bugfix">
25567<para lang="ru">
25568при перенаправлении запроса с помощью строки заголовка "X-Accel-Redirect"
25569не изменялся код ответа.
25570</para>
25571<para lang="en">
25572the response status code was not changed when request was redirected
25573by the ""X-Accel-Redirect" header line.
25574</para>
25575</change>
25576
25577<change type="bugfix">
25578<para lang="ru">
25579переменные, установленные директивой set не могли использоваться в SSI.
25580</para>
25581<para lang="en">
25582the variables set by the "set" directive could not be used in SSI.
25583</para>
25584</change>
25585
25586<change type="bugfix">
25587<para lang="ru">
25588при включении в SSI более одного удалённого подзапроса
25589мог произойти segmentation fault.
25590</para>
25591<para lang="en">
25592the segmentation fault may occurred if the SSI page has more than one
25593remote subrequest.
25594</para>
25595</change>
25596
25597<change type="bugfix">
25598<para lang="ru">
25599если статусная строка в ответе бэкенда передавалась в двух пакетах, то
25600nginx считал ответ неверным;
25601ошибка появилась в 0.1.29.
25602</para>
25603<para lang="en">
25604nginx treated the backend response as invalid if the status line in the
25605header was transferred in two packets;
25606the bug had appeared in 0.1.29.
25607</para>
25608</change>
25609
25610<change type="feature">
25611<para lang="ru">
25612директива ssi_types.
25613</para>
25614<para lang="en">
25615the "ssi_types" directive.
25616</para>
25617</change>
25618
25619<change type="feature">
25620<para lang="ru">
25621директива autoindex_exact_size.
25622</para>
25623<para lang="en">
25624the "autoindex_exact_size" directive.
25625</para>
25626</change>
25627
25628<change type="bugfix">
25629<para lang="ru">
25630модуль ngx_http_autoindex_module не поддерживал длинные имена файлов в UTF-8.
25631</para>
25632<para lang="en">
25633the ngx_http_autoindex_module did not support the long file names in UTF-8.
25634</para>
25635</change>
25636
25637<change type="feature">
25638<para lang="ru">
25639IMAP/POP3 прокси.
25640</para>
25641<para lang="en">
25642the IMAP/POP3 proxy.
25643</para>
25644</change>
25645
25646</changes>
25647
25648
25649<changes ver="0.1.37" date="2005-06-23">
25650
25651<change type="change">
25652<para lang="ru">
25653в конце файла nginx.pid теперь добавляется "\n".
25654</para>
25655<para lang="en">
25656now the "\n" is added to the end of the "nginx.pid" file.
25657</para>
25658</change>
25659
25660<change type="bugfix">
25661<para lang="ru">
25662при включении большого количества вставок или нескольких больших вставок
25663с помощью SSI ответ мог передаваться не полностью.
25664</para>
25665<para lang="en">
25666the responses may be transferred not completely,
25667if many parts or the big parts were included by SSI.
25668</para>
25669</change>
25670
25671<change type="bugfix">
25672<para lang="ru">
25673если все бэкенды возвращали ответ 404, то при использовании параметра http_404
25674в директивах proxy_next_upstream или fastcgi_next_upstream, nginx
25675начинал запрашивать все бэкенды снова.
25676</para>
25677<para lang="en">
25678if all backends had returned the 404 response and the "http_404" parameter of
25679the "proxy_next_upstream" or "fastcgi_next_upstream" directives was used,
25680then nginx started to request all backends again.
25681</para>
25682</change>
25683
25684</changes>
25685
25686
25687<changes ver="0.1.36" date="2005-06-15">
25688
25689<change type="change">
25690<para lang="ru">
25691если в заголовке запроса есть дублирующиеся строки "Host", "Connection",
25692"Content-Length" и "Authorization", то nginx теперь выдаёт ошибку 400.
25693</para>
25694<para lang="en">
25695if the request header has duplicate the "Host", "Connection", "Content-Length",
25696or "Authorization" lines, then nginx now returns the 400 error.
25697</para>
25698</change>
25699
25700<change type="change">
25701<para lang="ru">
25702директива post_accept_timeout упразднена.
25703</para>
25704<para lang="en">
25705the "post_accept_timeout" directive was canceled.
25706</para>
25707</change>
25708
25709<change type="feature">
25710<para lang="ru">
25711параметры default, af=, bl=, deferred и bind в директиве listen.
25712</para>
25713<para lang="en">
25714the "default", "af=", "bl=", "deferred", and "bind" parameters
25715of the "listen" directive.
25716</para>
25717</change>
25718
25719<change type="feature">
25720<para lang="ru">
25721поддержка accept фильтров во FreeBSD.
25722</para>
25723<para lang="en">
25724the FreeBSD accept filters support.
25725</para>
25726</change>
25727
25728<change type="feature">
25729<para lang="ru">
25730поддержка TCP_DEFER_ACCEPT в Linux.
25731</para>
25732<para lang="en">
25733the Linux TCP_DEFER_ACCEPT support.
25734</para>
25735</change>
25736
25737<change type="bugfix">
25738<para lang="ru">
25739модуль ngx_http_autoindex_module не поддерживал имена файлов в UTF-8.
25740</para>
25741<para lang="en">
25742the ngx_http_autoindex_module did not support the file names in UTF-8.
25743</para>
25744</change>
25745
25746<change type="bugfix">
25747<para lang="ru">
25748после добавления новый лог-файл ротация этого лога по сигналу -USR1
25749выполнялась, только если переконфигурировать nginx два раза по сигналу -HUP.
25750</para>
25751<para lang="en">
25752the new log file can be rotated by the -USR1 signal only if
25753the reconfiguration by the -HUP signal was made twice.
25754</para>
25755</change>
25756
25757</changes>
25758
25759
25760<changes ver="0.1.35" date="2005-06-07">
25761
25762<change type="feature">
25763<para lang="ru">
25764директива working_directory.
25765</para>
25766<para lang="en">
25767the "working_directory" directive.
25768</para>
25769</change>
25770
25771<change type="feature">
25772<para lang="ru">
25773директива port_in_redirect.
25774</para>
25775<para lang="en">
25776the "port_in_redirect" directive.
25777</para>
25778</change>
25779
25780<change type="bugfix">
25781<para lang="ru">
25782если заголовок ответа бэкенда не помещался в один пакет, то
25783происходил segmentation fault;
25784ошибка появилась в 0.1.29.
25785</para>
25786<para lang="en">
25787the segmentation fault was occurred if the backend response header was in
25788several packets;
25789the bug had appeared in 0.1.29.
25790</para>
25791</change>
25792
25793<change type="bugfix">
25794<para lang="ru">
25795если было сконфигурировано более 10 серверов или в сервере не описана
25796директива "listen",
25797то при запуске мог произойти segmentation fault.
25798</para>
25799<para lang="en">
25800if more than 10 servers were configured or some server did not use the
25801"listen" directive, then the segmentation fault was occurred on the start.
25802</para>
25803</change>
25804
25805<change type="bugfix">
25806<para lang="ru">
25807если ответ не помещался во временный файл,
25808то мог произойти segmentation fault.
25809</para>
25810<para lang="en">
25811the segmentation fault might occur if the response was bigger than
25812the temporary file.
25813</para>
25814</change>
25815
25816<change type="bugfix">
25817<para lang="ru">
25818nginx возвращал ошибку 400 на запросы вида
25819<nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>;
25820ошибка появилась в 0.1.28.
25821</para>
25822<para lang="en">
25823nginx returned the 400 response on requests like
25824<nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>;
25825the bug had appeared in 0.1.28.
25826</para>
25827</change>
25828
25829</changes>
25830
25831
25832<changes ver="0.1.34" date="2005-05-26">
25833
25834<change type="bugfix">
25835<para lang="ru">
25836при включении больших ответов с помощью SSI рабочий процесс мог зациклиться.
25837</para>
25838<para lang="en">
25839the worker process may got caught in an endless loop if the big response
25840part were include by SSI.
25841</para>
25842</change>
25843
25844<change type="bugfix">
25845<para lang="ru">
25846переменные, устанавливаемые директивой "set", не были доступны в SSI.
25847</para>
25848<para lang="en">
25849the variables set by the "set" directive were not available in SSI.
25850</para>
25851</change>
25852
25853<change type="feature">
25854<para lang="ru">
25855директива autoindex_localtime.
25856</para>
25857<para lang="en">
25858the "autoindex_localtime" directive.
25859</para>
25860</change>
25861
25862<change type="bugfix">
25863<para lang="ru">
25864пустое значение в директиве proxy_set_header запрещает передачу заголовка.
25865</para>
25866<para lang="en">
25867the empty value of the "proxy_set_header" directive forbids the client
25868request header line passing.
25869</para>
25870</change>
25871
25872</changes>
25873
25874
25875<changes ver="0.1.33" date="2005-05-23">
25876
25877<change type="bugfix">
25878<para lang="ru">
25879nginx не собирался с параметром --without-pcre;
25880ошибка появилась в 0.1.29.
25881</para>
25882<para lang="en">
25883nginx could not be built with the --without-pcre parameter;
25884the bug had appeared in 0.1.29.
25885</para>
25886</change>
25887
25888<change type="bugfix">
25889<para lang="ru">
258903, 5, 7 и 8 директив proxy_set_header на одном уровне вызывали
25891bus fault при запуске.
25892</para>
25893<para lang="en">
258943, 4, 7, and 8 the "proxy_set_header" directives in one level cause
25895the bus fault on start up.
25896</para>
25897</change>
25898
25899<change type="bugfix">
25900<para lang="ru">
25901в редиректах внутри HTTPS сервера был указан протокол HTTP.
25902</para>
25903<para lang="en">
25904the HTTP protocol was specified in the HTTPS redirects.
25905</para>
25906</change>
25907
25908<change type="bugfix">
25909<para lang="ru">
25910если директива rewrite использовала выделения внутри директивы if, то
25911возвращалась ошибка 500.
25912</para>
25913<para lang="en">
25914if the "rewrite" directive used the captures inside the "if" directive, then
25915the 500 error code was returned.
25916</para>
25917</change>
25918
25919</changes>
25920
25921
25922<changes ver="0.1.32" date="2005-05-19">
25923
25924<change type="bugfix">
25925<para lang="ru">
25926в редиректах, выдаваемых с помощью директивы rewrite, не передавались аргументы;
25927ошибка появилась в 0.1.29.
25928</para>
25929<para lang="en">
25930the arguments were omitted in the redirects, issued by the "rewrite" directive;
25931the bug had appeared in 0.1.29.
25932</para>
25933</change>
25934
25935<change type="feature">
25936<para lang="ru">
25937директива if поддерживает выделения в регулярных выражениях.
25938</para>
25939<para lang="en">
25940the "if" directive supports the captures in regular expressions.
25941</para>
25942</change>
25943
25944<change type="feature">
25945<para lang="ru">
25946директива set поддерживает переменные и выделения из регулярных выражений.
25947</para>
25948<para lang="en">
25949the "set" directive supports the variables and the captures of regular
25950expressions.
25951</para>
25952</change>
25953
25954<change type="feature">
25955<para lang="ru">
25956в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Redirect"
25957в ответе бэкенда.
25958</para>
25959<para lang="en">
25960the "X-Accel-Redirect" response header line is supported in proxy and FastCGI
25961mode.
25962</para>
25963</change>
25964
25965</changes>
25966
25967
25968<changes ver="0.1.31" date="2005-05-16">
25969
25970<change type="bugfix">
25971<para lang="ru">
25972при использовании SSL ответ мог передаваться не до конца.
25973</para>
25974<para lang="en">
25975the response encrypted by SSL may not transferred complete.
25976</para>
25977</change>
25978
25979<change type="bugfix">
25980<para lang="ru">
25981ошибки при обработке SSI в ответе, полученного от FastCGI-сервера.
25982</para>
25983<para lang="en">
25984errors while processing FastCGI response by SSI.
25985</para>
25986</change>
25987
25988<change type="bugfix">
25989<para lang="ru">
25990ошибки при использовании SSI и сжатия.
25991</para>
25992<para lang="en">
25993errors while using SSI and gzipping.
25994</para>
25995</change>
25996
25997<change type="bugfix">
25998<para lang="ru">
25999редирект с кодом 301 передавался без тела ответа;
26000ошибка появилась в 0.1.30.
26001</para>
26002<para lang="en">
26003the redirect with the 301 code was transferred without response body;
26004the bug had appeared in 0.1.30.
26005</para>
26006</change>
26007
26008</changes>
26009
26010
26011<changes ver="0.1.30" date="2005-05-14">
26012
26013<change type="bugfix">
26014<para lang="ru">
26015при использовании SSI рабочий процесс мог зациклиться.
26016</para>
26017<para lang="en">
26018the worker process may got caught in an endless loop if the SSI was used.
26019</para>
26020</change>
26021
26022<change type="bugfix">
26023<para lang="ru">
26024при использовании SSL ответ мог передаваться не до конца.
26025</para>
26026<para lang="en">
26027the response encrypted by SSL may not transferred complete.
26028</para>
26029</change>
26030
26031<change type="bugfix">
26032<para lang="ru">
26033если длина части ответа, полученного за один раз от проксируемого или
26034FastCGI сервера была равна 500 байт, то nginx возвращал код ответа 500;
26035в режиме прокси ошибка появилась только в 0.1.29.
26036</para>
26037<para lang="en">
26038if the length of the response part received at once from proxied
26039or FastCGI server was equal to 500, then nginx returns the 500 response code;
26040in proxy mode the bug had appeared in 0.1.29 only.
26041</para>
26042</change>
26043
26044<change type="bugfix">
26045<para lang="ru">
26046nginx не считал неверными директивы с 8-ю или 9-ю параметрами.
26047</para>
26048<para lang="en">
26049nginx did not consider the directives with 8 or 9 parameters as invalid.
26050</para>
26051</change>
26052
26053<change type="feature">
26054<para lang="ru">
26055директива return может возвращать код ответа 204.
26056</para>
26057<para lang="en">
26058the "return" directive can return the 204 response code.
26059</para>
26060</change>
26061
26062<change type="feature">
26063<para lang="ru">
26064директива ignore_invalid_headers.
26065</para>
26066<para lang="en">
26067the "ignore_invalid_headers" directive.
26068</para>
26069</change>
26070
26071</changes>
26072
26073
26074<changes ver="0.1.29" date="2005-05-12">
26075
26076<change type="feature">
26077<para lang="ru">
26078модуль ngx_http_ssi_module поддерживает команду include virtual.
26079</para>
26080<para lang="en">
26081the ngx_http_ssi_module supports "include virtual" command.
26082</para>
26083</change>
26084
26085<change type="feature">
26086<para lang="ru">
26087модуль ngx_http_ssi_module поддерживает условную команду вида
26088'if expr="$NAME"' и команды else и endif.
26089Допускается только один уровень вложенности.
26090</para>
26091<para lang="en">
26092the ngx_http_ssi_module supports the condition command like
26093'if expr="$NAME"' and "else" and "endif" commands.
26094Only one nested level is supported.
26095</para>
26096</change>
26097
26098<change type="feature">
26099<para lang="ru">
26100модуль ngx_http_ssi_module поддерживает две переменные DATE_LOCAL и DATE_GMT
26101и команду config timefmt.
26102</para>
26103<para lang="en">
26104the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables
26105and "config timefmt" command.
26106</para>
26107</change>
26108
26109<change type="feature">
26110<para lang="ru">
26111директива ssi_ignore_recycled_buffers.
26112</para>
26113<para lang="en">
26114the "ssi_ignore_recycled_buffers" directive.
26115</para>
26116</change>
26117
26118<change type="bugfix">
26119<para lang="ru">
26120если переменная QUERY_STRING не была определена, то в команде echo
26121не ставилось значение по умолчанию.
26122</para>
26123<para lang="en">
26124the "echo" command did not show the default value for the empty QUERY_STRING
26125variable.
26126</para>
26127</change>
26128
26129<change type="change">
26130<para lang="ru">
26131модуль ngx_http_proxy_module полностью переписан.
26132</para>
26133<para lang="en">
26134the ngx_http_proxy_module was rewritten.
26135</para>
26136</change>
26137
26138<change type="feature">
26139<para lang="ru">
26140директивы proxy_redirect, proxy_pass_request_headers,
26141proxy_pass_request_body и proxy_method.
26142</para>
26143<para lang="en">
26144the "proxy_redirect", "proxy_pass_request_headers",
26145"proxy_pass_request_body", and "proxy_method" directives.
26146</para>
26147</change>
26148
26149<change type="feature">
26150<para lang="ru">
26151директива proxy_set_header.
26152Директива proxy_x_var упразднена и должна быть заменена директивой
26153proxy_set_header.
26154</para>
26155<para lang="en">
26156the "proxy_set_header" directive.
26157The "proxy_x_var" was canceled and must be replaced with the proxy_set_header
26158directive.
26159</para>
26160</change>
26161
26162<change type="change">
26163<para lang="ru">
26164директива proxy_preserve_host упразднена и должна быть заменена директивами
26165"proxy_set_header Host $host" и "proxy_redirect off"
26166или директивой <nobr>"proxy_set_header Host $host:$proxy_port"</nobr>
26167и соответствующими ей директивами proxy_redirect.
26168</para>
26169<para lang="en">
26170the "proxy_preserve_host" is canceled and must be replaced with
26171the "proxy_set_header Host $host" and the "proxy_redirect off" directives,
26172the <nobr>"proxy_set_header Host $host:$proxy_port" directive</nobr>
26173and the appropriate proxy_redirect directives.
26174</para>
26175</change>
26176
26177<change type="change">
26178<para lang="ru">
26179директива proxy_set_x_real_ip упразднена и должна быть заменена директивой
26180"proxy_set_header X-Real-IP $remote_addr".
26181</para>
26182<para lang="en">
26183the "proxy_set_x_real_ip" is canceled and must be replaced with
26184the "proxy_set_header X-Real-IP $remote_addr" directive.
26185</para>
26186</change>
26187
26188<change type="change">
26189<para lang="ru">
26190директива proxy_add_x_forwarded_for упразднена и должна быть заменена
26191директивой
26192<nobr>"proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".</nobr>
26193</para>
26194<para lang="en">
26195the "proxy_add_x_forwarded_for" is canceled and must be replaced with
26196<nobr>the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"</nobr>
26197directive.
26198</para>
26199</change>
26200
26201<change type="change">
26202<para lang="ru">
26203директива proxy_set_x_url упразднена и должна быть заменена директивой
26204<nobr>"proxy_set_header X-URL http://$host:$server_port$request_uri".</nobr>
26205</para>
26206<para lang="en">
26207the "proxy_set_x_url" is canceled and must be replaced with
26208the "proxy_set_header X-URL http://$host:$server_port$request_uri"
26209directive.
26210</para>
26211</change>
26212
26213<change type="feature">
26214<para lang="ru">
26215директива fastcgi_param.
26216</para>
26217<para lang="en">
26218the "fastcgi_param" directive.
26219</para>
26220</change>
26221
26222<change type="change">
26223<para lang="ru">
26224директивы fastcgi_root, fastcgi_set_var и fastcgi_params упразднены
26225и должны быть замены директивами fastcgi_param.
26226</para>
26227<para lang="en">
26228the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive
26229are canceled and must be replaced with the fastcgi_param directives.
26230</para>
26231</change>
26232
26233<change type="feature">
26234<para lang="ru">
26235директива index может использовать переменные.
26236</para>
26237<para lang="en">
26238the "index" directive can use the variables.
26239</para>
26240</change>
26241
26242<change type="feature">
26243<para lang="ru">
26244директива index может быть указана на уровне http и server.
26245</para>
26246<para lang="en">
26247the "index" directive can be used at http and server levels.
26248</para>
26249</change>
26250
26251<change type="change">
26252<para lang="ru">
26253только последний параметр в директиве index может быть абсолютным.
26254</para>
26255<para lang="en">
26256the last index only in the "index" directive can be absolute.
26257</para>
26258</change>
26259
26260<change type="feature">
26261<para lang="ru">
26262в директиве rewrite могут использоваться переменные.
26263</para>
26264<para lang="en">
26265the "rewrite" directive can use the variables.
26266</para>
26267</change>
26268
26269<change type="feature">
26270<para lang="ru">
26271директива internal.
26272</para>
26273<para lang="en">
26274the "internal" directive.
26275</para>
26276</change>
26277
26278<change type="feature">
26279<para lang="ru">
26280переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
26281SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
26282REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
26283</para>
26284<para lang="en">
26285the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
26286SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
26287REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
26288</para>
26289</change>
26290
26291<change type="change">
26292<para lang="ru">
26293nginx теперь передаёт неверные строки в заголовках запроса клиента и
26294ответа бэкенда.
26295</para>
26296<para lang="en">
26297nginx now passes the invalid lines in a client request headers
26298or a backend response header.
26299</para>
26300</change>
26301
26302<change type="bugfix">
26303<para lang="ru">
26304если бэкенд долго не передавал ответ и send_timeout был меньше, чем
26305proxy_read_timeout, то клиенту возвращался ответ 408.
26306</para>
26307<para lang="en">
26308if the backend did not transfer response for a long time and
26309the "send_timeout" was less than "proxy_read_timeout", then nginx
26310returned the 408 response.
26311</para>
26312</change>
26313
26314<change type="bugfix">
26315<para lang="ru">
26316если бэкенд передавал неверную строку в заголовке ответа, то происходил
26317segmentation fault;
26318ошибка появилась в 0.1.26.
26319</para>
26320<para lang="en">
26321the segmentation fault was occurred if the backend sent an invalid line
26322in response header;
26323the bug had appeared in 0.1.26.
26324</para>
26325</change>
26326
26327<change type="bugfix">
26328<para lang="ru">
26329при использовании отказоустойчивой конфигурации в FastCGI мог
26330происходить segmentation fault.
26331</para>
26332<para lang="en">
26333the segmentation fault may occurred in FastCGI fault tolerance configuration.
26334</para>
26335</change>
26336
26337<change type="bugfix">
26338<para lang="ru">
26339директива expires не удаляла уже установленные строки заголовка
26340"Expires" и "Cache-Control".
26341</para>
26342<para lang="en">
26343the "expires" directive did not remove the previous "Expires" and
26344"Cache-Control" headers.
26345</para>
26346</change>
26347
26348<change type="bugfix">
26349<para lang="ru">
26350nginx не учитывал завершающую точку в строке заголовка запроса "Host".
26351</para>
26352<para lang="en">
26353nginx did not take into account trailing dot in "Host" header line.
26354</para>
26355</change>
26356
26357<change type="bugfix">
26358<para lang="ru">
26359модуль ngx_http_auth_module не работал на Linux.
26360</para>
26361<para lang="en">
26362the ngx_http_auth_module did not work under Linux.
26363</para>
26364</change>
26365
26366<change type="bugfix">
26367<para lang="ru">
26368директива rewrite неверно работала, если в запросе присутствовали аргументы.
26369</para>
26370<para lang="en">
26371the rewrite directive worked incorrectly, if the arguments were in a request.
26372</para>
26373</change>
26374
26375<change type="bugfix">
26376<para lang="ru">
26377nginx не собирался на MacOS X.
26378</para>
26379<para lang="en">
26380nginx could not be built on MacOS X.
26381</para>
26382</change>
26383
26384</changes>
26385
26386
26387<changes ver="0.1.28" date="2005-04-08">
26388
26389<change type="bugfix">
26390<para lang="ru">
26391при проксировании больших файлов nginx сильно нагружал процессор.
26392</para>
26393<para lang="en">
26394nginx hogs CPU while proxying the huge files.
26395</para>
26396</change>
26397
26398<change type="bugfix">
26399<para lang="ru">
26400nginx не собирался gcc 4.0 на Linux.
26401</para>
26402<para lang="en">
26403nginx could not be built by gcc 4.0 on Linux.
26404</para>
26405</change>
26406
26407</changes>
26408
26409
26410<changes ver="0.1.27" date="2005-03-28">
26411
26412<change type="feature">
26413<para lang="ru">
26414параметр blocked в директиве valid_referers.
26415</para>
26416<para lang="en">
26417the "blocked" parameter of the "valid_referers" directive.
26418</para>
26419</change>
26420
26421<change type="change">
26422<para lang="ru">
26423ошибки обработки заголовка запроса теперь записываются на уровне
26424info, в лог также записывается имя сервера и строки заголовка
26425запроса "Host" и "Referer".
26426</para>
26427<para lang="en">
26428the errors while handling the request header now logged at "info" level.
26429The server name and the "Host" and "Referer" header lines also logged.
26430</para>
26431</change>
26432
26433<change type="change">
26434<para lang="ru">
26435при записи ошибок в лог записывается также строка заголовка запроса "Host".
26436</para>
26437<para lang="en">
26438the "Host" header line is also logged in error log.
26439</para>
26440</change>
26441
26442<change type="feature">
26443<para lang="ru">
26444директива proxy_pass_unparsed_uri.
26445Специальная обработка символов "://" в URI, введённая в версии 0.1.11,
26446теперь упразднена.
26447</para>
26448<para lang="en">
26449the proxy_pass_unparsed_uri directive.
26450The special handling of the "://" symbols in URI, appeared in 0.1.11 version,
26451now is canceled.
26452</para>
26453</change>
26454
26455<change type="bugfix">
26456<para lang="ru">
26457nginx не собирался на FreeBSD и Linux, если был указан параметр конфигурации
26458--without-ngx_http_auth_basic_module.
26459</para>
26460<para lang="en">
26461nginx could not be built on FreeBSD and Linux, if the
26462--without-ngx_http_auth_basic_module configuration parameter was used.
26463</para>
26464</change>
26465
26466</changes>
26467
26468
26469<changes ver="0.1.26" date="2005-03-22">
26470
26471<change type="change">
26472<para lang="ru">
26473неверные строки заголовка, переданные клиентом, теперь игнорируется и
26474записываются в error_log на уровне info.
26475</para>
26476<para lang="en">
26477the invalid client header lines are now ignored and logged at the info level.
26478</para>
26479</change>
26480
26481<change type="change">
26482<para lang="ru">
26483при записи ошибок в лог записывается также имя сервера, при обращении
26484к которому произошла ошибка.
26485</para>
26486<para lang="en">
26487the server name is also logged in error log.
26488</para>
26489</change>
26490
26491<change type="feature">
26492<para lang="ru">
26493модуль ngx_http_auth_basic_module и директивы auth_basic и
26494auth_basic_user_file.
26495</para>
26496<para lang="en">
26497the ngx_http_auth_basic_module module and the auth_basic and
26498auth_basic_user_file directives.
26499</para>
26500</change>
26501
26502</changes>
26503
26504
26505<changes ver="0.1.25" date="2005-03-19">
26506
26507<change type="bugfix">
26508<para lang="ru">
26509nginx не работал на Linux parisc.
26510</para>
26511<para lang="en">
26512nginx did run on Linux parisc.
26513</para>
26514</change>
26515
26516<change type="feature">
26517<para lang="ru">
26518nginx теперь не запускается под FreeBSD, если значение
26519sysctl kern.ipc.somaxconn слишком большое.
26520</para>
26521<para lang="en">
26522nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn
26523value is too big.
26524</para>
26525</change>
26526
26527<change type="bugfix">
26528<para lang="ru">
26529если модуль ngx_http_index_module делал внутреннее перенаправление запроса
26530в модули ngx_http_proxy_module или ngx_http_fastcgi_module, то файл индекса
26531не закрывался после обслуживания запроса.
26532</para>
26533<para lang="en">
26534if a request was internally redirected by the ngx_http_index_module
26535module to the ngx_http_proxy_module or ngx_http_fastcgi_module modules,
26536then the index file was not closed after request completion.
26537</para>
26538</change>
26539
26540<change type="feature">
26541<para lang="ru">
26542директива proxy_pass может использоваться в location, заданных регулярным
26543выражением.
26544</para>
26545<para lang="en">
26546the "proxy_pass" can be used in location with regular expression.
26547</para>
26548</change>
26549
26550<change type="feature">
26551<para lang="ru">
26552модуль ngx_http_rewrite_filter_module поддерживает условия вида
26553"if ($HTTP_USER_AGENT ~ MSIE)".
26554</para>
26555<para lang="en">
26556the ngx_http_rewrite_filter_module module supports the condition like
26557"if ($HTTP_USER_AGENT ~ MSIE)".
26558</para>
26559</change>
26560
26561<change type="bugfix">
26562<para lang="ru">
26563nginx очень медленно запускался при большом количестве адресов и
26564использовании текстовых значений в директиве geo.
26565</para>
26566<para lang="en">
26567nginx started too slow if the large number of addresses and text values
26568were used in the "geo" directive.
26569</para>
26570</change>
26571
26572<change type="change">
26573<para lang="ru">
26574имя переменной в директиве geo нужно указывать, как $name.
26575Прежний вариант без "$" пока работает, но вскоре будет убран.
26576</para>
26577<para lang="en">
26578a variable name must be declared as "$name" in the "geo" directive.
26579The previous variant without "$" is still supported, but will be removed soon.
26580</para>
26581</change>
26582
26583<change type="feature">
26584<para lang="ru">
26585параметр лога "%{VARIABLE}v".
26586</para>
26587<para lang="en">
26588the "%{VARIABLE}v" logging parameter.
26589</para>
26590</change>
26591
26592<change type="feature">
26593<para lang="ru">
26594директива "set $name value".
26595</para>
26596<para lang="en">
26597the "set $name value" directive.
26598</para>
26599</change>
26600
26601<change type="bugfix">
26602<para lang="ru">
26603совместимость с gcc 4.0.
26604</para>
26605<para lang="en">
26606gcc 4.0 compatibility.
26607</para>
26608</change>
26609
26610<change type="feature">
26611<para lang="ru">
26612параметр автоконфигурации --with-openssl-opt=OPTIONS.
26613</para>
26614<para lang="en">
26615the --with-openssl-opt=OPTIONS autoconfiguration directive.
26616</para>
26617</change>
26618
26619</changes>
26620
26621
26622<changes ver="0.1.24" date="2005-03-04">
26623
26624<change type="feature">
26625<para lang="ru">
26626модуль ngx_http_ssi_filter_module поддерживает переменные
26627QUERY_STRING и DOCUMENT_URI.
26628</para>
26629<para lang="en">
26630the ngx_http_ssi_filter_module supports the QUERY_STRING and DOCUMENT_URI
26631variables.
26632</para>
26633</change>
26634
26635<change type="bugfix">
26636<para lang="ru">
26637модуль ngx_http_autoindex_module мог выдавать ответ 404
26638на существующий каталог, если этот каталог был указан как alias.
26639</para>
26640<para lang="en">
26641the ngx_http_autoindex_module may some times return the 404 response
26642for existent directory, if this directory was used in "alias" directive.
26643</para>
26644</change>
26645
26646<change type="bugfix">
26647<para lang="ru">
26648модуль ngx_http_ssi_filter_module неправильно работал при больших
26649ответах.
26650</para>
26651<para lang="en">
26652the ngx_http_ssi_filter_module ran incorrectly for large responses.
26653</para>
26654</change>
26655
26656<change type="bugfix">
26657<para lang="ru">
26658отсутствие строки заголовка "Referer" всегда считалось правильным referrer'ом.
26659</para>
26660<para lang="en">
26661the lack of the "Referer" header line was always accounted as valid referrer.
26662</para>
26663</change>
26664
26665</changes>
26666
26667
26668<changes ver="0.1.23" date="2005-03-01">
26669
26670<change type="feature">
26671<para lang="ru">
26672модуль ngx_http_ssi_filter_module и
26673директивы ssi, ssi_silent_errors и ssi_min_file_chunk.
26674Поддерживаются команды 'echo var="HTTP_..." default=""' и
26675'echo var="REMOTE_ADDR"'.
26676</para>
26677<para lang="en">
26678the ngx_http_ssi_filter_module and
26679the ssi, ssi_silent_errors, and ssi_min_file_chunk directives.
26680The 'echo var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands
26681are supported.
26682</para>
26683</change>
26684
26685<change type="feature">
26686<para lang="ru">
26687параметр лога %request_time.
26688</para>
26689<para lang="en">
26690the %request_time log parameter.
26691</para>
26692</change>
26693
26694<change type="feature">
26695<para lang="ru">
26696если запрос пришёл без строки заголовка "Host", то директива
26697proxy_preserve_host устанавливает в качестве этого заголовка первое имя
26698сервера из директивы server_name.
26699</para>
26700<para lang="en">
26701if the request has no the "Host" header line, then the "proxy_preserve_host"
26702directive set this header line to the first server name of the "server_name"
26703directive.
26704</para>
26705</change>
26706
26707<change type="bugfix">
26708<para lang="ru">
26709nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
26710ошибка появилась в 0.1.22.
26711</para>
26712<para lang="en">
26713nginx could not be built on platforms different from i386, amd64, sparc,
26714and ppc;
26715the bug had appeared in 0.1.22.
26716</para>
26717</change>
26718
26719<change type="bugfix">
26720<para lang="ru">
26721модуль ngx_http_autoindex_module теперь показывает информацию не о
26722символическом линке, а о файле или каталоге, на который он указывает.
26723</para>
26724<para lang="en">
26725the ngx_http_autoindex_module now shows the information not about the symlink,
26726but about file or directory it points to.
26727</para>
26728</change>
26729
26730<change type="bugfix">
26731<para lang="ru">
26732если клиенту ничего не передавалось, то параметр %apache_length
26733записывал в лог отрицательную длину заголовка ответа.
26734</para>
26735<para lang="en">
26736the %apache_length parameter logged the negative length
26737of the response header if the no response was transferred to a client.
26738</para>
26739</change>
26740
26741</changes>
26742
26743
26744<changes ver="0.1.22" date="2005-02-22">
26745
26746<change type="bugfix">
26747<para lang="ru">
26748модуль ngx_http_stub_status_module показывал неверную статистику
26749для обработанных соединений, если использовалось проксирование
26750или FastCGI-сервер.
26751</para>
26752<para lang="en">
26753the ngx_http_stub_status_module showed incorrect handled connections
26754statistics if the proxying or FastCGI server were used.
26755</para>
26756</change>
26757
26758<change type="bugfix">
26759<para lang="ru">
26760на Linux и Solaris установочные пути были неверно заключены в кавычки;
26761ошибка появилась в 0.1.21.
26762</para>
26763<para lang="en">
26764the installation paths were incorrectly quoted on Linux and Solaris;
26765the bug had appeared in 0.1.21.
26766</para>
26767</change>
26768
26769</changes>
26770
26771
26772<changes ver="0.1.21" date="2005-02-22">
26773
26774<change type="bugfix">
26775<para lang="ru">
26776модуль ngx_http_stub_status_module показывал неверную статистику
26777при использовании метода rtsig или при использовании нескольких
26778рабочих процессов на SMP машине.
26779</para>
26780<para lang="en">
26781the ngx_http_stub_status_module showed incorrect statistics
26782if "rtsig" method was used or if several worker process ran on SMP.
26783</para>
26784</change>
26785
26786<change type="bugfix">
26787<para lang="ru">
26788nginx не собирался компилятором icc под Линуксом или
26789если библиотека zlib-1.2.x собиралась из исходных текстов.
26790</para>
26791<para lang="en">
26792nginx could not be built by the icc compiler on Linux or
26793if the zlib-1.2.x library was building from sources.
26794</para>
26795</change>
26796
26797<change type="bugfix">
26798<para lang="ru">
26799nginx не собирался под NetBSD 2.0.
26800</para>
26801<para lang="en">
26802nginx could not be built on NetBSD 2.0.
26803</para>
26804</change>
26805
26806</changes>
26807
26808
26809<changes ver="0.1.20" date="2005-02-17">
26810
26811<change type="feature">
26812<para lang="ru">
26813новые параметры script_filename и remote_port в директиве fastcgi_params.
26814</para>
26815<para lang="en">
26816the new "script_filename" and "remote_port" parameters
26817of the fastcgi_params directive.
26818</para>
26819</change>
26820
26821<change type="bugfix">
26822<para lang="ru">
26823неправильно обрабатывался поток stderr от FastCGI-сервера.
26824</para>
26825<para lang="en">
26826the FastCGI stderr stream was handled incorrectly.
26827</para>
26828</change>
26829
26830</changes>
26831
26832
26833<changes ver="0.1.19" date="2005-02-16">
26834
26835<change type="bugfix">
26836<para lang="ru">
26837если в запросе есть нуль, то для локальных запросов теперь возвращается
26838ошибка 404.
26839</para>
26840<para lang="en">
26841now, if request contains the zero, then the 404 error is returned
26842for the local requests.
26843</para>
26844</change>
26845
26846<change type="bugfix">
26847<para lang="ru">
26848nginx не собирался под NetBSD 2.0.
26849</para>
26850<para lang="en">
26851nginx could not be built on NetBSD 2.0.
26852</para>
26853</change>
26854
26855<change type="bugfix">
26856<para lang="ru">
26857во время чтения тела запроса клиента в SSL соединении мог произойти таймаут.
26858</para>
26859<para lang="en">
26860the timeout may occur while reading of the client request body
26861via SSL connections.
26862</para>
26863</change>
26864
26865</changes>
26866
26867
26868<changes ver="0.1.18" date="2005-02-09">
26869
26870<change type="workaround">
26871<para lang="ru">
26872для совместимости с Solaris 10 в директивах devpoll_events и devpoll_changes
26873значения по умолчанию уменьшены с 512 до 32.
26874</para>
26875<para lang="en">
26876the default values of the devpoll_events and the devpoll_changes directives
26877changed from 512 to 32 to be compatible with Solaris 10.
26878</para>
26879</change>
26880
26881<change type="bugfix">
26882<para lang="ru">
26883директивы proxy_set_x_var и fastcgi_set_var не наследовались.
26884</para>
26885<para lang="en">
26886the proxy_set_x_var and fastcgi_set_var directives were not inherited.
26887</para>
26888</change>
26889
26890<change type="bugfix">
26891<para lang="ru">
26892в директиве rewrite, возвращающей редирект, аргументы присоединялись
26893к URI через символ "&amp;" вместо "?".
26894</para>
26895<para lang="en">
26896in a redirect rewrite directive arguments were concatenated with URI
26897by an "&amp;" rather than a "?".
26898</para>
26899</change>
26900
26901<change type="bugfix">
26902<para lang="ru">
26903строки для модуля ngx_http_geo_module без символа ";" во включённом файле
26904игнорировались.
26905</para>
26906<para lang="en">
26907the lines without trailing ";" in the file being included
26908by the ngx_http_geo_module were silently ignored.
26909</para>
26910</change>
26911
26912<change type="feature">
26913<para lang="ru">
26914модуль ngx_http_stub_status_module.
26915</para>
26916<para lang="en">
26917the ngx_http_stub_status_module.
26918</para>
26919</change>
26920
26921<change type="bugfix">
26922<para lang="ru">
26923неизвестный формат лог-файла в директиве access_log вызывал segmentation fault.
26924</para>
26925<para lang="en">
26926the unknown log format in the access_log directive caused
26927the segmentation fault.
26928</para>
26929</change>
26930
26931<change type="feature">
26932<para lang="ru">
26933новый параметр document_root в директиве fastcgi_params.
26934</para>
26935<para lang="en">
26936the new "document_root" parameter of the fastcgi_params directive.
26937</para>
26938</change>
26939
26940<change type="feature">
26941<para lang="ru">
26942директива fastcgi_redirect_errors.
26943</para>
26944<para lang="en">
26945the fastcgi_redirect_errors directive.
26946</para>
26947</change>
26948
26949<change type="feature">
26950<para lang="ru">
26951новый модификатор break в директиве rewrite позволяет прекратить
26952цикл rewrite/location и устанавливает текущую конфигурацию для запроса.
26953</para>
26954<para lang="en">
26955the new "break" modifier of the "rewrite" directive allows to stop
26956the rewrite/location cycle and sets the current configuration to the request.
26957</para>
26958</change>
26959
26960</changes>
26961
26962
26963<changes ver="0.1.17" date="2005-02-03">
26964
26965<change type="change">
26966<para lang="ru">
26967модуль ngx_http_rewrite_module полностью переписан.
26968Теперь можно делать редиректы, возвращать коды ошибок
26969и проверять переменные и рефереры.
26970Эти директивы можно использовать внутри location.
26971Директива redirect упразднена.
26972</para>
26973<para lang="en">
26974the ngx_http_rewrite_module was rewritten from the scratch.
26975Now it is possible to redirect, to return the error codes,
26976to check the variables and referrers. The directives can be used
26977inside locations.
26978The redirect directive was canceled.
26979</para>
26980</change>
26981
26982<change type="feature">
26983<para lang="ru">
26984модуль ngx_http_geo_module.
26985</para>
26986<para lang="en">
26987the ngx_http_geo_module.
26988</para>
26989</change>
26990
26991<change type="feature">
26992<para lang="ru">
26993директивы proxy_set_x_var и fastcgi_set_var.
26994</para>
26995<para lang="en">
26996the proxy_set_x_var and fastcgi_set_var directives.
26997</para>
26998</change>
26999
27000<change type="bugfix">
27001<para lang="ru">
27002конфигурация location с модификатором "=" могла использоваться
27003в другом location.
27004</para>
27005<para lang="en">
27006the location configuration with "=" modifier may be used in another
27007location.
27008</para>
27009</change>
27010
27011<change type="bugfix">
27012<para lang="ru">
27013правильный тип ответа выставлялся только для запросов, у которых в расширении
27014были только маленькие буквы.
27015</para>
27016<para lang="en">
27017the correct content type was set only for requests that use small caps letters
27018in extension.
27019</para>
27020</change>
27021
27022<change type="bugfix">
27023<para lang="ru">
27024если для location установлен proxy_pass или fastcgi_pass, и доступ
27025к нему запрещался, а ошибка перенаправлялась на статическую страницу,
27026то происходил segmentation fault.
27027</para>
27028<para lang="en">
27029if the proxy_pass or fastcgi_pass directives were set in the location,
27030and access was denied, and the error was redirected to a static page,
27031then the segmentation fault occurred.
27032</para>
27033</change>
27034
27035<change type="bugfix">
27036<para lang="ru">
27037если в проксированном ответе в заголовке "Location" передавался
27038относительный URL, то к нему добавлялось имя хоста и слэш;
27039ошибка появилась в 0.1.14.
27040</para>
27041<para lang="en">
27042if in a proxied "Location" header was a relative URL,
27043then a host name and a slash were added to them;
27044the bug had appeared in 0.1.14.
27045</para>
27046</change>
27047
27048<change type="bugfix">
27049<para lang="ru">
27050на Linux в лог не записывался текст системной ошибки.
27051</para>
27052<para lang="en">
27053the system error message was not logged on Linux.
27054</para>
27055</change>
27056
27057</changes>
27058
27059
27060<changes ver="0.1.16" date="2005-01-25">
27061
27062<change type="bugfix">
27063<para lang="ru">
27064если ответ передавался chunk'ами, то при запросе HEAD выдавался
27065завершающий chunk.
27066</para>
27067<para lang="en">
27068if the response were transferred by chunks, then on the HEAD request
27069the final chunk was issued.
27070</para>
27071</change>
27072
27073<change type="bugfix">
27074<para lang="ru">
27075заголовок "Connection: keep-alive" выдавался, даже если директива
27076keepalive_timeout запрещала использование keep-alive.
27077</para>
27078<para lang="en">
27079the "Connection: keep-alive" header were issued, even if the
27080keepalive_timeout directive forbade the keep-alive use.
27081</para>
27082</change>
27083
27084<change type="bugfix">
27085<para lang="ru">
27086ошибки в модуле ngx_http_fastcgi_module вызывали segmentation fault.
27087</para>
27088<para lang="en">
27089the errors in the ngx_http_fastcgi_module caused the segmentation faults.
27090</para>
27091</change>
27092
27093<change type="bugfix">
27094<para lang="ru">
27095при использовании SSL сжатый ответ мог передаваться не до конца.
27096</para>
27097<para lang="en">
27098the compressed response encrypted by SSL may not transferred complete.
27099</para>
27100</change>
27101
27102<change type="bugfix">
27103<para lang="ru">
27104опции TCP_NODELAY, TCP_NOPUSH и TCP_CORK, специфичные для TCP сокетов,
27105не используются для unix domain сокетов.
27106</para>
27107<para lang="en">
27108the TCP-specific TCP_NODELAY, TCP_NOPUSH, and TCP_CORK options,
27109are not used for the unix domain sockets.
27110</para>
27111</change>
27112
27113<change type="feature">
27114<para lang="ru">
27115директива rewrite поддерживает перезаписывание аргументов.
27116</para>
27117<para lang="en">
27118the rewrite directive supports the arguments rewriting.
27119</para>
27120</change>
27121
27122<change type="bugfix">
27123<para lang="ru">
27124на запрос POST с заголовком "Content-Length: 0" возвращался ответ 400;
27125ошибка появилась в 0.1.14.
27126</para>
27127<para lang="en">
27128the response code 400 was returned for the POST request with the
27129"Content-Length: 0" header;
27130the bug had appeared in 0.1.14.
27131</para>
27132</change>
27133
27134</changes>
27135
27136
27137<changes ver="0.1.15" date="2005-01-19">
27138
27139<change type="bugfix">
27140<para lang="ru">
27141ошибка соединения с FastCGI-сервером вызывала segmentation fault.
27142</para>
27143<para lang="en">
27144the error while the connecting to the FastCGI server caused
27145segmentation fault.
27146</para>
27147</change>
27148
27149<change type="bugfix">
27150<para lang="ru">
27151корректная обработка регулярного выражения, в котором число
27152выделенных частей не совпадает с числом подстановок.
27153</para>
27154<para lang="en">
27155the correct handling of the regular expression, that
27156has different number of the captures and substitutions.
27157</para>
27158</change>
27159
27160<change type="feature">
27161<para lang="ru">
27162location, который передаётся FastCGI-серверу, может быть задан
27163с помощью регулярного выражения.
27164</para>
27165<para lang="en">
27166the location, that is passed to the FastCGI server, can be
27167regular expression.
27168</para>
27169</change>
27170
27171<change type="bugfix">
27172<para lang="ru">
27173параметр FastCGI REQUEST_URI теперь передаётся вместе с аргументами
27174и в том виде, в котором был получен от клиента.
27175</para>
27176<para lang="en">
27177the FastCGI's parameter REQUEST_URI is now passed with the arguments
27178and in the original state.
27179</para>
27180</change>
27181
27182<change type="bugfix">
27183<para lang="ru">
27184для использования регулярных выражений в location нужно было
27185собирать nginx вместе с ngx_http_rewrite_module.
27186</para>
27187<para lang="en">
27188the ngx_http_rewrite_module module was required to be built to use
27189the regular expressions in locations.
27190</para>
27191</change>
27192
27193<change type="bugfix">
27194<para lang="ru">
27195если бэкенд слушал на 80-ом порту, то при использовании директивы
27196<nobr>"proxy_preserve_host  on"</nobr> в заголовке "Host" указывался
27197также порт 80;
27198ошибка появилась в 0.1.14.
27199</para>
27200<para lang="en">
27201the directive <nobr>"proxy_preserve_host  on"</nobr> adds port 80
27202to the "Host" headers, if upstream listen on port 80;
27203the bug had appeared in 0.1.14.
27204</para>
27205</change>
27206
27207<change type="bugfix">
27208<para lang="ru">
27209если задать одинаковые пути в параметрах автоконфигурации
27210--http-client-body-temp-path=PATH и --http-proxy-temp-path=PATH
27211или --http-client-body-temp-path=PATH и --http-fastcgi-temp-path=PATH,
27212то происходил segmentation fault.
27213</para>
27214<para lang="en">
27215the same paths in autoconfiguration parameters
27216--http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH,
27217or --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH
27218caused segmentation fault.
27219</para>
27220</change>
27221
27222</changes>
27223
27224
27225<changes ver="0.1.14" date="2005-01-18">
27226
27227<change type="feature">
27228<para lang="ru">
27229параметры автоконфигурации
27230--http-client-body-temp-path=PATH,
27231--http-proxy-temp-path=PATH
27232и --http-fastcgi-temp-path=PATH
27233</para>
27234<para lang="en">
27235the autoconfiguration directives:
27236--http-client-body-temp-path=PATH,
27237--http-proxy-temp-path=PATH,
27238and --http-fastcgi-temp-path=PATH
27239</para>
27240</change>
27241
27242<change type="change">
27243<para lang="ru">
27244имя каталога с временными файлами, содержащие тело запроса клиента,
27245задаётся директивой client_body_temp_path,
27246по умолчанию &lt;prefix&gt;/client_body_temp.
27247</para>
27248<para lang="en">
27249the directory name for the temporary files with the client request body
27250is specified by directive client_body_temp_path,
27251by default it is &lt;prefix&gt;/client_body_temp.
27252</para>
27253</change>
27254
27255<change type="feature">
27256<para lang="ru">
27257модуль ngx_http_fastcgi_module и директивы
27258fastcgi_pass,
27259fastcgi_root,
27260fastcgi_index,
27261fastcgi_params,
27262fastcgi_connect_timeout,
27263fastcgi_send_timeout,
27264fastcgi_read_timeout,
27265fastcgi_send_lowat,
27266fastcgi_header_buffer_size,
27267fastcgi_buffers,
27268fastcgi_busy_buffers_size,
27269fastcgi_temp_path,
27270fastcgi_max_temp_file_size,
27271fastcgi_temp_file_write_size,
27272fastcgi_next_upstream
27273и fastcgi_x_powered_by.
27274
27275</para>
27276<para lang="en">
27277the ngx_http_fastcgi_module and the directives:
27278fastcgi_pass,
27279fastcgi_root,
27280fastcgi_index,
27281fastcgi_params,
27282fastcgi_connect_timeout,
27283fastcgi_send_timeout,
27284fastcgi_read_timeout,
27285fastcgi_send_lowat,
27286fastcgi_header_buffer_size,
27287fastcgi_buffers,
27288fastcgi_busy_buffers_size,
27289fastcgi_temp_path,
27290fastcgi_max_temp_file_size,
27291fastcgi_temp_file_write_size,
27292fastcgi_next_upstream,
27293and fastcgi_x_powered_by.
27294</para>
27295</change>
27296
27297<change type="bugfix">
27298<para lang="ru">
27299ошибка "[alert] zero size buf";
27300ошибка появилась в 0.1.3.
27301</para>
27302<para lang="en">
27303the "[alert] zero size buf" error;
27304the bug had appeared in 0.1.3.
27305</para>
27306</change>
27307
27308<change type="change">
27309<para lang="ru">
27310в директиве proxy_pass нужно обязательно указывать URI после имени хоста.
27311</para>
27312<para lang="en">
27313the URI must be specified after the host name in the proxy_pass directive.
27314</para>
27315</change>
27316
27317<change type="change">
27318<para lang="ru">
27319если в URI встречался символ %3F, то он считался началом строки аргументов.
27320</para>
27321<para lang="en">
27322the %3F symbol in the URI was considered as the argument string start.
27323</para>
27324</change>
27325
27326<change type="feature">
27327<para lang="ru">
27328поддержка unix domain сокетов в модуле ngx_http_proxy_module.
27329</para>
27330<para lang="en">
27331the unix domain sockets support in the ngx_http_proxy_module.
27332</para>
27333</change>
27334
27335<change type="feature">
27336<para lang="ru">
27337директивы ssl_engine и ssl_ciphers.<br/>
27338Спасибо Сергею Скворцову за SSL-акселератор.
27339</para>
27340<para lang="en">
27341the ssl_engine and ssl_ciphers directives.<br/>
27342Thanks to Sergey Skvortsov for SSL-accelerator.
27343</para>
27344</change>
27345
27346</changes>
27347
27348
27349<changes ver="0.1.13" date="2004-12-21">
27350
27351<change type="feature">
27352<para lang="ru">
27353директивы server_names_hash и server_names_hash_threshold.
27354</para>
27355<para lang="en">
27356the server_names_hash and server_names_hash_threshold directives.
27357</para>
27358</change>
27359
27360<change type="bugfix">
27361<para lang="ru">
27362имена *.domain.tld в директиве server_name не работали.
27363</para>
27364<para lang="en">
27365the *.domain.tld names in the "server_name" directive did not work.
27366</para>
27367</change>
27368
27369<change type="bugfix">
27370<para lang="ru">
27371параметр лога %request_length записывал неверную длину.
27372</para>
27373<para lang="en">
27374the %request_length log parameter logged the incorrect length.
27375</para>
27376</change>
27377
27378</changes>
27379
27380
27381<changes ver="0.1.12" date="2004-12-06">
27382
27383<change type="feature">
27384<para lang="ru">
27385параметр лога %request_length.
27386</para>
27387<para lang="en">
27388the %request_length log parameter.
27389</para>
27390</change>
27391
27392<change type="bugfix">
27393<para lang="ru">
27394при использовании /dev/poll, select и poll на платформах, где возможны
27395ложные срабатывания указанных методов, могли быть длительные задержки
27396при обработке запроса по keep-alive соединению.
27397Наблюдалось по крайней мере на Solaris с использованием /dev/poll.
27398</para>
27399<para lang="en">
27400when using the /dev/poll, select and poll on the platforms, where
27401these methods may do the false reports, there may be the long delay when
27402the request was passed via the keep-alive connection.
27403It may be at least on Solaris when using the /dev/poll.
27404</para>
27405</change>
27406
27407<change type="bugfix">
27408<para lang="ru">
27409директива send_lowat игнорируется на Linux, так как Linux не поддерживает
27410опцию SO_SNDLOWAT.
27411</para>
27412<para lang="en">
27413the send_lowat directive is ignored on Linux because Linux does not support
27414the SO_SNDLOWAT option.
27415</para>
27416</change>
27417
27418</changes>
27419
27420
27421<changes ver="0.1.11" date="2004-12-02">
27422
27423<change type="feature">
27424<para lang="ru">
27425директива worker_priority.
27426</para>
27427<para lang="en">
27428the worker_priority directive.
27429</para>
27430</change>
27431
27432<change type="change">
27433<para lang="ru">
27434под FreeBSD директивы tcp_nopush и tcp_nodelay вместе влияют на передачу
27435ответа.
27436</para>
27437<para lang="en">
27438both tcp_nopush and tcp_nodelay directives affect the transferred response.
27439</para>
27440</change>
27441
27442<change type="bugfix">
27443<para lang="ru">
27444nginx не вызывал initgroups().<br/>
27445Спасибо Андрею Ситникову и Андрею Нигматулину.
27446</para>
27447<para lang="en">
27448nginx did not call initgroups().<br/>
27449Thanks to Andrew Sitnikov and Andrei Nigmatulin.
27450</para>
27451</change>
27452
27453<change type="change">
27454<para lang="ru">
27455ngx_http_auto_index_module теперь выдаёт размер файлов в байтах.
27456</para>
27457<para lang="en">
27458now the ngx_http_autoindex_module shows the file size in the bytes.
27459</para>
27460</change>
27461
27462<change type="bugfix">
27463<para lang="ru">
27464ngx_http_auto_index_module возвращал ошибку 500, если в каталоге есть
27465битый symlink.
27466</para>
27467<para lang="en">
27468the ngx_http_autoindex_module returned the 500 error if the broken symlink
27469was in a directory.
27470</para>
27471</change>
27472
27473<change type="bugfix">
27474<para lang="ru">
27475файлы больше 4G не передавались с использованием sendfile.
27476</para>
27477<para lang="en">
27478the files bigger than 4G could not be transferred using sendfile.
27479</para>
27480</change>
27481
27482<change type="bugfix">
27483<para lang="ru">
27484если бэкенд резолвился в несколько адресов и при ожидании от него ответа
27485происходила ошибка, то процесс зацикливался.
27486</para>
27487<para lang="en">
27488if the backend was resolved to several backends and there was an error while
27489the response waiting then process may got caught in an endless loop.
27490</para>
27491</change>
27492
27493<change type="bugfix">
27494<para lang="ru">
27495при использовании метода /dev/poll рабочий процесс мог завершиться
27496с сообщением "unknown cycle".
27497</para>
27498<para lang="en">
27499the worker process may exit with the "unknown cycle" message when the /dev/poll
27500method was used.
27501</para>
27502</change>
27503
27504<change type="bugfix">
27505<para lang="ru">
27506ошибки "close() channel failed".
27507</para>
27508<para lang="en">
27509"close() channel failed" errors.
27510</para>
27511</change>
27512
27513<change type="bugfix">
27514<para lang="ru">
27515автоматическое определение групп nobody и nogroup.
27516</para>
27517<para lang="en">
27518the autodetection of the "nobody" and "nogroup" groups.
27519</para>
27520</change>
27521
27522<change type="bugfix">
27523<para lang="ru">
27524директива send_lowat не работала на Linux.
27525</para>
27526<para lang="en">
27527the send_lowat directive did not work on Linux.
27528</para>
27529</change>
27530
27531<change type="bugfix">
27532<para lang="ru">
27533если в конфигурации не было раздела events, то происходил segmentation fault.
27534</para>
27535<para lang="en">
27536the segmentation fault occurred if there was no events section
27537in configuration.
27538</para>
27539</change>
27540
27541<change type="bugfix">
27542<para lang="ru">
27543nginx не собирался под OpenBSD.
27544</para>
27545<para lang="en">
27546nginx could not be built on OpenBSD.
27547</para>
27548</change>
27549
27550<change type="bugfix">
27551<para lang="ru">
27552двойные слэшы в "://" в URI превращались в ":/".
27553</para>
27554<para lang="en">
27555the double slashes in "://" in the URI were converted to ":/".
27556</para>
27557</change>
27558
27559</changes>
27560
27561
27562<changes ver="0.1.10" date="2004-11-26">
27563
27564<change type="bugfix">
27565<para lang="ru">
27566если в запросе без аргументов есть "//", "/./", "/../" или "%XX",
27567то терялся последний символ в строке запроса;
27568ошибка появилась в 0.1.9.
27569</para>
27570<para lang="en">
27571if the request without arguments contains "//", "/./", "/../" or "%XX"
27572then the last character in the request line was lost;
27573the bug had appeared in 0.1.9.
27574</para>
27575</change>
27576
27577<change type="bugfix">
27578<para lang="ru">
27579исправление в версии 0.1.9 для файлов больше 2G на Linux не работало.
27580</para>
27581<para lang="en">
27582the fix in 0.1.9 for the files bigger than 2G on Linux did not work.
27583</para>
27584</change>
27585
27586</changes>
27587
27588
27589<changes ver="0.1.9" date="2004-11-25">
27590
27591<change type="bugfix">
27592<para lang="ru">
27593если в запросе есть "//", "/./", "/../" или "%XX", то проксируемый
27594запрос передавался без аргументов.
27595</para>
27596<para lang="en">
27597the proxied request was sent without arguments if the request contains
27598"//", "/./", "/../" or "%XX".
27599</para>
27600</change>
27601
27602<change type="bugfix">
27603<para lang="ru">
27604при сжатии больших ответов иногда они передавались не полностью.
27605</para>
27606<para lang="en">
27607the large compressed responses may be transferred not completely.
27608</para>
27609</change>
27610
27611<change type="bugfix">
27612<para lang="ru">
27613не передавались файлы больше 2G на Linux, неподдерживающем sendfile64().
27614</para>
27615<para lang="en">
27616the files bigger than 2G was not transferred on Linux that does not support
27617sendfile64().
27618</para>
27619</change>
27620
27621<change type="bugfix">
27622<para lang="ru">
27623на Linux при конфигурации сборки нужно было обязательно использовать
27624параметр --with-poll_module;
27625ошибка появилась в 0.1.8.
27626</para>
27627<para lang="en">
27628while the build configuration on Linux the --with-poll_module parameter
27629was required;
27630the bug had appeared in 0.1.8.
27631</para>
27632</change>
27633
27634</changes>
27635
27636
27637<changes ver="0.1.8" date="2004-11-20">
27638
27639<change type="bugfix">
27640<para lang="ru">
27641ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов.
27642</para>
27643<para lang="en">
27644in the ngx_http_autoindex_module if the long file names were in the listing.
27645</para>
27646</change>
27647
27648<change type="feature">
27649<para lang="ru">
27650модификатор "^~" в директиве location.
27651</para>
27652<para lang="en">
27653the "^~" modifier in the location directive.
27654</para>
27655</change>
27656
27657<change type="feature">
27658<para lang="ru">
27659директива proxy_max_temp_file_size.
27660</para>
27661<para lang="en">
27662the proxy_max_temp_file_size directive.
27663</para>
27664</change>
27665
27666</changes>
27667
27668
27669<changes ver="0.1.7" date="2004-11-12">
27670
27671<change type="bugfix">
27672<para lang="ru">
27673при использовании sendfile, если передаваемый файл менялся, то мог
27674произойти segmentation fault на FreeBSD;
27675ошибка появилась в 0.1.5.
27676</para>
27677<para lang="en">
27678on FreeBSD the segmentation fault may occur if the size of the transferred
27679file was changed;
27680the bug had appeared in 0.1.5.
27681</para>
27682</change>
27683
27684</changes>
27685
27686
27687<changes ver="0.1.6" date="2004-11-11">
27688
27689<change type="bugfix">
27690<para lang="ru">
27691при некоторых комбинациях директив location c регулярными выражениями
27692использовалась конфигурация не из того location.
27693</para>
27694<para lang="en">
27695some location directive combinations with the regular expressions caused
27696the wrong configuration choose.
27697</para>
27698</change>
27699
27700</changes>
27701
27702
27703<changes ver="0.1.5" date="2004-11-11">
27704
27705<change type="bugfix">
27706<para lang="ru">
27707на Solaris и Linux могло быть очень много сообщений "recvmsg() returned
27708not enough data".
27709</para>
27710<para lang="en">
27711on Solaris and Linux there may be too many "recvmsg() returned not enough data"
27712alerts.
27713</para>
27714</change>
27715
27716<change type="bugfix">
27717<para lang="ru">
27718в режиме прокси без использования sendfile на Solaris возникала
27719ошибка "writev() failed <nobr>(22: Invalid argument)".</nobr>
27720На других платформах, не поддерживающих sendfile, процесс зацикливался.
27721</para>
27722<para lang="en">
27723there were the "writev() failed <nobr>(22: Invalid argument)"</nobr> errors on
27724Solaris in proxy mode without sendfile. On other platforms that do not
27725support sendfile at all the process got caught in an endless loop.
27726</para>
27727</change>
27728
27729<change type="bugfix">
27730<para lang="ru">
27731при использовании sendfile в режиме прокси на Solaris возникал
27732segmentation fault.
27733</para>
27734<para lang="en">
27735segmentation fault on Solaris in proxy mode and using sendfile.
27736</para>
27737</change>
27738
27739<change type="bugfix">
27740<para lang="ru">
27741segmentation fault на Solaris.
27742</para>
27743<para lang="en">
27744segmentation fault on Solaris.
27745</para>
27746</change>
27747
27748<change type="bugfix">
27749<para lang="ru">
27750обновление исполняемого файла на лету не работало на Linux.
27751</para>
27752<para lang="en">
27753on-line upgrade did not work on Linux.
27754</para>
27755</change>
27756
27757<change type="bugfix">
27758<para lang="ru">
27759в списке файлов, выдаваемом модулем ngx_http_autoindex_module,
27760не перекодировались пробелы, кавычки и знаки процента.
27761</para>
27762<para lang="en">
27763the ngx_http_autoindex_module module did not escape the spaces,
27764the quotes, and the percent signs in the directory listing.
27765</para>
27766</change>
27767
27768<change type="change">
27769<para lang="ru">
27770уменьшение операций копирования.
27771</para>
27772<para lang="en">
27773the decrease of the copy operations.
27774</para>
27775</change>
27776
27777<change type="feature">
27778<para lang="ru">
27779директива userid_p3p.
27780</para>
27781<para lang="en">
27782the userid_p3p directive.
27783</para>
27784</change>
27785
27786</changes>
27787
27788
27789<changes ver="0.1.4" date="2004-10-26">
27790
27791<change type="bugfix">
27792<para lang="ru">
27793ошибка в модуле ngx_http_autoindex_module.
27794</para>
27795<para lang="en">
27796in the ngx_http_autoindex_module.
27797</para>
27798</change>
27799
27800</changes>
27801
27802
27803<changes ver="0.1.3" date="2004-10-25">
27804
27805<change type="feature">
27806<para lang="ru">
27807модуль ngx_http_autoindex_module и директива autoindex.
27808</para>
27809<para lang="en">
27810the ngx_http_autoindex_module and the autoindex directive.
27811</para>
27812</change>
27813
27814<change type="feature">
27815<para lang="ru">
27816директива proxy_set_x_url.
27817</para>
27818<para lang="en">
27819the proxy_set_x_url directive.
27820</para>
27821</change>
27822
27823<change type="bugfix">
27824<para lang="ru">
27825модуль проксировании мог привести к зацикливанию, если не использовался
27826sendfile.
27827</para>
27828<para lang="en">
27829proxy module may get caught in an endless loop when sendfile is not used.
27830</para>
27831</change>
27832
27833</changes>
27834
27835
27836<changes ver="0.1.2" date="2004-10-21">
27837
27838<change type="feature">
27839<para lang="ru">
27840параметры --user=USER, --group=GROUP и --with-ld-opt=OPTIONS в configure.
27841</para>
27842<para lang="en">
27843the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure.
27844</para>
27845</change>
27846
27847<change type="feature">
27848<para lang="ru">
27849директива server_name поддерживает *.domain.tld.
27850</para>
27851<para lang="en">
27852the server_name directive supports *.domain.tld.
27853</para>
27854</change>
27855
27856<change type="bugfix">
27857<para lang="ru">
27858улучшена переносимость на неизвестные платформы.
27859</para>
27860<para lang="en">
27861the portability improvements.
27862</para>
27863</change>
27864
27865<change type="bugfix">
27866<para lang="ru">
27867нельзя переконфигурировать nginx, если конфигурационный файл указан
27868в командной строке;
27869ошибка появилась в 0.1.1.
27870</para>
27871<para lang="en">
27872if configuration file was set in command line, the reconfiguration
27873was impossible;
27874the bug had appeared in 0.1.1.
27875</para>
27876</change>
27877
27878<change type="bugfix">
27879<para lang="ru">
27880модуль проксировании мог привести к зацикливанию, если не использовался
27881sendfile.
27882</para>
27883<para lang="en">
27884proxy module may get caught in an endless loop when sendfile is not used.
27885</para>
27886</change>
27887
27888<change type="bugfix">
27889<para lang="ru">
27890при использовании sendfile текст ответа не перекодировался
27891согласно директивам модуля charset;
27892ошибка появилась в 0.1.1.
27893</para>
27894<para lang="en">
27895with sendfile the response was not recoded according to the charset
27896module directives;
27897the bug had appeared in 0.1.1.
27898</para>
27899</change>
27900
27901<change type="bugfix">
27902<para lang="ru">
27903очень редкая ошибка при обработке kqueue.
27904</para>
27905<para lang="en">
27906very seldom bug in the kqueue processing.
27907</para>
27908</change>
27909
27910<change type="bugfix">
27911<para lang="ru">
27912модуль сжатия сжимал уже сжатые ответы, полученные при проксировании.
27913</para>
27914<para lang="en">
27915the gzip module compressed the proxied responses that was already compressed.
27916</para>
27917</change>
27918
27919</changes>
27920
27921
27922<changes ver="0.1.1" date="2004-10-11">
27923
27924<change type="feature">
27925<para lang="ru">
27926директива gzip_types.
27927</para>
27928<para lang="en">
27929the gzip_types directive.
27930</para>
27931</change>
27932
27933<change type="feature">
27934<para lang="ru">
27935директива tcp_nodelay.
27936</para>
27937<para lang="en">
27938the tcp_nodelay directive.
27939</para>
27940</change>
27941
27942<change type="feature">
27943<para lang="ru">
27944директива send_lowat работает не только на платформах, поддерживающих
27945kqueue NOTE_LOWAT, но и на всех, поддерживающих SO_SNDLOWAT.
27946</para>
27947<para lang="en">
27948the send_lowat directive is working not only on OSes that support
27949kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT.
27950</para>
27951</change>
27952
27953<change type="feature">
27954<para lang="ru">
27955эмуляция setproctitle() для Linux и Solaris.
27956</para>
27957<para lang="en">
27958the setproctitle() emulation for Linux and Solaris.
27959</para>
27960</change>
27961
27962<change type="bugfix">
27963<para lang="ru">
27964ошибка при переписывании заголовка "Location" при проксировании.
27965</para>
27966<para lang="en">
27967the "Location" header rewrite bug fixed while the proxying.
27968</para>
27969</change>
27970
27971<change type="bugfix">
27972<para lang="ru">
27973ошибка в модуле ngx_http_chunked_module, приводившая к зацикливанию.
27974</para>
27975<para lang="en">
27976the ngx_http_chunked_module module may get caught in an endless loop.
27977</para>
27978</change>
27979
27980<change type="bugfix">
27981<para lang="ru">
27982ошибки в модуле /dev/poll.
27983</para>
27984<para lang="en">
27985the /dev/poll module bugs fixed.
27986</para>
27987</change>
27988
27989<change type="bugfix">
27990<para lang="ru">
27991при проксировании и использовании временных файлов ответы портились.
27992</para>
27993<para lang="en">
27994the responses were corrupted when the temporary files were used
27995while the proxying.
27996</para>
27997</change>
27998
27999<change type="bugfix">
28000<para lang="ru">
28001бэкенду передавались запросы с неперекодированными символами.
28002</para>
28003<para lang="en">
28004the unescaped requests were passed to the backend.
28005</para>
28006</change>
28007
28008<change type="bugfix">
28009<para lang="ru">
28010на Linux 2.4 при конфигурации сборки нужно было обязательно использовать
28011параметр --with-poll_module.
28012</para>
28013<para lang="en">
28014while the build configuration on Linux 2.4 the --with-poll_module parameter
28015was required.
28016</para>
28017</change>
28018
28019</changes>
28020
28021
28022<changes ver="0.1.0" date="2004-10-04">
28023
28024<change>
28025<para lang="ru">
28026Первая публично доступная версия.
28027</para>
28028<para lang="en">
28029The first public version.
28030</para>
28031</change>
28032
28033</changes>
28034
28035
28036</change_log>
28037