1
2Изменения в nginx 1.20.2                                          16.11.2021
3
4    *) Добавление: совместимость с OpenSSL 3.0.
5
6    *) Исправление: SSL-переменные могли быть пустыми при записи в лог;
7       ошибка появилась в 1.19.5.
8
9    *) Исправление: keepalive-соединения с gRPC-бэкендами могли не
10       закрываться после получения GOAWAY-фрейма.
11
12    *) Исправление: SSL-соединения к бэкендам в модуле stream могли зависать
13       после SSL handshake.
14
15    *) Исправление: SSL-соединения с gRPC-бэкендами могли зависать, если
16       использовались методы select, poll или /dev/poll.
17
18    *) Исправление: в переменной $content_length при использовании chunked
19       transfer encoding.
20
21    *) Исправление: при использовании HTTP/2 и директивы aio_write запросы
22       могли зависать.
23
24
25Изменения в nginx 1.20.1                                          25.05.2021
26
27    *) Безопасность: при использовании директивы resolver во время обработки
28       ответа DNS-сервера могла происходить перезапись одного байта памяти,
29       что позволяло атакующему, имеющему возможность подделывать UDP-пакеты
30       от DNS-сервера, вызвать падение рабочего процесса или, потенциально,
31       выполнение произвольного кода (CVE-2021-23017).
32
33
34Изменения в nginx 1.20.0                                          20.04.2021
35
36    *) Стабильная ветка 1.20.x.
37
38
39Изменения в nginx 1.19.10                                         13.04.2021
40
41    *) Изменение: в директиве keepalive_requests значение по умолчанию
42       изменено на 1000.
43
44    *) Добавление: директива keepalive_time.
45
46    *) Добавление: переменная $connection_time.
47
48    *) Изменение: при использовании zlib-ng в логах появлялись сообщения
49       "gzip filter failed to use preallocated memory".
50
51
52Изменения в nginx 1.19.9                                          30.03.2021
53
54    *) Исправление: nginx не собирался с почтовым прокси-сервером, но без
55       модуля ngx_mail_ssl_module; ошибка появилась в 1.19.8.
56
57    *) Исправление: при работе с gRPC-бэкендами могли возникать ошибки
58       "upstream sent response body larger than indicated content length";
59       ошибка появилась в 1.19.1.
60
61    *) Исправление: если клиент закрывал соединение в момент отбрасывания
62       тела запроса, nginx мог не закрыть соединение до истечения
63       keepalive-таймаута.
64
65    *) Исправление: при ожидании задержки limit_req или auth_delay, а также
66       при работе с бэкендами nginx мог не обнаружить, что соединение уже
67       закрыто клиентом.
68
69    *) Исправление: в методе обработки соединений eventport.
70
71
72Изменения в nginx 1.19.8                                          09.03.2021
73
74    *) Добавление: в директиве proxy_cookie_flags теперь флаги можно
75       задавать с помощью переменных.
76
77    *) Добавление: параметр proxy_protocol в директиве listen, директивы
78       proxy_protocol и set_real_ip_from в почтовом прокси-сервере.
79
80    *) Исправление: HTTP/2-соединения сразу закрывались при использовании
81       "keepalive_timeout 0"; ошибка появилась в 1.19.7.
82
83    *) Исправление: некоторые ошибки логгировались как неизвестные, если
84       nginx был собран с glibc 2.32.
85
86    *) Исправление: в методе обработки соединений eventport.
87
88
89Изменения в nginx 1.19.7                                          16.02.2021
90
91    *) Изменение: обработка соединений в HTTP/2 была изменена и теперь более
92       соответствует HTTP/1.x; директивы http2_recv_timeout,
93       http2_idle_timeout и http2_max_requests упразднены, вместо них
94       следует использовать директивы keepalive_timeout и
95       keepalive_requests.
96
97    *) Изменение: директивы http2_max_field_size и http2_max_header_size
98       упразднены, вместо них следует использовать директиву
99       large_client_header_buffers.
100
101    *) Добавление: теперь при исчерпании свободных соединений nginx
102       закрывает не только keepalive-соединения, но и соединения в lingering
103       close.
104
105    *) Исправление: в логах могли появляться сообщения "zero size buf in
106       output", если бэкенд возвращал некорректный ответ при
107       небуферизированном проксировании; ошибка появилась в 1.19.1.
108
109    *) Исправление: при использовании директивы return вместе с image_filter
110       или xslt_stylesheet HEAD-запросы обрабатывались некорректно.
111
112    *) Исправление: в директиве add_trailer.
113
114
115Изменения в nginx 1.19.6                                          15.12.2020
116
117    *) Исправление: ошибки "no live upstreams", если server в блоке upstream
118       был помечен как down.
119
120    *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
121       segmentation fault; ошибка появилась в 1.19.5.
122
123    *) Исправление: nginx возвращал ошибку 400 на запросы вида
124       "GET http://example.com?args HTTP/1.0".
125
126    *) Исправление: в модулях ngx_http_flv_module и ngx_http_mp4_module.
127       Спасибо Chris Newton.
128
129
130Изменения в nginx 1.19.5                                          24.11.2020
131
132    *) Добавление: ключ -e.
133
134    *) Добавление: при сборке дополнительных модулей теперь можно указывать
135       одни и те же исходные файлы в разных модулях.
136
137    *) Исправление: SSL shutdown не работал при закрытии соединений с
138       ожиданием дополнительных данных (lingering close).
139
140    *) Исправление: при работе с gRPC-бэкендами могли возникать ошибки
141       "upstream sent frame for closed stream".
142
143    *) Исправление: во внутреннем API для обработки тела запроса.
144
145
146Изменения в nginx 1.19.4                                          27.10.2020
147
148    *) Добавление: директивы ssl_conf_command, proxy_ssl_conf_command,
149       grpc_ssl_conf_command и uwsgi_ssl_conf_command.
150
151    *) Добавление: директива ssl_reject_handshake.
152
153    *) Добавление: директива proxy_smtp_auth в почтовом прокси-сервере.
154
155
156Изменения в nginx 1.19.3                                          29.09.2020
157
158    *) Добавление: модуль ngx_stream_set_module.
159
160    *) Добавление: директива proxy_cookie_flags.
161
162    *) Добавление: директива userid_flags.
163
164    *) Исправление: расширение управления кэшированием stale-if-error
165       ошибочно применялось, если бэкенд возвращал ответ с кодом 500, 502,
166       503, 504, 403, 404 или 429.
167
168    *) Исправление: если использовалось кэширование и бэкенд возвращал
169       ответы с строкой заголовка Vary, в логах могли появляться сообщения
170       "[crit] cache file ... has too long header".
171
172    *) Изменение: при использовании OpenSSL 1.1.1 в логах могли появляться
173       сообщения "[crit] SSL_write() failed".
174
175    *) Исправление: в логах могли появляться сообщения "SSL_shutdown()
176       failed (SSL: ... bad write retry)"; ошибка появилась в 1.19.2.
177
178    *) Исправление: при использовании HTTP/2 в рабочем процессе мог
179       произойти segmentation fault, если ошибки с кодом 400 с помощью
180       директивы error_page перенаправлялись в проксируемый location.
181
182    *) Исправление: утечки сокетов при использовании HTTP/2 и подзапросов в
183       модуле njs.
184
185
186Изменения в nginx 1.19.2                                          11.08.2020
187
188    *) Изменение: теперь nginx начинает закрывать keepalive-соединения, не
189       дожидаясь исчерпания всех свободных соединений, а также пишет об этом
190       предупреждение в лог ошибок.
191
192    *) Изменение: оптимизация чтения тела запроса при использовании chunked
193       transfer encoding.
194
195    *) Исправление: утечки памяти при использовании директивы ssl_ocsp.
196
197    *) Исправление: в логах могли появляться сообщения "zero size buf in
198       output", если FastCGI-сервер возвращал некорректный ответ; ошибка
199       появилась в 1.19.1.
200
201    *) Исправление: в рабочем процессе мог произойти segmentation fault,
202       если размеры large_client_header_buffers отличались в разных
203       виртуальных серверах.
204
205    *) Исправление: SSL shutdown мог не работать.
206
207    *) Исправление: в логах могли появляться сообщения "SSL_shutdown()
208       failed (SSL: ... bad write retry)".
209
210    *) Исправление: в модуле ngx_http_slice_module.
211
212    *) Исправление: в модуле ngx_http_xslt_filter_module.
213
214
215Изменения в nginx 1.19.1                                          07.07.2020
216
217    *) Изменение: директивы lingering_close, lingering_time и
218       lingering_timeout теперь работают при использовании HTTP/2.
219
220    *) Изменение: теперь лишние данные, присланные бэкендом, всегда
221       отбрасываются.
222
223    *) Изменение: теперь при получении слишком короткого ответа от
224       FastCGI-сервера nginx пытается отправить клиенту доступную часть
225       ответа, после чего закрывает соединение с клиентом.
226
227    *) Изменение: теперь при получении ответа некорректной длины от
228       gRPC-бэкенда nginx прекращает обработку ответа с ошибкой.
229
230    *) Добавление: параметр min_free в директивах proxy_cache_path,
231       fastcgi_cache_path, scgi_cache_path и uwsgi_cache_path.
232       Спасибо Adam Bambuch.
233
234    *) Исправление: nginx не удалял unix domain listen-сокеты при плавном
235       завершении по сигналу SIGQUIT.
236
237    *) Исправление: UDP-пакеты нулевого размера не проксировались.
238
239    *) Исправление: проксирование на uwsgi-бэкенды с использованием SSL
240       могло не работать.
241       Спасибо Guanzhong Chen.
242
243    *) Исправление: в обработке ошибок при использовании директивы ssl_ocsp.
244
245    *) Исправление: при использовании файловых систем XFS и NFS размер кэша
246       на диске мог считаться некорректно.
247
248    *) Исправление: если сервер memcached возвращал некорректный ответ, в
249       логах могли появляться сообщения "negative size buf in writer".
250
251
252Изменения в nginx 1.19.0                                          26.05.2020
253
254    *) Добавление: проверка клиентских сертификатов с помощью OCSP.
255
256    *) Исправление: при работе с gRPC-бэкендами могли возникать ошибки
257       "upstream sent frame for closed stream".
258
259    *) Исправление: OCSP stapling мог не работать, если не была указана
260       директива resolver.
261
262    *) Исправление: соединения с некорректным HTTP/2 preface не
263       логгировались.
264
265
266Изменения в nginx 1.17.10                                         14.04.2020
267
268    *) Добавление: директива auth_delay.
269
270
271Изменения в nginx 1.17.9                                          03.03.2020
272
273    *) Изменение: теперь nginx не разрешает несколько строк "Host" в
274       заголовке запроса.
275
276    *) Исправление: nginx игнорировал дополнительные строки
277       "Transfer-Encoding" в заголовке запроса.
278
279    *) Исправление: утечки сокетов при использовании HTTP/2.
280
281    *) Исправление: в рабочем процессе мог произойти segmentation fault,
282       если использовался OCSP stapling.
283
284    *) Исправление: в модуле ngx_http_mp4_module.
285
286    *) Исправление: при перенаправлении ошибок с кодом 494 с помощью
287       директивы error_page nginx возвращал ответ с кодом 494 вместо 400.
288
289    *) Исправление: утечки сокетов при использовании подзапросов в модуле
290       njs и директивы aio.
291
292
293Изменения в nginx 1.17.8                                          21.01.2020
294
295    *) Добавление: директива grpc_pass поддерживает переменные.
296
297    *) Исправление: при обработке pipelined-запросов по SSL-соединению мог
298       произойти таймаут; ошибка появилась в 1.17.5.
299
300    *) Исправление: в директиве debug_points при использовании HTTP/2.
301       Спасибо Даниилу Бондареву.
302
303
304Изменения в nginx 1.17.7                                          24.12.2019
305
306    *) Исправление: на старте или во время переконфигурации мог произойти
307       segmentation fault, если в конфигурации использовалась директива
308       rewrite с пустой строкой замены.
309
310    *) Исправление: в рабочем процессе мог произойти segmentation fault,
311       если директива break использовалась совместно с директивой alias или
312       директивой proxy_pass с URI.
313
314    *) Исправление: строка Location заголовка ответа могла содержать мусор,
315       если URI запроса был изменён на URI, содержащий нулевой символ.
316
317    *) Исправление: при возврате перенаправлений с помощью директивы
318       error_page запросы с телом обрабатывались некорректно; ошибка
319       появилась в 0.7.12.
320
321    *) Исправление: утечки сокетов при использовании HTTP/2.
322
323    *) Исправление: при обработке pipelined-запросов по SSL-соединению мог
324       произойти таймаут; ошибка появилась в 1.17.5.
325
326    *) Исправление: в модуле ngx_http_dav_module.
327
328
329Изменения в nginx 1.17.6                                          19.11.2019
330
331    *) Добавление: переменные $proxy_protocol_server_addr и
332       $proxy_protocol_server_port.
333
334    *) Добавление: директива limit_conn_dry_run.
335
336    *) Добавление: переменные $limit_req_status и $limit_conn_status.
337
338
339Изменения в nginx 1.17.5                                          22.10.2019
340
341    *) Добавление: теперь nginx использует вызов ioctl(FIONREAD), если он
342       доступен, чтобы избежать чтения из быстрого соединения в течение
343       долгого времени.
344
345    *) Исправление: неполные закодированные символы в конце URI запроса
346       игнорировались.
347
348    *) Исправление: "/." и "/.." в конце URI запроса не нормализовывались.
349
350    *) Исправление: в директиве merge_slashes.
351
352    *) Исправление: в директиве ignore_invalid_headers.
353       Спасибо Alan Kemp.
354
355    *) Исправление: nginx не собирался с MinGW-w64 gcc 8.1 и новее.
356
357
358Изменения в nginx 1.17.4                                          24.09.2019
359
360    *) Изменение: улучшено детектирование некорректного поведения клиентов в
361       HTTP/2.
362
363    *) Изменение: в обработке непрочитанного тела запроса при возврате
364       ошибок в HTTP/2.
365
366    *) Исправление: директива worker_shutdown_timeout могла не работать при
367       использовании HTTP/2.
368
369    *) Исправление: при использовании HTTP/2 и директивы
370       proxy_request_buffering в рабочем процессе мог произойти segmentation
371       fault.
372
373    *) Исправление: на Windows при использовании SSL уровень записи в лог
374       ошибки ECONNABORTED был "crit" вместо "error".
375
376    *) Исправление: nginx игнорировал лишние данные при использовании
377       chunked transfer encoding.
378
379    *) Исправление: если использовалась директива return и при чтении тела
380       запроса возникала ошибка, nginx всегда возвращал ошибку 500.
381
382    *) Исправление: в обработке ошибок выделения памяти.
383
384
385Изменения в nginx 1.17.3                                          13.08.2019
386
387    *) Безопасность: при использовании HTTP/2 клиент мог вызвать чрезмерное
388       потребление памяти и ресурсов процессора (CVE-2019-9511,
389       CVE-2019-9513, CVE-2019-9516).
390
391    *) Исправление: при использовании сжатия в логах могли появляться
392       сообщения "zero size buf"; ошибка появилась в 1.17.2.
393
394    *) Исправление: при использовании директивы resolver в SMTP
395       прокси-сервере в рабочем процессе мог произойти segmentation fault.
396
397
398Изменения в nginx 1.17.2                                          23.07.2019
399
400    *) Изменение: минимальная поддерживаемая версия zlib - 1.2.0.4.
401       Спасибо Илье Леошкевичу.
402
403    *) Изменение: метод $r->internal_redirect() встроенного перла теперь
404       ожидает закодированный URI.
405
406    *) Добавление: теперь с помощью метода $r->internal_redirect()
407       встроенного перла можно перейти в именованный location.
408
409    *) Исправление: в обработке ошибок во встроенном перле.
410
411    *) Исправление: на старте или во время переконфигурации мог произойти
412       segmentation fault, если в конфигурации использовалось значение hash
413       bucket size больше 64 килобайт.
414
415    *) Исправление: при использовании методов обработки соединений select,
416       poll и /dev/poll nginx мог нагружать процессор во время
417       небуферизованного проксирования и при проксировании
418       WebSocket-соединений.
419
420    *) Исправление: в модуле ngx_http_xslt_filter_module.
421
422    *) Исправление: в модуле ngx_http_ssi_filter_module.
423
424
425Изменения в nginx 1.17.1                                          25.06.2019
426
427    *) Добавление: директива limit_req_dry_run.
428
429    *) Добавление: при использовании директивы hash в блоке upstream пустой
430       ключ хэширования теперь приводит к переключению на round-robin
431       балансировку.
432       Спасибо Niklas Keller.
433
434    *) Исправление: в рабочем процессе мог произойти segmentation fault,
435       если использовалось кэширование и директива image_filter, а ошибки с
436       кодом 415 перенаправлялись с помощью директивы error_page; ошибка
437       появилась в 1.11.10.
438
439    *) Исправление: в рабочем процессе мог произойти segmentation fault,
440       если использовался встроенный перл; ошибка появилась в 1.7.3.
441
442
443Изменения в nginx 1.17.0                                          21.05.2019
444
445    *) Добавление: директивы limit_rate и limit_rate_after поддерживают
446       переменные.
447
448    *) Добавление: директивы proxy_upload_rate и proxy_download_rate в
449       модуле stream поддерживают переменные.
450
451    *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.8.
452
453    *) Изменение: теперь postpone-фильтр собирается всегда.
454
455    *) Исправление: директива include не работала в блоках if и
456       limit_except.
457
458    *) Исправление: в обработке byte ranges.
459
460
461Изменения в nginx 1.15.12                                         16.04.2019
462
463    *) Исправление: в рабочем процессе мог произойти segmentation fault,
464       если в директивах ssl_certificate или ssl_certificate_key
465       использовались переменные и был включён OCSP stapling.
466
467
468Изменения в nginx 1.15.11                                         09.04.2019
469
470    *) Исправление: в директиве ssl_stapling_file на Windows.
471
472
473Изменения в nginx 1.15.10                                         26.03.2019
474
475    *) Изменение: теперь при использовании имени хоста в директиве listen
476       nginx создаёт listen-сокеты для всех адресов, соответствующих этому
477       имени (ранее использовался только первый адрес).
478
479    *) Добавление: диапазоны портов в директиве listen.
480
481    *) Добавление: возможность загрузки SSL-сертификатов и секретных ключей
482       из переменных.
483
484    *) Изменение: переменная $ssl_server_name могла быть пустой при
485       использовании OpenSSL 1.1.1.
486
487    *) Исправление: nginx/Windows не собирался с Visual Studio 2015 и новее;
488       ошибка появилась в 1.15.9.
489
490
491Изменения в nginx 1.15.9                                          26.02.2019
492
493    *) Добавление: директивы ssl_certificate и ssl_certificate_key
494       поддерживают переменные.
495
496    *) Добавление: метод poll теперь доступен на Windows при использовании
497       Windows Vista и новее.
498
499    *) Исправление: если при использовании метода select на Windows
500       происходила ошибка при установлении соединения с бэкендом, nginx
501       ожидал истечения таймаута на установление соединения.
502
503    *) Исправление: директивы proxy_upload_rate и proxy_download_rate в
504       модуле stream работали некорректно при проксировании UDP-пакетов.
505
506
507Изменения в nginx 1.15.8                                          25.12.2018
508
509    *) Добавление: переменная $upstream_bytes_sent.
510       Спасибо Piotr Sikora.
511
512    *) Добавление: новые директивы в скриптах подсветки синтаксиса для vim.
513       Спасибо Геннадию Махомеду.
514
515    *) Исправление: в директиве proxy_cache_background_update.
516
517    *) Исправление: в директиве geo при использовании unix domain
518       listen-сокетов.
519
520    *) Изменение: при использовании директивы ssl_early_data с OpenSSL в
521       логах могли появляться сообщения "ignoring stale global SSL error ...
522       bad length".
523
524    *) Исправление: в nginx/Windows.
525
526    *) Исправление: в модуле ngx_http_autoindex_module на 32-битных
527       платформах.
528
529
530Изменения в nginx 1.15.7                                          27.11.2018
531
532    *) Добавление: директива proxy_requests в модуле stream.
533
534    *) Добавление: параметр "delay" директивы "limit_req".
535       Спасибо Владиславу Шабанову и Петру Щучкину.
536
537    *) Исправление: утечки памяти в случае ошибок при переконфигурации.
538
539    *) Исправление: в переменных $upstream_response_time,
540       $upstream_connect_time и $upstream_header_time.
541
542    *) Исправление: в рабочем процессе мог произойти segmentation fault,
543       если использовался модуль ngx_http_mp4_module на 32-битных
544       платформах.
545
546
547Изменения в nginx 1.15.6                                          06.11.2018
548
549    *) Безопасность: при использовании HTTP/2 клиент мог вызвать чрезмерное
550       потреблению памяти (CVE-2018-16843) и ресурсов процессора
551       (CVE-2018-16844).
552
553    *) Безопасность: при обработке специально созданного mp4-файла модулем
554       ngx_http_mp4_module содержимое памяти рабочего процесса могло быть
555       отправлено клиенту (CVE-2018-16845).
556
557    *) Добавление: директивы proxy_socket_keepalive,
558       fastcgi_socket_keepalive, grpc_socket_keepalive,
559       memcached_socket_keepalive, scgi_socket_keepalive и
560       uwsgi_socket_keepalive.
561
562    *) Исправление: если nginx был собран с OpenSSL 1.1.0, а использовался с
563       OpenSSL 1.1.1, протокол TLS 1.3 всегда был разрешён.
564
565    *) Исправление: при работе с gRPC-бэкендами могло расходоваться большое
566       количество памяти.
567
568
569Изменения в nginx 1.15.5                                          02.10.2018
570
571    *) Исправление: при использовании OpenSSL 1.1.0h и новее в рабочем
572       процессе мог произойти segmentation fault; ошибка появилась в 1.15.4.
573
574    *) Исправление: незначительных потенциальных ошибок.
575
576
577Изменения в nginx 1.15.4                                          25.09.2018
578
579    *) Добавление: теперь директиву ssl_early_data можно использовать с
580       OpenSSL.
581
582    *) Исправление: в модуле ngx_http_uwsgi_module.
583       Спасибо Chris Caputo.
584
585    *) Исправление: соединения к некоторым gRPC-бэкендам могли не
586       кэшироваться при использовании директивы keepalive.
587
588    *) Исправление: при использовании директивы error_page для
589       перенаправления ошибок, возникающих на ранних этапах обработки
590       запроса, в частности ошибок с кодом 400, могла происходить утечка
591       сокетов.
592
593    *) Исправление: директива return при возврате ошибок не изменяла код
594       ответа, если запрос был перенаправлен с помощью директивы error_page.
595
596    *) Исправление: стандартные сообщения об ошибках и ответы модуля
597       ngx_http_autoindex_module содержали атрибут bgcolor, что могло
598       приводить к их некорректному отображению при использовании
599       пользовательских настроек цветов в браузерах.
600       Спасибо Nova DasSarma.
601
602    *) Изменение: уровень логгирования ошибок SSL "no suitable key share" и
603       "no suitable signature algorithm" понижен с уровня crit до info.
604
605
606Изменения в nginx 1.15.3                                          28.08.2018
607
608    *) Добавление: теперь TLSv1.3 можно использовать с BoringSSL.
609
610    *) Добавление: директива ssl_early_data, сейчас доступна при
611       использовании BoringSSL.
612
613    *) Добавление: директивы keepalive_timeout и keepalive_requests в блоке
614       upstream.
615
616    *) Исправление: модуль ngx_http_dav_module при копировании файла поверх
617       существующего файла с помощью метода COPY не обнулял целевой файл.
618
619    *) Исправление: модуль ngx_http_dav_module при перемещении файла между
620       файловыми системами с помощью метода MOVE устанавливал нулевые права
621       доступа на результирующий файл и не сохранял время изменения файла.
622
623    *) Исправление: модуль ngx_http_dav_module при копировании файла с
624       помощью метода COPY для результирующего файла использовал права
625       доступа по умолчанию.
626
627    *) Изменение: некоторые клиенты могли не работать при использовании
628       HTTP/2; ошибка появилась в 1.13.5.
629
630    *) Исправление: nginx не собирался с LibreSSL 2.8.0.
631
632
633Изменения в nginx 1.15.2                                          24.07.2018
634
635    *) Добавление: переменная $ssl_preread_protocol в модуле
636       ngx_stream_ssl_preread_module.
637
638    *) Добавление: теперь при использовании директивы
639       reset_timedout_connection nginx сбрасывает соединения, закрываемые с
640       кодом 444.
641
642    *) Изменение: уровень логгирования ошибок SSL "http request", "https
643       proxy request", "unsupported protocol" и "version too low" понижен с
644       уровня crit до info.
645
646    *) Исправление: запросы к DNS-серверу не отправлялись повторно, если при
647       первой попытке отправки происходила ошибка.
648
649    *) Исправление: параметр reuseport директивы listen игнорировался, если
650       количество рабочих процессов было задано после директивы listen.
651
652    *) Исправление: при использовании OpenSSL 1.1.0 и новее директиву
653       ssl_prefer_server_ciphers нельзя было выключить в виртуальном
654       сервере, если она была включена в сервере по умолчанию.
655
656    *) Исправление: повторное использование SSL-сессий к бэкендам не
657       работало с протоколом TLS 1.3.
658
659
660Изменения в nginx 1.15.1                                          03.07.2018
661
662    *) Добавление: директива random в блоке upstream.
663
664    *) Добавление: улучшена производительность при использовании директив
665       hash и ip_hash совместно с директивой zone.
666
667    *) Добавление: параметр reuseport директивы listen теперь использует
668       SO_REUSEPORT_LB на FreeBSD 12.
669
670    *) Исправление: HTTP/2 server push не работал, если SSL терминировался
671       прокси-сервером перед nginx'ом.
672
673    *) Исправление: директива tcp_nopush всегда использовалась для
674       соединений к бэкендам.
675
676    *) Исправление: при отправке сохранённого на диск тела запроса на
677       gRPC-бэкенд могли возникать ошибки.
678
679
680Изменения в nginx 1.15.0                                          05.06.2018
681
682    *) Изменение: директива "ssl" теперь считается устаревшей; вместо неё
683       следует использовать параметр ssl директивы listen.
684
685    *) Изменение: теперь при использовании директивы listen с параметром ssl
686       nginx определяет отсутствие SSL-сертификатов при тестировании
687       конфигурации.
688
689    *) Добавление: теперь модуль stream умеет обрабатывать несколько
690       входящих UDP-пакетов от клиента в рамках одной сессии.
691
692    *) Исправление: в директиве proxy_cache_valid можно было указать
693       некорректный код ответа.
694
695    *) Исправление: nginx не собирался gcc 8.1.
696
697    *) Исправление: логгирование в syslog останавливалось при изменении
698       локального IP-адреса.
699
700    *) Исправление: nginx не собирался компилятором clang, если был
701       установлен CUDA SDK; ошибка появилась в 1.13.8.
702
703    *) Исправление: при использовании unix domain listen-сокетов на FreeBSD
704       в процессе обновления исполняемого файла в логе могли появляться
705       сообщения "getsockopt(TCP_FASTOPEN) ... failed".
706
707    *) Исправление: nginx не собирался на Fedora 28 Linux.
708
709    *) Исправление: при использовании директивы limit_req заданная скорость
710       обработки запросов могла не соблюдаться.
711
712    *) Исправление: в обработке адресов клиентов при использовании unix
713       domain listen-сокетов для работы с датаграммами на Linux.
714
715    *) Исправление: в обработке ошибок выделения памяти.
716
717
718Изменения в nginx 1.13.12                                         10.04.2018
719
720    *) Исправление: при возврате большого ответа соединения с gRPC-бэкендами
721       могли неожиданно закрываться.
722
723
724Изменения в nginx 1.13.11                                         03.04.2018
725
726    *) Добавление: параметр proxy_protocol директивы listen теперь
727       поддерживает протокол PROXY версии 2.
728
729    *) Исправление: nginx не собирался с OpenSSL 1.1.1 статически на Linux.
730
731    *) Исправление: в параметрах http_404, http_500 и им подобных директивы
732       proxy_next_upstream.
733
734
735Изменения в nginx 1.13.10                                         20.03.2018
736
737    *) Добавление: теперь параметр set в SSI-директиве include позволяет
738       сохранять в переменную любые ответы; максимальный размер ответа
739       задаётся директивой subrequest_output_buffer_size.
740
741    *) Добавление: теперь nginx использует вызов
742       clock_gettime(CLOCK_MONOTONIC), если он доступен, что позволяет
743       избежать некорректного срабатывания таймаутов при изменениях
744       системного времени.
745
746    *) Добавление: параметр "escape=none" директивы log_format.
747       Спасибо Johannes Baiter и Calin Don.
748
749    *) Добавление: переменная $ssl_preread_alpn_protocols в модуле
750       ngx_stream_ssl_preread_module.
751
752    *) Добавление: модуль ngx_http_grpc_module.
753
754    *) Исправление: в обработке ошибок выделения памяти в директиве geo.
755
756    *) Исправление: при использовании переменных в директиве
757       auth_basic_user_file в лог мог выводиться символ '\0'.
758       Спасибо Вадиму Филимонову.
759
760
761Изменения в nginx 1.13.9                                          20.02.2018
762
763    *) Добавление: поддержка HTTP/2 server push; директивы http2_push и
764       http2_push_preload.
765
766    *) Исправление: при использовании кэша в логах могли появляться
767       сообщения "header already sent"; ошибка появилась в 1.9.13.
768
769    *) Исправление: при использовании директивы ssl_verify_client в рабочем
770       процессе мог произойти segmentation fault, если в виртуальном сервере
771       не был указан SSL-сертификат.
772
773    *) Исправление: в модуле ngx_http_v2_module.
774
775    *) Исправление: в модуле ngx_http_dav_module.
776
777
778Изменения в nginx 1.13.8                                          26.12.2017
779
780    *) Добавление: теперь при использовании параметра transparent директив
781       proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind
782       nginx автоматически сохраняет capability CAP_NET_RAW в рабочих
783       процессах.
784
785    *) Добавление: улучшения в определении размера строки кэша процессора.
786       Спасибо Debayan Ghosh.
787
788    *) Добавление: новые директивы в скриптах подсветки синтаксиса для vim.
789       Спасибо Геннадию Махомеду.
790
791    *) Исправление: процедура обновления исполняемого файла не работала,
792       если после завершения родительского процесса новым родительским
793       процессом nginx'а становился процесс с PID, отличным от 1.
794
795    *) Исправление: модуль ngx_http_autoindex_module неправильно обрабатывал
796       запросы с телом.
797
798    *) Исправление: в директиве proxy_limit_rate при использовании с
799       директивой keepalive.
800
801    *) Исправление: при использовании "proxy_buffering off" часть ответа
802       могла буферизироваться, если клиентское соединение использовало SSL.
803       Спасибо Patryk Lesiewicz.
804
805    *) Исправление: в директиве proxy_cache_background_update.
806
807    *) Исправление: переменную вида "${name}" с именем в фигурных скобках
808       нельзя было использовать в начале параметра не заключив весь параметр
809       в кавычки.
810
811
812Изменения в nginx 1.13.7                                          21.11.2017
813
814    *) Исправление: в переменной $upstream_status.
815
816    *) Исправление: в рабочем процессе мог произойти segmentation fault,
817       если бэкенд возвращал ответ "101 Switching Protocols" на подзапрос.
818
819    *) Исправление: если при переконфигурации изменялся размер зоны
820       разделяемой памяти и переконфигурация завершалась неудачно, то в
821       главном процессе происходил segmentation fault.
822
823    *) Исправление: в модуле ngx_http_fastcgi_module.
824
825    *) Исправление: nginx возвращал ошибку 500, если в директиве
826       xslt_stylesheet были заданы параметры без использования переменных.
827
828    *) Изменение: при использовании варианта библиотеки zlib от Intel в лог
829       писались сообщения "gzip filter failed to use preallocated memory".
830
831    *) Исправление: директива worker_shutdown_timeout не работала при
832       использовании почтового прокси-сервера и при проксировании
833       WebSocket-соединений.
834
835
836Изменения в nginx 1.13.6                                          10.10.2017
837
838    *) Исправление: при использовании директивы ssl_preread в модуле stream
839       не работало переключение на следующий бэкенд.
840
841    *) Исправление: в модуле ngx_http_v2_module.
842       Спасибо Piotr Sikora.
843
844    *) Исправление: nginx не поддерживал даты после 2038 года на 32-битных
845       платформах с 64-битным time_t.
846
847    *) Исправление: в обработке дат до 1970 года и после 10000 года.
848
849    *) Исправление: в модуле stream таймауты ожидания UDP-пакетов от
850       бэкендов не логгировались или логгировались на уровне info вместо
851       error.
852
853    *) Исправление: при использовании HTTP/2 nginx мог вернуть ошибку 400,
854       не указав в логе причину.
855
856    *) Исправление: в обработке повреждённых файлов кэша.
857
858    *) Исправление: при кэшировании ошибок, перехваченных error_page, не
859       учитывались заголовки управления кэшированием.
860
861    *) Исправление: при использовании HTTP/2 тело запроса могло быть
862       повреждено.
863
864    *) Исправление: в обработке адресов клиентов при использовании unix
865       domain сокетов.
866
867    *) Исправление: при использовании директивы "hash ... consistent" в
868       блоке upstream nginx нагружал процессор, если использовались большие
869       веса и все или почти все бэкенды были недоступны.
870
871
872Изменения в nginx 1.13.5                                          05.09.2017
873
874    *) Добавление: переменная $ssl_client_escaped_cert.
875
876    *) Исправление: директива ssl_session_ticket_key и параметр include
877       директивы geo не работали на Windows.
878
879    *) Исправление: на 32-битных платформах при запросе более 4 гигабайт с
880       помощью нескольких диапазонов возвращалась некорректная длина ответа.
881
882    *) Исправление: директива "expires modified" и обработка строки If-Range
883       заголовка запроса не учитывали время последнего изменения ответа,
884       если использовалось проксирование без кэширования.
885
886
887Изменения в nginx 1.13.4                                          08.08.2017
888
889    *) Добавление: модуль ngx_http_mirror_module.
890
891    *) Исправление: клиентские соединения могли сбрасываться при
892       тестировании конфигурации, если использовался параметр reuseport
893       директивы listen на Linux.
894
895    *) Исправление: тело запроса могло быть недоступно в подзапросах, если
896       оно было сохранено в файл и использовалось проксирование.
897
898    *) Исправление: очистка кэша по max_size не работала на Windows.
899
900    *) Исправление: любое выделение разделяемой памяти на Windows требовало
901       4096 байт памяти.
902
903    *) Исправление: при использовании директивы zone в блоке upstream на
904       Windows рабочий процесс мог завершаться аварийно.
905
906
907Изменения в nginx 1.13.3                                          11.07.2017
908
909    *) Безопасность: специально созданный запрос мог вызвать целочисленное
910       переполнение в range-фильтре и последующую некорректную обработку
911       запрошенных диапазонов, что потенциально могло привести к утечке
912       конфиденциальной информации (CVE-2017-7529).
913
914
915Изменения в nginx 1.13.2                                          27.06.2017
916
917    *) Изменение: теперь при запросе диапазона, начинающегося с 0, из
918       пустого файла nginx возвращает ответ 200 вместо 416.
919
920    *) Добавление: директива add_trailer.
921       Спасибо Piotr Sikora.
922
923    *) Исправление: nginx не собирался под Cygwin и NetBSD; ошибка появилась
924       в 1.13.0.
925
926    *) Исправление: nginx не собирался под MSYS2 / MinGW 64-bit.
927       Спасибо Orgad Shaneh.
928
929    *) Исправление: при использовании SSI с большим количеством подзапросов
930       и proxy_pass с переменными в рабочем процессе мог произойти
931       segmentation fault.
932
933    *) Исправление: в модуле ngx_http_v2_module.
934       Спасибо Piotr Sikora.
935
936
937Изменения в nginx 1.13.1                                          30.05.2017
938
939    *) Добавление: теперь в качестве параметра директивы set_real_ip_from
940       можно указывать имя хоста.
941
942    *) Добавление: улучшения в скриптах подсветки синтаксиса для vim.
943
944    *) Добавление: директива worker_cpu_affinity теперь работает на
945       DragonFly BSD.
946       Спасибо Sepherosa Ziehau.
947
948    *) Исправление: SSL renegotiation в соединениях к бэкендам не работал
949       при использовании OpenSSL до 1.1.0.
950
951    *) Изменение: nginx не собирался с Oracle Developer Studio 12.5.
952
953    *) Изменение: теперь cache manager пропускает заблокированные записи при
954       очистке кэша по max_size.
955
956    *) Исправление: клиентские SSL-соединения сразу закрывались, если
957       использовался отложенный accept и параметр proxy_protocol директивы
958       listen.
959
960    *) Исправление: в директиве proxy_cache_background_update.
961
962    *) Изменение: теперь директива tcp_nodelay устанавливает опцию
963       TCP_NODELAY перед SSL handshake.
964
965
966Изменения в nginx 1.13.0                                          25.04.2017
967
968    *) Изменение: теперь SSL renegotiation допускается в соединениях к
969       бэкендам.
970
971    *) Добавление: параметры rcvbuf и sndbuf директив listen в почтовом
972       прокси-сервере и модуле stream.
973
974    *) Добавление: директивы return и error_page теперь могут использоваться
975       для возврата перенаправлений с кодом 308.
976       Спасибо Simon Leblanc.
977
978    *) Добавление: параметр TLSv1.3 в директиве ssl_protocols.
979
980    *) Добавление: при логгировании сигналов теперь указывается PID
981       отправившего сигнал процесса.
982
983    *) Исправление: в обработке ошибок выделения памяти.
984
985    *) Исправление: если сервер в модуле stream слушал на wildcard-адресе,
986       исходящий адрес ответного UDP-пакета мог отличаться от адреса
987       назначения исходного пакета.
988
989
990Изменения в nginx 1.11.13                                         04.04.2017
991
992    *) Добавление: параметр http_429 в директивах proxy_next_upstream,
993       fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream.
994       Спасибо Piotr Sikora.
995
996    *) Исправление: в обработке ошибок выделения памяти.
997
998    *) Исправление: при использовании директив sendfile и timer_resolution
999       на Linux запросы могли зависать.
1000
1001    *) Исправление: при использовании с подзапросами директив sendfile и
1002       aio_write запросы могли зависать.
1003
1004    *) Исправление: в модуле ngx_http_v2_module.
1005       Спасибо Piotr Sikora.
1006
1007    *) Исправление: при использовании HTTP/2 в рабочем процессе мог
1008       произойти segmentation fault.
1009
1010    *) Исправление: запросы могли зависать при использовании с подзапросами
1011       директив limit_rate, sendfile_max_chunk, limit_req или метода
1012       $r->sleep() встроенного перла.
1013
1014    *) Исправление: в модуле ngx_http_slice_module.
1015
1016
1017Изменения в nginx 1.11.12                                         24.03.2017
1018
1019    *) Исправление: nginx мог нагружать процессор; ошибка появилась в
1020       1.11.11.
1021
1022
1023Изменения в nginx 1.11.11                                         21.03.2017
1024
1025    *) Добавление: директива worker_shutdown_timeout.
1026
1027    *) Добавление: улучшения в скриптах подсветки синтаксиса для vim.
1028       Спасибо Wei-Ko Kao.
1029
1030    *) Исправление: при попытке установить переменную $limit_rate в пустую
1031       строку в рабочем процессе мог произойти segmentation fault.
1032
1033    *) Исправление: директивы proxy_cache_background_update,
1034       fastcgi_cache_background_update, scgi_cache_background_update и
1035       uwsgi_cache_background_update могли работать некорректно, если
1036       использовалась директива if.
1037
1038    *) Исправление: в рабочем процессе мог произойти segmentation fault,
1039       если количество large_client_header_buffers в виртуальном сервере
1040       отличалось от такового в сервере по умолчанию.
1041
1042    *) Исправление: в почтовом прокси-сервере.
1043
1044
1045Изменения в nginx 1.11.10                                         14.02.2017
1046
1047    *) Изменение: формат заголовка кэша был изменен, ранее закэшированные
1048       ответы будут загружены заново.
1049
1050    *) Добавление: поддержка расширений stale-while-revalidate и
1051       stale-if-error в строке "Cache-Control" в заголовке ответа бэкенда.
1052
1053    *) Добавление: директивы proxy_cache_background_update,
1054       fastcgi_cache_background_update, scgi_cache_background_update и
1055       uwsgi_cache_background_update.
1056
1057    *) Добавление: теперь nginx может кэшировать ответы со строкой Vary
1058       заголовка длиной до 128 символов (вместо 42 символов в предыдущих
1059       версиях).
1060
1061    *) Добавление: параметр build директивы server_tokens.
1062       Спасибо Tom Thorogood.
1063
1064    *) Исправление: при обработке запросов со строкой "Expect: 100-continue"
1065       в заголовке запроса в логах могли появляться сообщения "[crit]
1066       SSL_write() failed".
1067
1068    *) Исправление: модуль ngx_http_slice_module не работал в именованных
1069       location'ах.
1070
1071    *) Исправление: при использовании AIO после перенаправления запроса с
1072       помощью X-Accel-Redirect в рабочем процессе мог произойти
1073       segmentation fault.
1074
1075    *) Исправление: уменьшено потребление памяти для долгоживущих запросов,
1076       использующих сжатие.
1077
1078
1079Изменения в nginx 1.11.9                                          24.01.2017
1080
1081    *) Исправление: при использовании модуля stream nginx мог нагружать
1082       процессор; ошибка появилась в 1.11.5.
1083
1084    *) Исправление: метод аутентификации EXTERNAL в почтовом прокси-сервере
1085       можно было использовать, даже если он не был разрешён в конфигурации.
1086
1087    *) Исправление: при использовании директивы ssl_verify_client модуля
1088       stream в рабочем процессе мог произойти segmentation fault.
1089
1090    *) Исправление: директива ssl_verify_client модуля stream могла не
1091       работать.
1092
1093    *) Исправление: при исчерпании рабочим процессом свободных соединений
1094       keepalive-соединения могли закрываться излишне агрессивно.
1095       Спасибо Joel Cunningham.
1096
1097    *) Исправление: при использовании директивы sendfile на FreeBSD и macOS
1098       мог возвращаться некорректный ответ; ошибка появилась в 1.7.8.
1099
1100    *) Исправление: при использовании директивы aio_write ответ мог
1101       сохраняться в кэш не полностью.
1102
1103    *) Исправление: при использовании директивы aio_write могла происходить
1104       утечка сокетов.
1105
1106
1107Изменения в nginx 1.11.8                                          27.12.2016
1108
1109    *) Добавление: директива absolute_redirect.
1110
1111    *) Добавление: параметр escape директивы log_format.
1112
1113    *) Добавление: проверка клиентских SSL-сертификатов в модуле stream.
1114
1115    *) Добавление: директива ssl_session_ticket_key поддерживает шифрование
1116       TLS session tickets с помощью AES256 при использовании с 80-байтными
1117       ключами.
1118
1119    *) Добавление: поддержка vim-commentary в скриптах для vim.
1120       Спасибо Armin Grodon.
1121
1122    *) Исправление: рекурсия при получении значений переменных не
1123       ограничивалась.
1124
1125    *) Исправление: в модуле ngx_stream_ssl_preread_module.
1126
1127    *) Исправление: если сервер, описанный в блоке upstream в модуле stream,
1128       был признан неработающим, то после истечения fail_timeout он
1129       признавался работающим только после завершения тестового соединения;
1130       теперь достаточно, чтобы соединение было успешно установлено.
1131
1132    *) Исправление: nginx/Windows не собирался с 64-битным Visual Studio.
1133
1134    *) Исправление: nginx/Windows не собирался с OpenSSL 1.1.0.
1135
1136
1137Изменения в nginx 1.11.7                                          13.12.2016
1138
1139    *) Изменение: переменная $ssl_client_verify теперь в случае ошибки
1140       проверки клиентского сертификата содержит строку с описанием ошибки,
1141       например, "FAILED:certificate has expired".
1142
1143    *) Добавление: переменные $ssl_ciphers, $ssl_curves,
1144       $ssl_client_v_start, $ssl_client_v_end и $ssl_client_v_remain.
1145
1146    *) Добавление: параметр volatile директивы map.
1147
1148    *) Исправление: при сборке динамических модулей не учитывались заданные
1149       для модуля зависимости.
1150
1151    *) Исправление: при использовании HTTP/2 и директив limit_req или
1152       auth_request тело запроса могло быть повреждено; ошибка появилась в
1153       1.11.0.
1154
1155    *) Исправление: при использовании HTTP/2 в рабочем процессе мог
1156       произойти segmentation fault; ошибка появилась в 1.11.3.
1157
1158    *) Исправление: в модуле ngx_http_mp4_module.
1159       Спасибо Congcong Hu.
1160
1161    *) Исправление: в модуле ngx_http_perl_module.
1162
1163
1164Изменения в nginx 1.11.6                                          15.11.2016
1165
1166    *) Изменение: формат переменных $ssl_client_s_dn и $ssl_client_i_dn
1167       изменён на соответствующий RFC 2253 (RFC 4514); значения в старом
1168       формате доступны через переменные $ssl_client_s_dn_legacy и
1169       $ssl_client_i_dn_legacy.
1170
1171    *) Изменение: при сохранении временных файлов в каталоге кэша они теперь
1172       располагаются не в отдельном подкаталоге для временных файлов, а в
1173       том же подкаталоге, что и соответствующие файлы в кэше.
1174
1175    *) Добавление: поддержка метода аутентификации EXTERNAL в почтовом
1176       прокси-сервере.
1177       Спасибо Robert Norris.
1178
1179    *) Добавление: поддержка WebP в модуле ngx_http_image_filter_module.
1180
1181    *) Добавление: директива proxy_method поддерживает переменные.
1182       Спасибо Дмитрию Лазуркину.
1183
1184    *) Добавление: директива http2_max_requests в модуле ngx_http_v2_module.
1185
1186    *) Добавление: директивы proxy_cache_max_range_offset,
1187       fastcgi_cache_max_range_offset, scgi_cache_max_range_offset и
1188       uwsgi_cache_max_range_offset.
1189
1190    *) Исправление: плавное завершение старых рабочих процессов могло
1191       занимать бесконечное время при использовании HTTP/2.
1192
1193    *) Исправление: в модуле ngx_http_mp4_module.
1194
1195    *) Исправление: при проксировании WebSocket-соединений и включённом
1196       кэшировании в логах могли появляться сообщения "ignore long locked
1197       inactive cache entry".
1198
1199    *) Исправление: если во время SSL handshake с бэкендом происходил
1200       таймаут, nginx ничего не писал в лог и возвращал ответ с кодом 502
1201       вместо 504.
1202
1203
1204Изменения в nginx 1.11.5                                          11.10.2016
1205
1206    *) Изменение: параметр configure --with-ipv6 упразднён, поддержка IPv6
1207       теперь собирается автоматически.
1208
1209    *) Изменение: теперь, если в блоке upstream не оказалось доступных
1210       серверов, nginx не сбрасывает статистику ошибок всех серверов, как
1211       делал ранее, а ожидает истечения fail_timeout.
1212
1213    *) Добавление: модуль ngx_stream_ssl_preread_module.
1214
1215    *) Добавление: директива server в блоке upstream поддерживает параметр
1216       max_conns.
1217
1218    *) Добавление: параметр configure --with-compat.
1219
1220    *) Добавление: параметры manager_files, manager_threshold и
1221       manager_sleep директив proxy_cache_path, fastcgi_cache_path,
1222       scgi_cache_path и uwsgi_cache_path.
1223
1224    *) Исправление: при сборке perl-модуля не использовались флаги, заданные
1225       с помощью параметра configure --with-ld-opt.
1226
1227    *) Исправление: в директиве add_after_body при использовании совместно с
1228       директивой sub_filter.
1229
1230    *) Исправление: в переменной $realip_remote_addr.
1231
1232    *) Исправление: директивы dav_access, proxy_store_access,
1233       fastcgi_store_access, scgi_store_access и uwsgi_store_access
1234       игнорировали права, заданные для пользователя.
1235
1236    *) Исправление: unix domain listen-сокеты могли не наследоваться при
1237       обновлении исполняемого файла на Linux.
1238
1239    *) Исправление: nginx возвращал ошибку 400 на запросы с символом "-" в
1240       HTTP-методе.
1241
1242
1243Изменения в nginx 1.11.4                                          13.09.2016
1244
1245    *) Добавление: переменная $upstream_bytes_received.
1246
1247    *) Добавление: переменные $bytes_received, $session_time, $protocol,
1248       $status, $upstream_addr, $upstream_bytes_sent,
1249       $upstream_bytes_received, $upstream_connect_time,
1250       $upstream_first_byte_time и $upstream_session_time в модуле stream.
1251
1252    *) Добавление: модуль ngx_stream_log_module.
1253
1254    *) Добавление: параметр proxy_protocol в директиве listen, переменные
1255       $proxy_protocol_addr и $proxy_protocol_port в модуле stream.
1256
1257    *) Добавление: модуль ngx_stream_realip_module.
1258
1259    *) Исправление: nginx не собирался с модулем stream и модулем
1260       ngx_http_ssl_module, но без модуля ngx_stream_ssl_module; ошибка
1261       появилась в 1.11.3.
1262
1263    *) Добавление: опция сокета IP_BIND_ADDRESS_NO_PORT не использовалась;
1264       ошибка появилась в 1.11.2.
1265
1266    *) Исправление: в параметре ranges директивы geo.
1267
1268    *) Исправление: при использовании директив "aio threads" и sendfile мог
1269       возвращаться некорректный ответ; ошибка появилась в 1.9.13.
1270
1271
1272Изменения в nginx 1.11.3                                          26.07.2016
1273
1274    *) Изменение: теперь accept_mutex по умолчанию выключен.
1275
1276    *) Добавление: теперь nginx использует EPOLLEXCLUSIVE на Linux.
1277
1278    *) Добавление: модуль ngx_stream_geo_module.
1279
1280    *) Добавление: модуль ngx_stream_geoip_module.
1281
1282    *) Добавление: модуль ngx_stream_split_clients_module.
1283
1284    *) Добавление: директивы proxy_pass и proxy_ssl_name в модуле stream
1285       поддерживают переменные.
1286
1287    *) Исправление: утечки сокетов при использовании HTTP/2.
1288
1289    *) Исправление: в configure.
1290       Спасибо Piotr Sikora.
1291
1292
1293Изменения в nginx 1.11.2                                          05.07.2016
1294
1295    *) Изменение: теперь nginx всегда использует внутренние реализации MD5 и
1296       SHA1; параметры configure --with-md5 и --with-sha1 упразднены.
1297
1298    *) Добавление: поддержка переменных в модуле stream.
1299
1300    *) Добавление: модуль ngx_stream_map_module.
1301
1302    *) Добавление: модуль ngx_stream_return_module.
1303
1304    *) Добавление: в директивах proxy_bind, fastcgi_bind, memcached_bind,
1305       scgi_bind и uwsgi_bind теперь можно указывать порт.
1306
1307    *) Добавление: теперь nginx использует опцию сокета
1308       IP_BIND_ADDRESS_NO_PORT, если она доступна.
1309
1310    *) Исправление: при использовании HTTP/2 и директивы
1311       proxy_request_buffering в рабочем процессе мог произойти segmentation
1312       fault.
1313
1314    *) Исправление: при использовании HTTP/2 к запросам, передаваемым на
1315       бэкенд, всегда добавлялась строка заголовка "Content-Length", даже
1316       если у запроса не было тела.
1317
1318    *) Исправление: при использовании HTTP/2 в логах могли появляться
1319       сообщения "http request count is zero".
1320
1321    *) Исправление: при использовании директивы sub_filter могло
1322       буферизироваться больше данных, чем это необходимо; проблема
1323       появилась в 1.9.4.
1324
1325
1326Изменения в nginx 1.11.1                                          31.05.2016
1327
1328    *) Безопасность: при записи тела специально созданного запроса во
1329       временный файл в рабочем процессе мог происходить segmentation fault
1330       (CVE-2016-4450); ошибка появилась в 1.3.9.
1331
1332
1333Изменения в nginx 1.11.0                                          24.05.2016
1334
1335    *) Добавление: параметр transparent директив proxy_bind, fastcgi_bind,
1336       memcached_bind, scgi_bind и uwsgi_bind.
1337
1338    *) Добавление: переменная $request_id.
1339
1340    *) Добавление: директива map поддерживает комбинации нескольких
1341       переменных в качестве результирующих значений.
1342
1343    *) Добавление: теперь при использовании метода epoll nginx проверяет,
1344       поддерживает ли ядро события EPOLLRDHUP, и соответственно
1345       оптимизирует обработку соединений.
1346
1347    *) Добавление: директивы ssl_certificate и ssl_certificate_key теперь
1348       можно указывать несколько раз для загрузки сертификатов разных типов
1349       (например, RSA и ECDSA).
1350
1351    *) Добавление: при использовании OpenSSL 1.0.2 и новее с помощью
1352       директивы ssl_ecdh_curve теперь можно задать список кривых; по
1353       умолчанию используется встроенный в OpenSSL список кривых.
1354
1355    *) Изменение: для использования DHE-шифров теперь надо явно задавать
1356       файл параметров с помощью директивы ssl_dhparam.
1357
1358    *) Добавление: переменная $proxy_protocol_port.
1359
1360    *) Добавление: переменная $realip_remote_port в модуле
1361       ngx_http_realip_module.
1362
1363    *) Добавление: модуль ngx_http_realip_module теперь позволяет
1364       устанавливать не только адрес, но и порт клиента.
1365
1366    *) Изменение: при попытке запросить виртуальный сервер, отличающийся от
1367       согласованного в процессе SSL handshake, теперь возвращается ответ
1368       "421 Misdirected Request"; это улучшает совместимость с некоторыми
1369       HTTP/2-клиентами в случае использования клиентских сертификатов.
1370
1371    *) Изменение: HTTP/2-клиенты теперь могут сразу присылать тело запроса;
1372       директива http2_body_preread_size позволяет указать размер буфера,
1373       который будет использоваться до того, как nginx начнёт читать тело.
1374
1375    *) Исправление: при использовании директивы proxy_cache_bypass не
1376       обновлялись закэшированные ошибочные ответы.
1377
1378
1379Изменения в nginx 1.9.15                                          19.04.2016
1380
1381    *) Исправление: при использовании HHVM в качестве FastCGI-сервера могли
1382       возникать ошибки "recv() failed".
1383
1384    *) Исправление: при использовании HTTP/2 и директив limit_req или
1385       auth_request при чтении тела запроса мог произойти таймаут или ошибка
1386       "client violated flow control"; ошибка появилась в 1.9.14.
1387
1388    *) Изменение: при использовании HTTP/2 ответ мог не показываться
1389       некоторыми браузерами, если тело запроса было прочитано не целиком;
1390       ошибка появилась в 1.9.14.
1391
1392    *) Исправление: при использовании директивы "aio threads" соединения
1393       могли зависать.
1394       Спасибо Mindaugas Rasiukevicius.
1395
1396
1397Изменения в nginx 1.9.14                                          05.04.2016
1398
1399    *) Добавление: совместимость с OpenSSL 1.1.0.
1400
1401    *) Добавление: директивы proxy_request_buffering,
1402       fastcgi_request_buffering, scgi_request_buffering и
1403       uwsgi_request_buffering теперь работают при использовании HTTP/2.
1404
1405    *) Исправление: при использовании HTTP/2 в логах могли появляться
1406       сообщения "zero size buf in output".
1407
1408    *) Исправление: при использовании HTTP/2 директива client_max_body_size
1409       могла работать неверно.
1410
1411    *) Исправление: незначительных ошибок логгирования.
1412
1413
1414Изменения в nginx 1.9.13                                          29.03.2016
1415
1416    *) Изменение: неидемпотентные запросы (POST, LOCK, PATCH) теперь по
1417       умолчанию не передаются на другой сервер, если запрос уже был
1418       отправлен на бэкенд; параметр non_idempotent директивы
1419       proxy_next_upstream явно разрешает повторять такие запросы.
1420
1421    *) Добавление: модуль ngx_http_perl_module теперь можно собрать
1422       динамически.
1423
1424    *) Добавление: поддержка UDP в модуле stream.
1425
1426    *) Добавление: директива aio_write.
1427
1428    *) Добавление: теперь cache manager следит за количеством элементов в
1429       кэше и старается не допускать переполнений зоны разделяемой памяти.
1430
1431    *) Исправление: при использовании директив sendfile и aio с подзапросами
1432       в логах могли появляться сообщения "task already active" и "second
1433       aio post".
1434
1435    *) Исправление: при использовании кэширования в логах могли появляться
1436       сообщения "zero size buf in output", если клиент закрывал соединение
1437       преждевременно.
1438
1439    *) Исправление: при использовании кэширования соединения с клиентами
1440       могли закрываться без необходимости.
1441       Спасибо Justin Li.
1442
1443    *) Исправление: nginx мог нагружать процессор при использовании
1444       директивы sendfile на Linux и Solaris, если отправляемый файл был
1445       изменён в процессе отправки.
1446
1447    *) Исправление: при использовании директив sendfile и "aio threads"
1448       соединения могли зависать.
1449
1450    *) Исправление: в директивах proxy_pass, fastcgi_pass, scgi_pass и
1451       uwsgi_pass при использовании переменных.
1452       Спасибо Piotr Sikora.
1453
1454    *) Исправление: в модуле ngx_http_sub_filter_module.
1455
1456    *) Исправление: если в закэшированном соединении к бэкенду происходила
1457       ошибка, запрос передавался на другой сервер без учёта директивы
1458       proxy_next_upstream.
1459
1460    *) Исправление: ошибки "CreateFile() failed" при создании временных
1461       файлов на Windows.
1462
1463
1464Изменения в nginx 1.9.12                                          24.02.2016
1465
1466    *) Добавление: кодирование Хаффмана заголовков ответов в HTTP/2.
1467       Спасибо Владу Краснову.
1468
1469    *) Добавление: директива worker_cpu_affinity теперь поддерживает более
1470       64 процессоров.
1471
1472    *) Исправление: совместимость со сторонними модулями на C++; ошибка
1473       появилась в 1.9.11.
1474       Спасибо Piotr Sikora.
1475
1476    *) Исправление: nginx не собирался статически с OpenSSL на Linux; ошибка
1477       появилась в 1.9.11.
1478
1479    *) Исправление: директива "add_header ... always" с пустым значением не
1480       удаляла из заголовков ошибочных ответов строки Last-Modified и ETag.
1481
1482    *) Изменение: при использовании OpenSSL 1.0.2f в логах могли появляться
1483       сообщения "called a function you should not call" и "shutdown while
1484       in init".
1485
1486    *) Исправление: ошибочные заголовки могли логгироваться некорректно.
1487
1488    *) Исправление: утечки сокетов при использовании HTTP/2.
1489
1490    *) Исправление: в модуле ngx_http_v2_module.
1491
1492
1493Изменения в nginx 1.9.11                                          09.02.2016
1494
1495    *) Добавление: теперь resolver поддерживает TCP.
1496
1497    *) Добавление: динамические модули.
1498
1499    *) Исправление: при использовании HTTP/2 переменная $request_length не
1500       учитывала размер заголовков запроса.
1501
1502    *) Исправление: в модуле ngx_http_v2_module.
1503
1504
1505Изменения в nginx 1.9.10                                          26.01.2016
1506
1507    *) Безопасность: при использовании директивы resolver во время обработки
1508       ответов DNS-сервера могло происходить разыменование некорректного
1509       адреса, что позволяло атакующему, имеющему возможность подделывать
1510       UDP-пакеты от DNS-сервера, вызвать segmentation fault в рабочем
1511       процессе (CVE-2016-0742).
1512
1513    *) Безопасность: при использовании директивы resolver во время обработки
1514       CNAME-записей могло произойти обращение к ранее освобождённой памяти,
1515       что позволяло атакующему, имеющему возможность инициировать
1516       преобразование произвольных имён в адреса, вызвать segmentation fault
1517       в рабочем процессе, а также потенциально могло иметь другие
1518       последствия (CVE-2016-0746).
1519
1520    *) Безопасность: при использовании директивы resolver во время обработки
1521       CNAME-записей не во всех случаях проверялось ограничение на
1522       максимальное количество записей в цепочке, что позволяло атакующему,
1523       имеющему возможность инициировать преобразование произвольных имён в
1524       адреса, вызвать чрезмерное потребление ресурсов рабочими процессами
1525       (CVE-2016-0747).
1526
1527    *) Добавление: параметр auto директивы worker_cpu_affinity.
1528
1529    *) Исправление: параметр proxy_protocol директивы listen не работал с
1530       IPv6 listen-сокетами.
1531
1532    *) Исправление: при использовании директивы keepalive соединения к
1533       бэкендам могли кэшироваться некорректно.
1534
1535    *) Исправление: после перенаправления запроса с помощью X-Accel-Redirect
1536       при проксировании использовался HTTP-метод оригинального запроса.
1537
1538
1539Изменения в nginx 1.9.9                                           09.12.2015
1540
1541    *) Исправление: проксирование в unix domain сокеты не работало при
1542       использовании переменных; ошибка появилась в 1.9.8.
1543
1544
1545Изменения в nginx 1.9.8                                           08.12.2015
1546
1547    *) Добавление: поддержка pwritev().
1548
1549    *) Добавление: директива include в блоке upstream.
1550
1551    *) Добавление: модуль ngx_http_slice_module.
1552
1553    *) Исправление: при использовании LibreSSL в рабочем процессе мог
1554       произойти segmentation fault; ошибка появилась в 1.9.6.
1555
1556    *) Исправление: nginx мог не собираться на OS X.
1557
1558
1559Изменения в nginx 1.9.7                                           17.11.2015
1560
1561    *) Добавление: параметр nohostname логгирования в syslog.
1562
1563    *) Добавление: директива proxy_cache_convert_head.
1564
1565    *) Добавление: переменная $realip_remote_addr в модуле
1566       ngx_http_realip_module.
1567
1568    *) Исправление: директива expires могла не срабатывать при использовании
1569       переменных.
1570
1571    *) Исправление: при использовании HTTP/2 в рабочем процессе мог
1572       произойти segmentation fault; ошибка появилась в 1.9.6.
1573
1574    *) Исправление: если nginx был собран с модулем ngx_http_v2_module,
1575       протокол HTTP/2 мог быть использован клиентом, даже если не был
1576       указан параметр http2 директивы listen.
1577
1578    *) Исправление: в модуле ngx_http_v2_module.
1579
1580
1581Изменения в nginx 1.9.6                                           27.10.2015
1582
1583    *) Исправление: при использовании HTTP/2 в рабочем процессе мог
1584       произойти segmentation fault.
1585       Спасибо Piotr Sikora и Denis Andzakovic.
1586
1587    *) Исправление: при использовании HTTP/2 переменная $server_protocol
1588       была пустой.
1589
1590    *) Исправление: SSL-соединения к бэкендам в модуле stream могли
1591       неожиданно завершаться по таймауту.
1592
1593    *) Исправление: при использовании различных настроек ssl_session_cache в
1594       разных виртуальных серверах в рабочем процессе мог произойти
1595       segmentation fault.
1596
1597    *) Исправление: nginx/Windows не собирался с MinGW gcc; ошибка появилась
1598       в 1.9.4.
1599       Спасибо Kouhei Sutou.
1600
1601    *) Исправление: при использовании директивы timer_resolution на Windows
1602       время не обновлялось.
1603
1604    *) Незначительные исправления и улучшения.
1605       Спасибо Markus Linnala, Kurtis Nusbaum и Piotr Sikora.
1606
1607
1608Изменения в nginx 1.9.5                                           22.09.2015
1609
1610    *) Добавление: модуль ngx_http_v2_module (заменяет модуль
1611       ngx_http_spdy_module).
1612       Спасибо Dropbox и Automattic за спонсирование разработки.
1613
1614    *) Изменение: теперь по умолчанию директива output_buffers использует
1615       два буфера.
1616
1617    *) Изменение: теперь nginx ограничивает максимальную вложенность
1618       подзапросов, а не количество одновременных подзапросов.
1619
1620    *) Изменение: теперь при возврате ответов из кэша nginx проверяет ключ
1621       полностью.
1622       Спасибо Геннадию Махомеду и Сергею Брестеру.
1623
1624    *) Исправление: при использовании кэша в логах могли появляться
1625       сообщения "header already sent"; ошибка появилась в 1.7.5.
1626
1627    *) Исправление: при использовании CephFS и директивы timer_resolution на
1628       Linux в логах могли появляться сообщения "writev() failed (4:
1629       Interrupted system call)".
1630
1631    *) Исправление: в обработке ошибок конфигурации.
1632       Спасибо Markus Linnala.
1633
1634    *) Исправление: при использовании директивы sub_filter на уровне http в
1635       рабочем процессе происходил segmentation fault; ошибка появилась в
1636       1.9.4.
1637
1638
1639Изменения в nginx 1.9.4                                           18.08.2015
1640
1641    *) Изменение: директивы proxy_downstream_buffer и proxy_upstream_buffer
1642       в модуле stream заменены директивой proxy_buffer_size.
1643
1644    *) Добавление: директива tcp_nodelay в модуле stream.
1645
1646    *) Добавление: теперь можно указать несколько директив sub_filter
1647       одновременно.
1648
1649    *) Добавление: директива sub_filter поддерживает переменные в строке
1650       поиска.
1651
1652    *) Изменение: тестирование конфигурации могло не работать под Linux
1653       OpenVZ.
1654       Спасибо Геннадию Махомеду.
1655
1656    *) Исправление: после переконфигурации старые рабочие процессы могли
1657       сильно нагружать процессор при больших значениях worker_connections.
1658
1659    *) Исправление: при совместном использовании директив try_files и alias
1660       внутри location'а, заданного регулярным выражением, в рабочем
1661       процессе мог произойти segmentation fault; ошибка появилась в 1.7.1.
1662
1663    *) Исправление: директива try_files внутри вложенного location'а,
1664       заданного регулярным выражением, работала неправильно, если во
1665       внешнем location'е использовалась директива alias.
1666
1667    *) Исправление: в обработке ошибок при построении хэш-таблиц.
1668
1669    *) Исправление: nginx не собирался с Visual Studio 2015.
1670
1671
1672Изменения в nginx 1.9.3                                           14.07.2015
1673
1674    *) Изменение: дублирующиеся блоки http, mail и stream теперь запрещены.
1675
1676    *) Добавление: ограничение количества соединений в модуле stream.
1677
1678    *) Добавление: ограничение скорости в модуле stream.
1679
1680    *) Исправление: директива zone в блоке upstream не работала на Windows.
1681
1682    *) Исправление: совместимость с LibreSSL в модуле stream.
1683       Спасибо Piotr Sikora.
1684
1685    *) Исправление: в параметре --builddir в configure.
1686       Спасибо Piotr Sikora.
1687
1688    *) Исправление: директива ssl_stapling_file не работала; ошибка
1689       появилась в 1.9.2.
1690       Спасибо Faidon Liambotis и Brandon Black.
1691
1692    *) Исправление: при использовании директивы ssl_stapling в рабочем
1693       процессе мог произойти segmentation fault; ошибка появилась в 1.9.2.
1694       Спасибо Matthew Baldwin.
1695
1696
1697Изменения в nginx 1.9.2                                           16.06.2015
1698
1699    *) Добавление: параметр backlog директивы listen в почтовом
1700       прокси-сервере и модуле stream.
1701
1702    *) Добавление: директивы allow и deny в модуле stream.
1703
1704    *) Добавление: директива proxy_bind в модуле stream.
1705
1706    *) Добавление: директива proxy_protocol в модуле stream.
1707
1708    *) Добавление: ключ -T.
1709
1710    *) Добавление: параметр REQUEST_SCHEME добавлен в стандартные
1711       конфигурационные файлы fastcgi.conf, fastcgi_params, scgi_params и
1712       uwsgi_params.
1713
1714    *) Исправление: параметр reuseport директивы listen в модуле stream не
1715       работал.
1716
1717    *) Исправление: OCSP stapling в некоторых случаях мог вернуть устаревший
1718       OCSP-ответ.
1719
1720
1721Изменения в nginx 1.9.1                                           26.05.2015
1722
1723    *) Изменение: теперь протокол SSLv3 по умолчанию запрещён.
1724
1725    *) Изменение: некоторые давно устаревшие директивы больше не
1726       поддерживаются.
1727
1728    *) Добавление: параметр reuseport директивы listen.
1729       Спасибо Yingqi Lu из Intel и Sepherosa Ziehau.
1730
1731    *) Добавление: переменная $upstream_connect_time.
1732
1733    *) Исправление: в директиве hash на big-endian платформах.
1734
1735    *) Исправление: nginx мог не запускаться на некоторых старых версиях
1736       Linux; ошибка появилась в 1.7.11.
1737
1738    *) Исправление: в парсинге IP-адресов.
1739       Спасибо Сергею Половко.
1740
1741
1742Изменения в nginx 1.9.0                                           28.04.2015
1743
1744    *) Изменение: устаревшие методы обработки соединений aio и rtsig больше
1745       не поддерживаются.
1746
1747    *) Добавление: директива zone в блоке upstream.
1748
1749    *) Добавление: модуль stream.
1750
1751    *) Добавление: поддержка byte ranges для ответов модуля
1752       ngx_http_memcached_module.
1753       Спасибо Martin Mlynář.
1754
1755    *) Добавление: разделяемую память теперь можно использовать на версиях
1756       Windows с рандомизацией адресного пространства.
1757       Спасибо Сергею Брестеру.
1758
1759    *) Добавление: директиву error_log теперь можно использовать на уровнях
1760       mail и server в почтовом прокси-сервере.
1761
1762    *) Исправление: параметр proxy_protocol директивы listen не работал,
1763       если не был указан в первой директиве listen для данного
1764       listen-сокета.
1765
1766
1767Изменения в nginx 1.7.12                                          07.04.2015
1768
1769    *) Добавление: теперь директива tcp_nodelay работает для SSL-соединений
1770       с бэкендами.
1771
1772    *) Добавление: теперь потоки могут использоваться для чтения заголовков
1773       файлов в кэше.
1774
1775    *) Исправление: в директиве proxy_request_buffering.
1776
1777    *) Исправление: при использовании потоков на Linux в рабочем процессе
1778       мог произойти segmentation fault.
1779
1780    *) Исправление: в обработке ошибок при использовании директивы
1781       ssl_stapling.
1782       Спасибо Filipe da Silva.
1783
1784    *) Исправление: в модуле ngx_http_spdy_module.
1785
1786
1787Изменения в nginx 1.7.11                                          24.03.2015
1788
1789    *) Изменение: параметр sendfile директивы aio более не нужен; теперь
1790       nginx автоматически использует AIO для подгрузки данных для sendfile,
1791       если одновременно используются директивы aio и sendfile.
1792
1793    *) Добавление: экспериментальная поддержка потоков.
1794
1795    *) Добавление: директивы proxy_request_buffering,
1796       fastcgi_request_buffering, scgi_request_buffering и
1797       uwsgi_request_buffering.
1798
1799    *) Добавление: экспериментальное API для обработки тела запроса.
1800
1801    *) Добавление: проверка клиентских SSL-сертификатов в почтовом
1802       прокси-сервере.
1803       Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva.
1804
1805    *) Добавление: уменьшение времени запуска при использовании директивы
1806       "hash ... consistent" в блоке upstream.
1807       Спасибо Wai Keen Woon.
1808
1809    *) Добавление: отладочное логгирование в кольцевой буфер в памяти.
1810
1811    *) Исправление: в обработке хэш-таблиц.
1812       Спасибо Chris West.
1813
1814    *) Исправление: в директиве proxy_cache_revalidate.
1815
1816    *) Исправление: SSL-соединения могли зависать, если использовался
1817       отложенный accept или параметр proxy_protocol директивы listen.
1818       Спасибо James Hamlin.
1819
1820    *) Исправление: переменная $upstream_response_time могла содержать
1821       неверное значение при использовании директивы image_filter.
1822
1823    *) Исправление: в обработке целочисленных переполнений.
1824       Спасибо Régis Leroy.
1825
1826    *) Исправление: при использовании LibreSSL было невозможно включить
1827       поддержку SSLv3.
1828
1829    *) Исправление: при использовании LibreSSL в логах появлялись сообщения
1830       "ignoring stale global SSL error ... called a function you should not
1831       call".
1832
1833    *) Исправление: сертификаты, указанные в директивах
1834       ssl_client_certificate и ssl_trusted_certificate, использовались для
1835       автоматического построения цепочек сертификатов.
1836
1837
1838Изменения в nginx 1.7.10                                          10.02.2015
1839
1840    *) Добавление: параметр use_temp_path директив proxy_cache_path,
1841       fastcgi_cache_path, scgi_cache_path и uwsgi_cache_path.
1842
1843    *) Добавление: переменная $upstream_header_time.
1844
1845    *) Изменение: теперь при переполнении диска nginx пытается писать
1846       error_log'и только раз в секунду.
1847
1848    *) Исправление: директива try_files при тестировании каталогов не
1849       игнорировала обычные файлы.
1850       Спасибо Damien Tournoud.
1851
1852    *) Исправление: при использовании директивы sendfile на OS X возникали
1853       ошибки "sendfile() failed"; ошибка появилась в nginx 1.7.8.
1854
1855    *) Исправление: в лог могли писаться сообщения "sem_post() failed".
1856
1857    *) Исправление: nginx не собирался с musl libc.
1858       Спасибо James Taylor.
1859
1860    *) Исправление: nginx не собирался на Tru64 UNIX.
1861       Спасибо Goetz T. Fischer.
1862
1863
1864Изменения в nginx 1.7.9                                           23.12.2014
1865
1866    *) Добавление: директивы proxy_cache, fastcgi_cache, scgi_cache и
1867       uwsgi_cache поддерживают переменные.
1868
1869    *) Добавление: директива expires поддерживает переменные.
1870
1871    *) Добавление: возможность загрузки секретных ключей с аппаратных
1872       устройств с помощью OpenSSL engines.
1873       Спасибо Дмитрию Пичулину.
1874
1875    *) Добавление: директива autoindex_format.
1876
1877    *) Исправление: ревалидация элементов кэша теперь используется только
1878       для ответов с кодами 200 и 206.
1879       Спасибо Piotr Sikora.
1880
1881    *) Исправление: строка "TE" заголовка запроса клиента передавалась на
1882       бэкенд при проксировании.
1883
1884    *) Исправление: директивы proxy_pass, fastcgi_pass, scgi_pass и
1885       uwsgi_pass могли неправильно работать внутри блоков if и
1886       limit_except.
1887
1888    *) Исправление: директива proxy_store с параметром "on" игнорировалась,
1889       если на предыдущем уровне использовалась директива proxy_store с явно
1890       заданным путём к файлам.
1891
1892    *) Исправление: nginx не собирался с BoringSSL.
1893       Спасибо Lukas Tribus.
1894
1895
1896Изменения в nginx 1.7.8                                           02.12.2014
1897
1898    *) Изменение: теперь строки "If-Modified-Since", "If-Range" и им
1899       подобные в заголовке запроса клиента передаются бэкенду при
1900       включённом кэшировании, если nginx заранее знает, что не будет
1901       кэшировать ответ (например, при использовании proxy_cache_min_uses).
1902
1903    *) Изменение: теперь после истечения proxy_cache_lock_timeout nginx
1904       отправляет запрос на бэкенд без кэширования; новые директивы
1905       proxy_cache_lock_age, fastcgi_cache_lock_age, scgi_cache_lock_age и
1906       uwsgi_cache_lock_age позволяют указать, через какое время блокировка
1907       будет принудительно снята и будет сделана ещё одна попытка
1908       закэшировать ответ.
1909
1910    *) Изменение: директива log_format теперь может использоваться только на
1911       уровне http.
1912
1913    *) Добавление: директивы proxy_ssl_certificate,
1914       proxy_ssl_certificate_key, proxy_ssl_password_file,
1915       uwsgi_ssl_certificate, uwsgi_ssl_certificate_key и
1916       uwsgi_ssl_password_file.
1917       Спасибо Piotr Sikora.
1918
1919    *) Добавление: теперь с помощью X-Accel-Redirect можно перейти в
1920       именованный location.
1921       Спасибо Toshikuni Fukaya.
1922
1923    *) Добавление: теперь директива tcp_nodelay работает для
1924       SPDY-соединений.
1925
1926    *) Добавление: новые директивы в скриптах подсветки синтаксиса для vim.
1927       Спасибо Peter Wu.
1928
1929    *) Исправление: nginx игнорировал значение "s-maxage" в строке
1930       "Cache-Control" в заголовке ответа бэкенда.
1931       Спасибо Piotr Sikora.
1932
1933    *) Исправление: в модуле ngx_http_spdy_module.
1934       Спасибо Piotr Sikora.
1935
1936    *) Исправление: в директиве ssl_password_file при использовании OpenSSL
1937       0.9.8zc, 1.0.0o, 1.0.1j.
1938
1939    *) Исправление: при использовании директивы post_action в лог писались
1940       сообщения "header already sent"; ошибка появилась в nginx 1.5.4.
1941
1942    *) Исправление: при использовании директивы "postpone_output 0" с
1943       SSI-подзапросами в лог могли писаться сообщения "the http output
1944       chain is empty".
1945
1946    *) Исправление: в директиве proxy_cache_lock при использовании
1947       SSI-подзапросов.
1948       Спасибо Yichun Zhang.
1949
1950
1951Изменения в nginx 1.7.7                                           28.10.2014
1952
1953    *) Изменение: теперь nginx учитывает при кэшировании строку "Vary" в
1954       заголовке ответа бэкенда.
1955
1956    *) Добавление: директивы proxy_force_ranges, fastcgi_force_ranges,
1957       scgi_force_ranges и uwsgi_force_ranges.
1958
1959    *) Добавление: директивы proxy_limit_rate, fastcgi_limit_rate,
1960       scgi_limit_rate и uwsgi_limit_rate.
1961
1962    *) Добавление: параметр Vary директив proxy_ignore_headers,
1963       fastcgi_ignore_headers, scgi_ignore_headers и uwsgi_ignore_headers.
1964
1965    *) Исправление: последняя часть ответа, полученного от бэкенда при
1966       небуферизированном проксировании, могла не отправляться клиенту, если
1967       использовались директивы gzip или gunzip.
1968
1969    *) Исправление: в директиве proxy_cache_revalidate.
1970       Спасибо Piotr Sikora.
1971
1972    *) Исправление: в обработке ошибок.
1973       Спасибо Yichun Zhang и Даниилу Бондареву.
1974
1975    *) Исправление: в директивах proxy_next_upstream_tries и
1976       proxy_next_upstream_timeout.
1977       Спасибо Feng Gu.
1978
1979    *) Исправление: nginx/Windows не собирался с MinGW-w64 gcc.
1980       Спасибо Kouhei Sutou.
1981
1982
1983Изменения в nginx 1.7.6                                           30.09.2014
1984
1985    *) Изменение: устаревшая директива limit_zone больше не поддерживается.
1986
1987    *) Добавление: в директивах limit_conn_zone и limit_req_zone теперь
1988       можно использовать комбинации нескольких переменных.
1989
1990    *) Исправление: при повторной отправке FastCGI-запроса на бэкенд тело
1991       запроса могло передаваться неправильно.
1992
1993    *) Исправление: в логгировании в syslog.
1994
1995
1996Изменения в nginx 1.7.5                                           16.09.2014
1997
1998    *) Безопасность: при использовании общего для нескольких блоков server
1999       разделяемого кэша SSL-сессий или общего ключа для шифрования TLS
2000       session tickets было возможно повторно использовать SSL-сессию в
2001       контексте другого блока server (CVE-2014-3616).
2002       Спасибо Antoine Delignat-Lavaud.
2003
2004    *) Изменение: директиву stub_status теперь можно указывать без
2005       параметров.
2006
2007    *) Добавление: параметр always директивы add_header.
2008
2009    *) Добавление: директивы proxy_next_upstream_tries,
2010       proxy_next_upstream_timeout, fastcgi_next_upstream_tries,
2011       fastcgi_next_upstream_timeout, memcached_next_upstream_tries,
2012       memcached_next_upstream_timeout, scgi_next_upstream_tries,
2013       scgi_next_upstream_timeout, uwsgi_next_upstream_tries и
2014       uwsgi_next_upstream_timeout.
2015
2016    *) Исправление: в параметре if директивы access_log.
2017
2018    *) Исправление: в модуле ngx_http_perl_module.
2019       Спасибо Piotr Sikora.
2020
2021    *) Исправление: директива listen почтового прокси-сервера не позволяла
2022       указать более двух параметров.
2023
2024    *) Исправление: директива sub_filter не работала с заменяемой строкой из
2025       одного символа.
2026
2027    *) Исправление: запросы могли зависать, если использовался resolver и в
2028       процессе обращения к DNS-серверу происходил таймаут.
2029
2030    *) Исправление: в модуле ngx_http_spdy_module при использовании
2031       совместно с AIO.
2032
2033    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2034       если с помощью директивы set изменялись переменные "$http_...",
2035       "$sent_http_..." или "$upstream_http_...".
2036
2037    *) Исправление: в обработке ошибок выделения памяти.
2038       Спасибо Markus Linnala и Feng Gu.
2039
2040
2041Изменения в nginx 1.7.4                                           05.08.2014
2042
2043    *) Безопасность: pipelined-команды не отбрасывались после команды
2044       STARTTLS в SMTP прокси-сервере (CVE-2014-3556); ошибка появилась в
2045       1.5.6.
2046       Спасибо Chris Boulton.
2047
2048    *) Изменение: экранирование символов в URI теперь использует
2049       шестнадцатеричные цифры в верхнем регистре.
2050       Спасибо Piotr Sikora.
2051
2052    *) Добавление: теперь nginx можно собрать с BoringSSL и LibreSSL.
2053       Спасибо Piotr Sikora.
2054
2055    *) Исправление: запросы могли зависать, если использовался resolver и
2056       DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8.
2057
2058    *) Исправление: в модуле ngx_http_spdy_module.
2059       Спасибо Piotr Sikora.
2060
2061    *) Исправление: переменная $uri могла содержать мусор при возврате
2062       ошибок с кодом 400.
2063       Спасибо Сергею Боброву.
2064
2065    *) Исправление: в обработке ошибок в директиве proxy_store и в модуле
2066       ngx_http_dav_module.
2067       Спасибо Feng Gu.
2068
2069    *) Исправление: при логгировании ошибок в syslog мог происходить
2070       segmentation fault; ошибка появилась в 1.7.1.
2071
2072    *) Исправление: переменные $geoip_latitude, $geoip_longitude,
2073       $geoip_dma_code и $geoip_area_code могли не работать.
2074       Спасибо Yichun Zhang.
2075
2076    *) Исправление: в обработке ошибок выделения памяти.
2077       Спасибо Tatsuhiko Kubo и Piotr Sikora.
2078
2079
2080Изменения в nginx 1.7.3                                           08.07.2014
2081
2082    *) Добавление: weak entity tags теперь не удаляются при изменениях
2083       ответа, а strong entity tags преобразуются в weak.
2084
2085    *) Добавление: ревалидация элементов кэша теперь, если это возможно,
2086       использует заголовок If-None-Match.
2087
2088    *) Добавление: директива ssl_password_file.
2089
2090    *) Исправление: при возврате ответа из кэша заголовок запроса
2091       If-None-Match игнорировался, если в ответе не было заголовка
2092       Last-Modified.
2093
2094    *) Исправление: сообщения "peer closed connection in SSL handshake" при
2095       соединении с бэкендами логгировались на уровне info вместо error.
2096
2097    *) Исправление: в модуле ngx_http_dav_module в nginx/Windows.
2098
2099    *) Исправление: SPDY-соединения могли неожиданно закрываться, если
2100       использовалось кэширование.
2101
2102
2103Изменения в nginx 1.7.2                                           17.06.2014
2104
2105    *) Добавление: директива hash в блоке upstream.
2106
2107    *) Добавление: дефрагментация свободных блоков разделяемой памяти.
2108       Спасибо Wandenberg Peixoto и Yichun Zhang.
2109
2110    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2111       если использовалось значение access_log по умолчанию; ошибка
2112       появилась в 1.7.0.
2113       Спасибо Piotr Sikora.
2114
2115    *) Исправление: завершающий слэш ошибочно удалялся из последнего
2116       параметра директивы try_files.
2117
2118    *) Исправление: nginx мог не собираться на OS X.
2119
2120    *) Исправление: в модуле ngx_http_spdy_module.
2121
2122
2123Изменения в nginx 1.7.1                                           27.05.2014
2124
2125    *) Добавление: переменные "$upstream_cookie_...".
2126
2127    *) Добавление: переменная $ssl_client_fingerprint.
2128
2129    *) Добавление: директивы error_log и access_log теперь поддерживают
2130       логгирование в syslog.
2131
2132    *) Добавление: почтовый прокси-сервер теперь логгирует порт клиента при
2133       соединении.
2134
2135    *) Исправление: утечки памяти при использовании директивы
2136       "ssl_stapling".
2137       Спасибо Filipe da Silva.
2138
2139    *) Исправление: директива alias внутри location'а, заданного регулярным
2140       выражением, работала неправильно, если использовались директивы if
2141       или limit_except.
2142
2143    *) Исправление: директива charset не ставила кодировку для сжатых
2144       ответов бэкендов.
2145
2146    *) Исправление: директива proxy_pass без URI могла использовать
2147       оригинальный запрос после установки переменной $args.
2148       Спасибо Yichun Zhang.
2149
2150    *) Исправление: в работе параметра none директивы smtp_auth; ошибка
2151       появилась в 1.5.6.
2152       Спасибо Святославу Никольскому.
2153
2154    *) Исправление: при совместном использовании sub_filter и SSI ответы
2155       могли передаваться неверно.
2156
2157    *) Исправление: nginx не собирался с параметром --with-file-aio на
2158       Linux/aarch64.
2159
2160
2161Изменения в nginx 1.7.0                                           24.04.2014
2162
2163    *) Добавление: проверка SSL-сертификатов бэкендов.
2164
2165    *) Добавление: поддержка SNI при работе с бэкендами по SSL.
2166
2167    *) Добавление: переменная $ssl_server_name.
2168
2169    *) Добавление: параметр if директивы access_log.
2170
2171
2172Изменения в nginx 1.5.13                                          08.04.2014
2173
2174    *) Изменение: улучшена обработка хэш-таблиц; в директивах
2175       variables_hash_max_size и types_hash_bucket_size значения по
2176       умолчанию изменены на 1024 и 64 соответственно.
2177
2178    *) Добавление: модуль ngx_http_mp4_module теперь понимает аргумент end.
2179
2180    *) Добавление: поддержка byte ranges модулем ngx_http_mp4_module и при
2181       сохранении ответов в кэш.
2182
2183    *) Исправление: теперь nginx не пишет в лог сообщения "ngx_slab_alloc()
2184       failed: no memory" при использовании разделяемой памяти в
2185       ssl_session_cache и в модуле ngx_http_limit_req_module.
2186
2187    *) Исправление: директива underscores_in_headers не разрешала
2188       подчёркивание в первом символе заголовка.
2189       Спасибо Piotr Sikora.
2190
2191    *) Исправление: cache manager мог нагружать процессор при выходе в
2192       nginx/Windows.
2193
2194    *) Исправление: при использовании ssl_session_cache с параметром shared
2195       рабочий процесс nginx/Windows завершался аварийно.
2196
2197    *) Исправление: в модуле ngx_http_spdy_module.
2198
2199
2200Изменения в nginx 1.5.12                                          18.03.2014
2201
2202    *) Безопасность: при обработке специально созданного запроса модулем
2203       ngx_http_spdy_module могло происходить переполнение буфера в рабочем
2204       процессе, что потенциально могло приводить к выполнению произвольного
2205       кода (CVE-2014-0133).
2206       Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky,
2207       Buenos Aires, Argentina.
2208
2209    *) Добавление: параметр proxy_protocol в директивах listen и
2210       real_ip_header, переменная $proxy_protocol_addr.
2211
2212    *) Исправление: в директиве fastcgi_next_upstream.
2213       Спасибо Lucas Molas.
2214
2215
2216Изменения в nginx 1.5.11                                          04.03.2014
2217
2218    *) Безопасность: при обработке специально созданного запроса модулем
2219       ngx_http_spdy_module на 32-битных платформах могла повреждаться
2220       память рабочего процесса, что потенциально могло приводить к
2221       выполнению произвольного кода (CVE-2014-0088); ошибка появилась в
2222       1.5.10.
2223       Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky,
2224       Buenos Aires, Argentina.
2225
2226    *) Добавление: переменная $ssl_session_reused.
2227
2228    *) Исправление: директива client_max_body_size могла не работать при
2229       чтении тела запроса с использованием chunked transfer encoding;
2230       ошибка появилась в 1.3.9.
2231       Спасибо Lucas Molas.
2232
2233    *) Исправление: при проксировании WebSocket-соединений в рабочем
2234       процессе мог произойти segmentation fault.
2235
2236    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2237       если использовался модуль ngx_http_spdy_module на 32-битных
2238       платформах; ошибка появилась в 1.5.10.
2239
2240    *) Исправление: значение переменной $upstream_status могло быть
2241       неверным, если использовались директивы proxy_cache_use_stale или
2242       proxy_cache_revalidate.
2243       Спасибо Piotr Sikora.
2244
2245    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2246       если ошибки с кодом 400 с помощью директивы error_page
2247       перенаправлялись в именованный location.
2248
2249    *) Исправление: nginx/Windows не собирался с Visual Studio 2013.
2250
2251
2252Изменения в nginx 1.5.10                                          04.02.2014
2253
2254    *) Добавление: модуль ngx_http_spdy_module теперь использует протокол
2255       SPDY 3.1.
2256       Спасибо Automattic и MaxCDN за спонсирование разработки.
2257
2258    *) Добавление: модуль ngx_http_mp4_module теперь пропускает дорожки,
2259       имеющие меньшую длину, чем запрошенная перемотка.
2260
2261    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2262       если переменная $ssl_session_id использовалась при логгировании;
2263       ошибка появилась в 1.5.9.
2264
2265    *) Исправление: переменные $date_local и $date_gmt использовали неверный
2266       формат вне модуля ngx_http_ssi_filter_module.
2267
2268    *) Исправление: клиентские соединения могли сразу закрываться, если
2269       использовался отложенный accept; ошибка появилась в 1.3.15.
2270
2271    *) Исправление: сообщения "getsockopt(TCP_FASTOPEN) ... failed"
2272       записывались в лог в процессе обновления исполняемого файла на Linux;
2273       ошибка появилась в 1.5.8.
2274       Спасибо Piotr Sikora.
2275
2276
2277Изменения в nginx 1.5.9                                           22.01.2014
2278
2279    *) Изменение: теперь в заголовке X-Accel-Redirect nginx ожидает
2280       закодированный URI.
2281
2282    *) Добавление: директива ssl_buffer_size.
2283
2284    *) Добавление: директиву limit_rate теперь можно использовать для
2285       ограничения скорости передачи ответов клиенту в SPDY-соединениях.
2286
2287    *) Добавление: директива spdy_chunk_size.
2288
2289    *) Добавление: директива ssl_session_tickets.
2290       Спасибо Dirkjan Bussink.
2291
2292    *) Исправление: переменная $ssl_session_id содержала всю сессию в
2293       сериализованном виде вместо её идентификатора.
2294       Спасибо Ivan Ristić.
2295
2296    *) Исправление: nginx неправильно обрабатывал закодированный символ "?"
2297       в команде SSI include.
2298
2299    *) Исправление: модуль ngx_http_dav_module не раскодировал целевой URI
2300       при обработке методов COPY и MOVE.
2301
2302    *) Исправление: resolver не понимал доменные имена с точкой в конце.
2303       Спасибо Yichun Zhang.
2304
2305    *) Исправление: при проксировании в логах могли появляться сообщения
2306       "zero size buf in output"; ошибка появилась в 1.3.9.
2307
2308    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2309       если использовался модуль ngx_http_spdy_module.
2310
2311    *) Исправление: при использовании методов обработки соединений select,
2312       poll и /dev/poll проксируемые WebSocket-соединения могли зависать
2313       сразу после открытия.
2314
2315    *) Исправление: директива xclient почтового прокси-сервера некорректно
2316       передавала IPv6-адреса.
2317
2318
2319Изменения в nginx 1.5.8                                           17.12.2013
2320
2321    *) Добавление: теперь resolver поддерживает IPv6.
2322
2323    *) Добавление: директива listen поддерживает параметр fastopen.
2324       Спасибо Mathew Rodley.
2325
2326    *) Добавление: поддержка SSL в модуле ngx_http_uwsgi_module.
2327       Спасибо Roberto De Ioris.
2328
2329    *) Добавление: скрипты подсветки синтаксиса для vim добавлены в contrib.
2330       Спасибо Evan Miller.
2331
2332    *) Исправление: при чтении тела запроса с использованием chunked
2333       transfer encoding по SSL-соединению мог произойти таймаут.
2334
2335    *) Исправление: директива master_process работала неправильно в
2336       nginx/Windows.
2337
2338    *) Исправление: параметр setfib директивы listen мог не работать.
2339
2340    *) Исправление: в модуле ngx_http_spdy_module.
2341
2342
2343Изменения в nginx 1.5.7                                           19.11.2013
2344
2345    *) Безопасность: символ, следующий за незакодированным пробелом в строке
2346       запроса, обрабатывался неправильно (CVE-2013-4547); ошибка появилась
2347       в 0.8.41.
2348       Спасибо Ivan Fratric из Google Security Team.
2349
2350    *) Изменение: уровень логгирования ошибок auth_basic об отсутствии
2351       пароля понижен с уровня error до info.
2352
2353    *) Добавление: директивы proxy_cache_revalidate,
2354       fastcgi_cache_revalidate, scgi_cache_revalidate и
2355       uwsgi_cache_revalidate.
2356
2357    *) Добавление: директива ssl_session_ticket_key.
2358       Спасибо Piotr Sikora.
2359
2360    *) Исправление: директива "add_header Cache-Control ''" добавляла строку
2361       заголовка ответа "Cache-Control" с пустым значением.
2362
2363    *) Исправление: директива "satisfy any" могла вернуть ошибку 403 вместо
2364       401 при использовании директив auth_request и auth_basic.
2365       Спасибо Jan Marc Hoffmann.
2366
2367    *) Исправление: параметры accept_filter и deferred директивы listen
2368       игнорировались для listen-сокетов, создаваемых в процессе обновления
2369       исполняемого файла.
2370       Спасибо Piotr Sikora.
2371
2372    *) Исправление: часть данных, полученных от бэкенда при
2373       небуферизированном проксировании, могла не отправляться клиенту
2374       сразу, если использовались директивы gzip или gunzip.
2375       Спасибо Yichun Zhang.
2376
2377    *) Исправление: в обработке ошибок в модуле
2378       ngx_http_gunzip_filter_module.
2379
2380    *) Исправление: ответы могли зависать, если использовался модуль
2381       ngx_http_spdy_module и директива auth_request.
2382
2383    *) Исправление: утечки памяти в nginx/Windows.
2384
2385
2386Изменения в nginx 1.5.6                                           01.10.2013
2387
2388    *) Добавление: директива fastcgi_buffering.
2389
2390    *) Добавление: директивы proxy_ssl_protocols и proxy_ssl_ciphers.
2391       Спасибо Piotr Sikora.
2392
2393    *) Добавление: оптимизация SSL handshake при использовании длинных
2394       цепочек сертификатов.
2395
2396    *) Добавление: почтовый прокси-сервер поддерживает SMTP pipelining.
2397
2398    *) Исправление: в модуле ngx_http_auth_basic_module при использовании
2399       метода шифрования паролей "$apr1$".
2400       Спасибо Markus Linnala.
2401
2402    *) Исправление: на MacOSX, Cygwin и nginx/Windows для обработки запроса
2403       мог использоваться неверный location, если для задания location'ов
2404       использовались символы разных регистров.
2405
2406    *) Исправление: автоматическое перенаправление с добавлением
2407       завершающего слэша для проксированных location'ов могло не работать.
2408
2409    *) Исправление: в почтовом прокси-сервере.
2410
2411    *) Исправление: в модуле ngx_http_spdy_module.
2412
2413
2414Изменения в nginx 1.5.5                                           17.09.2013
2415
2416    *) Изменение: теперь nginx по умолчанию использует HTTP/1.0, если точно
2417       определить протокол не удалось.
2418
2419    *) Добавление: директива disable_symlinks теперь использует O_PATH на
2420       Linux.
2421
2422    *) Добавление: для определения того, что клиент закрыл соединение, при
2423       использовании метода epoll теперь используются события EPOLLRDHUP.
2424
2425    *) Исправление: в директиве valid_referers при использовании параметра
2426       server_names.
2427
2428    *) Исправление: переменная $request_time не работала в nginx/Windows.
2429
2430    *) Исправление: в директиве image_filter.
2431       Спасибо Lanshun Zhou.
2432
2433    *) Исправление: совместимость с OpenSSL 1.0.1f.
2434       Спасибо Piotr Sikora.
2435
2436
2437Изменения в nginx 1.5.4                                           27.08.2013
2438
2439    *) Изменение: MIME-тип для расширения js изменён на
2440       "application/javascript"; значение по умолчанию директивы
2441       charset_types изменено соответственно.
2442
2443    *) Изменение: теперь директива image_filter с параметром size возвращает
2444       ответ с MIME-типом "application/json".
2445
2446    *) Добавление: модуль ngx_http_auth_request_module.
2447
2448    *) Исправление: на старте или во время переконфигурации мог произойти
2449       segmentation fault, если использовалась директива try_files с пустым
2450       параметром.
2451
2452    *) Исправление: утечки памяти при использовании в директивах root и
2453       auth_basic_user_file относительных путей, заданных с помощью
2454       переменных.
2455
2456    *) Исправление: директива valid_referers неправильно выполняла
2457       регулярные выражения, если заголовок Referer начинался с "https://".
2458       Спасибо Liangbin Li.
2459
2460    *) Исправление: ответы могли зависать, если использовались подзапросы и
2461       при обработке подзапроса происходила ошибка во время SSL handshake с
2462       бэкендом.
2463       Спасибо Aviram Cohen.
2464
2465    *) Исправление: в модуле ngx_http_autoindex_module.
2466
2467    *) Исправление: в модуле ngx_http_spdy_module.
2468
2469
2470Изменения в nginx 1.5.3                                           30.07.2013
2471
2472    *) Изменение во внутреннем API: теперь при небуферизированной работе с
2473       бэкендами u->length по умолчанию устанавливается в -1.
2474
2475    *) Изменение: теперь при получении неполного ответа от бэкенда nginx
2476       отправляет полученную часть ответа, после чего закрывает соединение с
2477       клиентом.
2478
2479    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2480       если использовался модуль ngx_http_spdy_module и директива
2481       client_body_in_file_only.
2482
2483    *) Исправление: параметр so_keepalive директивы listen мог работать
2484       некорректно на DragonFlyBSD.
2485       Спасибо Sepherosa Ziehau.
2486
2487    *) Исправление: в модуле ngx_http_xslt_filter_module.
2488
2489    *) Исправление: в модуле ngx_http_sub_filter_module.
2490
2491
2492Изменения в nginx 1.5.2                                           02.07.2013
2493
2494    *) Добавление: теперь можно использовать несколько директив error_log.
2495
2496    *) Исправление: метод $r->header_in() встроенного перла не возвращал
2497       значения строк "Cookie" и "X-Forwarded-For" из заголовка запроса;
2498       ошибка появилась в 1.3.14.
2499
2500    *) Исправление: в модуле ngx_http_spdy_module.
2501       Спасибо Jim Radford.
2502
2503    *) Исправление: nginx не собирался на Linux при использовании x32 ABI.
2504       Спасибо Сергею Иванцову.
2505
2506
2507Изменения в nginx 1.5.1                                           04.06.2013
2508
2509    *) Добавление: директивы ssi_last_modified, sub_filter_last_modified и
2510       xslt_last_modified.
2511       Спасибо Алексею Колпакову.
2512
2513    *) Добавление: параметр http_403 в директивах proxy_next_upstream,
2514       fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream.
2515
2516    *) Добавление: директивы allow и deny теперь поддерживают unix domain
2517       сокеты.
2518
2519    *) Исправление: nginx не собирался с модулем ngx_mail_ssl_module, но без
2520       модуля ngx_http_ssl_module; ошибка появилась в 1.3.14.
2521
2522    *) Исправление: в директиве proxy_set_body.
2523       Спасибо Lanshun Zhou.
2524
2525    *) Исправление: в директиве lingering_time.
2526       Спасибо Lanshun Zhou.
2527
2528    *) Исправление: параметр fail_timeout директивы server в блоке upstream
2529       мог не работать, если использовался параметр max_fails; ошибка
2530       появилась в 1.3.0.
2531
2532    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2533       если использовалась директива ssl_stapling.
2534       Спасибо Piotr Sikora.
2535
2536    *) Исправление: в почтовом прокси-сервере.
2537       Спасибо Filipe Da Silva.
2538
2539    *) Исправление: nginx/Windows мог перестать принимать соединения, если
2540       использовалось несколько рабочих процессов.
2541
2542
2543Изменения в nginx 1.5.0                                           07.05.2013
2544
2545    *) Безопасность: при обработке специально созданного запроса мог
2546       перезаписываться стек рабочего процесса, что могло приводить к
2547       выполнению произвольного кода (CVE-2013-2028); ошибка появилась в
2548       1.3.9.
2549       Спасибо Greg MacManus, iSIGHT Partners Labs.
2550
2551
2552Изменения в nginx 1.4.0                                           24.04.2013
2553
2554    *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
2555       использовался параметр --with-openssl; ошибка появилась в 1.3.16.
2556
2557    *) Исправление: в работе с телом запроса из модуля ngx_http_perl_module;
2558       ошибка появилась в 1.3.9.
2559
2560
2561Изменения в nginx 1.3.16                                          16.04.2013
2562
2563    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2564       если использовались подзапросы; ошибка появилась в 1.3.9.
2565
2566    *) Исправление: директива tcp_nodelay вызывала ошибку при проксировании
2567       WebSocket-соединений в unix domain сокет.
2568
2569    *) Исправление: переменная $upstream_response_length возвращала значение
2570       "0", если не использовалась буферизация.
2571       Спасибо Piotr Sikora.
2572
2573    *) Исправление: в методах обработки соединений eventport и /dev/poll.
2574
2575
2576Изменения в nginx 1.3.15                                          26.03.2013
2577
2578    *) Изменение: открытие и закрытие соединения без отправки в нём
2579       каких-либо данных больше не записывается в access_log с кодом ошибки
2580       400.
2581
2582    *) Добавление: модуль ngx_http_spdy_module.
2583       Спасибо Automattic за спонсирование разработки.
2584
2585    *) Добавление: директивы limit_req_status и limit_conn_status.
2586       Спасибо Nick Marden.
2587
2588    *) Добавление: директива image_filter_interlace.
2589       Спасибо Ивану Боброву.
2590
2591    *) Добавление: переменная $connections_waiting в модуле
2592       ngx_http_stub_status_module.
2593
2594    *) Добавление: теперь почтовый прокси-сервер поддерживает IPv6-бэкенды.
2595
2596    *) Исправление: при повторной отправке запроса на бэкенд тело запроса
2597       могло передаваться неправильно; ошибка появилась в 1.3.9.
2598       Спасибо Piotr Sikora.
2599
2600    *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
2601       1.3.9.
2602
2603    *) Исправление: ответы могли зависать, если использовались подзапросы и
2604       при обработке подзапроса происходила DNS-ошибка.
2605       Спасибо Lanshun Zhou.
2606
2607    *) Исправление: в процедуре учёта использования бэкендов.
2608
2609
2610Изменения в nginx 1.3.14                                          05.03.2013
2611
2612    *) Добавление: переменные $connections_active, $connections_reading и
2613       $connections_writing в модуле ngx_http_stub_status_module.
2614
2615    *) Добавление: поддержка WebSocket-соединений в модулях
2616       ngx_http_uwsgi_module и ngx_http_scgi_module.
2617
2618    *) Исправление: в обработке виртуальных серверов при использовании SNI.
2619
2620    *) Исправление: при использовании директивы "ssl_session_cache shared"
2621       новые сессии могли не сохраняться, если заканчивалось место в
2622       разделяемой памяти.
2623       Спасибо Piotr Sikora.
2624
2625    *) Исправление: несколько заголовков X-Forwarded-For обрабатывались
2626       неправильно.
2627       Спасибо Neal Poole за спонсирование разработки.
2628
2629    *) Исправление: в модуле ngx_http_mp4_module.
2630       Спасибо Gernot Vormayr.
2631
2632
2633Изменения в nginx 1.3.13                                          19.02.2013
2634
2635    *) Изменение: теперь для сборки по умолчанию используется компилятор с
2636       именем "cc".
2637
2638    *) Добавление: поддержка проксирования WebSocket-соединений.
2639       Спасибо Apcera и CloudBees за спонсирование разработки.
2640
2641    *) Добавление: директива auth_basic_user_file поддерживает шифрование
2642       паролей методом "{SHA}".
2643       Спасибо Louis Opter.
2644
2645
2646Изменения в nginx 1.3.12                                          05.02.2013
2647
2648    *) Добавление: директивы proxy_bind, fastcgi_bind, memcached_bind,
2649       scgi_bind и uwsgi_bind поддерживают переменные.
2650
2651    *) Добавление: переменные $pipe, $request_length, $time_iso8601 и
2652       $time_local теперь можно использовать не только в директиве
2653       log_format.
2654       Спасибо Kiril Kalchev.
2655
2656    *) Добавление: поддержка IPv6 в модуле ngx_http_geoip_module.
2657       Спасибо Gregor Kališnik.
2658
2659    *) Исправление: директива proxy_method работала неверно, если была
2660       указана на уровне http.
2661
2662    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2663       если использовался resolver и метод poll.
2664
2665    *) Исправление: nginx мог нагружать процессор во время SSL handshake с
2666       бэкендом при использовании методов обработки соединений select, poll
2667       и /dev/poll.
2668
2669    *) Исправление: ошибка "[crit] SSL_write() failed (SSL:)".
2670
2671    *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
2672       1.3.9.
2673
2674    *) Исправление: в директиве fastcgi_keep_conn.
2675
2676
2677Изменения в nginx 1.3.11                                          10.01.2013
2678
2679    *) Исправление: при записи в лог мог происходить segmentation fault;
2680       ошибка появилась в 1.3.10.
2681
2682    *) Исправление: директива proxy_pass не работала с IP-адресами без
2683       явного указания порта; ошибка появилась в 1.3.10.
2684
2685    *) Исправление: на старте или во время переконфигурации происходил
2686       segmentation fault, если директива keepalive была указана несколько
2687       раз в одном блоке upstream.
2688
2689    *) Исправление: параметр default директивы geo не определял значение по
2690       умолчанию для IPv6-адресов.
2691
2692
2693Изменения в nginx 1.3.10                                          25.12.2012
2694
2695    *) Изменение: для указанных в конфигурационном файле доменных имён
2696       теперь используются не только IPv4, но и IPv6 адреса.
2697
2698    *) Изменение: теперь при использовании директивы include с маской на
2699       Unix-системах включаемые файлы сортируются в алфавитном порядке.
2700
2701    *) Изменение: директива add_header добавляет строки в ответы с кодом
2702       201.
2703
2704    *) Добавление: директива geo теперь поддерживает IPv6 адреса в формате
2705       CIDR.
2706
2707    *) Добавление: параметры flush и gzip в директиве access_log.
2708
2709    *) Добавление: директива auth_basic поддерживает переменные.
2710
2711    *) Исправление: nginx в некоторых случаях не собирался с модулем
2712       ngx_http_perl_module.
2713
2714    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2715       если использовался модуль ngx_http_xslt_module.
2716
2717    *) Исправление: nginx мог не собираться на MacOSX.
2718       Спасибо Piotr Sikora.
2719
2720    *) Исправление: при использовании директивы limit_rate с большими
2721       значениями скорости на 32-битных системах ответ мог возвращаться не
2722       целиком.
2723       Спасибо Алексею Антропову.
2724
2725    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2726       если использовалась директива if.
2727       Спасибо Piotr Sikora.
2728
2729    *) Исправление: ответ "100 Continue" выдавался вместе с ответом "413
2730       Request Entity Too Large".
2731
2732    *) Исправление: директивы image_filter, image_filter_jpeg_quality и
2733       image_filter_sharpen могли наследоваться некорректно.
2734       Спасибо Ивану Боброву.
2735
2736    *) Исправление: при использовании директивы auth_basic под Linux могли
2737       возникать ошибки "crypt_r() failed".
2738
2739    *) Исправление: в обработке backup-серверов.
2740       Спасибо Thomas Chen.
2741
2742    *) Исправление: при проксировании HEAD-запросов мог возвращаться
2743       некорректный ответ, если использовалась директива gzip.
2744
2745
2746Изменения в nginx 1.3.9                                           27.11.2012
2747
2748    *) Добавление: поддержка chunked transfer encoding при получении тела
2749       запроса.
2750
2751    *) Добавление: переменные $request_time и $msec теперь можно
2752       использовать не только в директиве log_format.
2753
2754    *) Исправление: cache manager и cache loader могли не запускаться, если
2755       использовалось более 512 listen-сокетов.
2756
2757    *) Исправление: в модуле ngx_http_dav_module.
2758
2759
2760Изменения в nginx 1.3.8                                           30.10.2012
2761
2762    *) Добавление: параметр optional_no_ca директивы ssl_verify_client.
2763       Спасибо Михаилу Казанцеву и Eric O'Connor.
2764
2765    *) Добавление: переменные $bytes_sent, $connection и
2766       $connection_requests теперь можно использовать не только в директиве
2767       log_format.
2768       Спасибо Benjamin Grössing.
2769
2770    *) Добавление: параметр auto директивы worker_processes.
2771
2772    *) Исправление: сообщения "cache file ... has md5 collision".
2773
2774    *) Исправление: в модуле ngx_http_gunzip_filter_module.
2775
2776    *) Исправление: в директиве ssl_stapling.
2777
2778
2779Изменения в nginx 1.3.7                                           02.10.2012
2780
2781    *) Добавление: поддержка OCSP stapling.
2782       Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки.
2783
2784    *) Добавление: директива ssl_trusted_certificate.
2785
2786    *) Добавление: теперь resolver случайным образом меняет порядок
2787       возвращаемых закэшированных адресов.
2788       Спасибо Антону Жулину.
2789
2790    *) Исправление: совместимость с OpenSSL 0.9.7.
2791
2792
2793Изменения в nginx 1.3.6                                           12.09.2012
2794
2795    *) Добавление: модуль ngx_http_gunzip_filter_module.
2796
2797    *) Добавление: директива memcached_gzip_flag.
2798
2799    *) Добавление: параметр always директивы gzip_static.
2800
2801    *) Исправление: в директиве "limit_req"; ошибка появилась в 1.1.14.
2802       Спасибо Charles Chen.
2803
2804    *) Исправление: nginx не собирался gcc 4.7 с оптимизацией -O2 если
2805       использовался параметр --with-ipv6.
2806
2807
2808Изменения в nginx 1.3.5                                           21.08.2012
2809
2810    *) Изменение: модуль ngx_http_mp4_module больше не отфильтровывает
2811       дорожки в форматах, отличных от H.264 и AAC.
2812
2813    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2814       если в директиве map в качестве значений использовались переменные.
2815
2816    *) Исправление: в рабочем процессе мог произойти segmentation fault при
2817       использовании директивы geo с параметром ranges, но без параметра
2818       default; ошибка появилась в 0.8.43.
2819       Спасибо Zhen Chen и Weibin Yao.
2820
2821    *) Исправление: в обработке параметра командной строки -p.
2822
2823    *) Исправление: в почтовом прокси-сервере.
2824
2825    *) Исправление: незначительных потенциальных ошибок.
2826       Спасибо Coverity.
2827
2828    *) Исправление: nginx/Windows не собирался с Visual Studio 2005 Express.
2829       Спасибо HAYASHI Kentaro.
2830
2831
2832Изменения в nginx 1.3.4                                           31.07.2012
2833
2834    *) Изменение: теперь на слушающих IPv6-сокетах параметр ipv6only включён
2835       по умолчанию.
2836
2837    *) Добавление: поддержка компилятора Clang.
2838
2839    *) Исправление: могли создаваться лишние слушающие сокеты.
2840       Спасибо Роману Одайскому.
2841
2842    *) Исправление: nginx/Windows мог нагружать процессор, если при запуске
2843       рабочего процесса происходила ошибка.
2844       Спасибо Ricardo Villalobos Guevara.
2845
2846    *) Исправление: директивы proxy_pass_header, fastcgi_pass_header,
2847       scgi_pass_header, uwsgi_pass_header, proxy_hide_header,
2848       fastcgi_hide_header, scgi_hide_header и uwsgi_hide_header могли
2849       наследоваться некорректно.
2850
2851
2852Изменения в nginx 1.3.3                                           10.07.2012
2853
2854    *) Добавление: поддержка entity tags и директива etag.
2855
2856    *) Исправление: при использовании директивы map с параметром hostnames
2857       не игнорировалась конечная точка в исходном значении.
2858
2859    *) Исправление: для обработки запроса мог использоваться неверный
2860       location, если переход в именованный location происходил после
2861       изменения URI с помощью директивы rewrite.
2862
2863
2864Изменения в nginx 1.3.2                                           26.06.2012
2865
2866    *) Изменение: параметр single директивы keepalive теперь игнорируется.
2867
2868    *) Изменение: сжатие SSL теперь отключено в том числе при использовании
2869       OpenSSL старее 1.0.0.
2870
2871    *) Добавление: директиву "ip_hash" теперь можно использовать для
2872       балансировки IPv6 клиентов.
2873
2874    *) Добавление: переменную $status теперь можно использовать не только в
2875       директиве log_format.
2876
2877    *) Исправление: при завершении рабочего процесса мог произойти
2878       segmentation fault, если использовалась директива resolver.
2879
2880    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2881       если использовался модуль ngx_http_mp4_module.
2882
2883    *) Исправление: в модуле ngx_http_mp4_module.
2884
2885    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2886       если использовались конфликтующие имена серверов с масками.
2887
2888    *) Исправление: на платформе ARM nginx мог аварийно завершаться по
2889       сигналу SIGBUS.
2890
2891    *) Исправление: во время переконфигурации на HP-UX в лог записывался
2892       alert "sendmsg() failed (9: Bad file number)".
2893
2894
2895Изменения в nginx 1.3.1                                           05.06.2012
2896
2897    *) Безопасность: теперь nginx/Windows игнорирует точку в конце
2898       компонента URI и не разрешает URI, содержащие последовательность
2899       ":$".
2900       Спасибо Владимиру Кочеткову, Positive Research Center.
2901
2902    *) Добавление: директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass
2903       и директива server в блоке upstream теперь поддерживают IPv6-адреса.
2904
2905    *) Добавление: в директиве resolver теперь можно указывать порт и
2906       задавать IPv6-адреса DNS-серверов.
2907
2908    *) Добавление: директива least_conn в блоке upstream.
2909
2910    *) Добавление: при использовании директивы ip_hash теперь можно задавать
2911       веса серверов.
2912
2913    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2914       если использовалась директива image_filter; ошибка появилась в 1.3.0.
2915
2916    *) Исправление: nginx не собирался с модулем ngx_cpp_test_module; ошибка
2917       появилась в 1.1.12.
2918
2919    *) Исправление: доступ к переменным из SSI и встроенного перла мог не
2920       работать после переконфигурации.
2921       Спасибо Yichun Zhang.
2922
2923    *) Исправление: в модуле ngx_http_xslt_filter_module.
2924       Спасибо Kuramoto Eiji.
2925
2926    *) Исправление: утечки памяти при использовании переменной $geoip_org.
2927       Спасибо Денису Латыпову.
2928
2929    *) Исправление: в директивах proxy_cookie_domain и proxy_cookie_path.
2930
2931
2932Изменения в nginx 1.3.0                                           15.05.2012
2933
2934    *) Добавление: директива debug_connection теперь поддерживает
2935       IPv6-адреса и параметр "unix:".
2936
2937    *) Добавление: директива set_real_ip_from и параметр proxy директивы geo
2938       теперь поддерживают IPv6-адреса.
2939
2940    *) Добавление: директивы real_ip_recursive, geoip_proxy и
2941       geoip_proxy_recursive.
2942
2943    *) Добавление: параметр proxy_recursive директивы geo.
2944
2945    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2946       если использовалась директива resolver.
2947
2948    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2949       если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
2950       и бэкенд возвращал некорректный ответ.
2951
2952    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2953       если использовалась директива rewrite и в новых аргументах запроса в
2954       строке замены использовались переменные.
2955
2956    *) Исправление: nginx мог нагружать процессор, если было достигнуто
2957       ограничение на количество открытых файлов.
2958
2959    *) Исправление: при использовании директивы proxy_next_upstream с
2960       параметром http_404 nginx мог бесконечно перебирать бэкенды, если в
2961       блоке upstream был хотя бы один сервер с флагом backup.
2962
2963    *) Исправление: при использовании директивы ip_hash установка параметра
2964       down директивы server могла приводить к ненужному перераспределению
2965       клиентов между бэкендами.
2966
2967    *) Исправление: утечки сокетов.
2968       Спасибо Yichun Zhang.
2969
2970    *) Исправление: в модуле ngx_http_fastcgi_module.
2971
2972
2973Изменения в nginx 1.2.0                                           23.04.2012
2974
2975    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2976       если использовалась директива try_files; ошибка появилась в 1.1.19.
2977
2978    *) Исправление: ответ мог быть передан не полностью, если использовалось
2979       больше IOV_MAX буферов.
2980
2981    *) Исправление: в работе параметра crop директивы image_filter.
2982       Спасибо Maxim Bublis.
2983
2984
2985Изменения в nginx 1.1.19                                          12.04.2012
2986
2987    *) Безопасность: при обработке специально созданного mp4 файла модулем
2988       ngx_http_mp4_module могли перезаписываться области памяти рабочего
2989       процесса, что могло приводить к выполнению произвольного кода
2990       (CVE-2012-2089).
2991       Спасибо Matthew Daley.
2992
2993    *) Исправление: nginx/Windows мог завершаться аварийно.
2994       Спасибо Vincent Lee.
2995
2996    *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
2997       были помечены флагом backup.
2998
2999    *) Исправление: директивы allow и deny могли наследоваться некорректно,
3000       если в них использовались IPv6 адреса.
3001
3002    *) Исправление: директивы modern_browser и ancient_browser могли
3003       наследоваться некорректно.
3004
3005    *) Исправление: таймауты могли работать некорректно на Solaris/SPARC.
3006
3007    *) Исправление: в модуле ngx_http_mp4_module.
3008
3009
3010Изменения в nginx 1.1.18                                          28.03.2012
3011
3012    *) Изменение: теперь keepalive соединения не запрещены для Safari по
3013       умолчанию.
3014
3015    *) Добавление: переменная $connection_requests.
3016
3017    *) Добавление: переменные $tcpinfo_rtt, $tcpinfo_rttvar,
3018       $tcpinfo_snd_cwnd и $tcpinfo_rcv_space.
3019
3020    *) Добавление: директива worker_cpu_affinity теперь работает на FreeBSD.
3021
3022    *) Добавление: директивы xslt_param и xslt_string_param.
3023       Спасибо Samuel Behan.
3024
3025    *) Исправление: в configure.
3026       Спасибо Piotr Sikora.
3027
3028    *) Исправление: в модуле ngx_http_xslt_filter_module.
3029
3030    *) Исправление: nginx не собирался на Debian GNU/Hurd.
3031
3032
3033Изменения в nginx 1.1.17                                          15.03.2012
3034
3035    *) Безопасность: содержимое ранее освобождённой памяти могло быть
3036       отправлено клиенту, если бэкенд возвращал специально созданный ответ.
3037       Спасибо Matthew Daley.
3038
3039    *) Исправление: при использовании встроенного перла из SSI.
3040       Спасибо Matthew Daley.
3041
3042    *) Исправление: в модуле ngx_http_uwsgi_module.
3043
3044
3045Изменения в nginx 1.1.16                                          29.02.2012
3046
3047    *) Изменение: ограничение на количество одновременных подзапросов
3048       поднято до 200.
3049
3050    *) Добавление: параметр from в директиве disable_symlinks.
3051
3052    *) Добавление: директивы return и error_page теперь могут использоваться
3053       для возврата перенаправлений с кодом 307.
3054
3055    *) Исправление: в рабочем процессе мог произойти segmentation fault,
3056       если использовалась директива resolver и на глобальном уровне не была
3057       задана директива error_log.
3058       Спасибо Роману Арутюняну.
3059
3060    *) Исправление: в рабочем процессе мог произойти segmentation fault,
3061       если использовались директивы "proxy_http_version 1.1" или
3062       "fastcgi_keep_conn on".
3063
3064    *) Исправление: утечек памяти.
3065       Спасибо Lanshun Zhou.
3066
3067    *) Исправление: в директиве disable_symlinks.
3068
3069    *) Исправление: при использовании ZFS размер кэша на диске мог считаться
3070       некорректно; ошибка появилась в 1.0.1.
3071
3072    *) Исправление: nginx не собирался компилятором icc 12.1.
3073
3074    *) Исправление: nginx не собирался gcc на Solaris; ошибка появилась в
3075       1.1.15.
3076
3077
3078Изменения в nginx 1.1.15                                          15.02.2012
3079
3080    *) Добавление: директива disable_symlinks.
3081
3082    *) Добавление: директивы proxy_cookie_domain и proxy_cookie_path.
3083
3084    *) Исправление: nginx мог некорректно сообщать об ошибке "upstream
3085       prematurely closed connection" вместо "upstream sent too big header".
3086       Спасибо Feibo Li.
3087
3088    *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
3089       использовался параметр --with-openssl.
3090
3091    *) Исправление: количество внутренних перенаправлений в именованные
3092       location'ы не ограничивалось.
3093
3094    *) Исправление: вызов $r->flush() несколько раз подряд мог приводить к
3095       ошибкам в модуле ngx_http_gzip_filter_module.
3096
3097    *) Исправление: при использовании директивы proxy_store с
3098       SSI-подзапросами временные файлы могли не удаляться.
3099
3100    *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
3101       $args) возвращали старое пустое закэшированное значение.
3102
3103    *) Исправление: в рабочем процессе мог произойти segmentation fault,
3104       если одновременно создавалось слишком много SSI-подзапросов; ошибка
3105       появилась в 0.7.25.
3106
3107
3108Изменения в nginx 1.1.14                                          30.01.2012
3109
3110    *) Добавление: теперь можно указать несколько ограничений limit_req
3111       одновременно.
3112
3113    *) Исправление: в обработке ошибок при соединении с бэкендом.
3114       Спасибо Piotr Sikora.
3115
3116    *) Исправление: в обработке ошибок при использовании AIO на FreeBSD.
3117
3118    *) Исправление: в инициализации библиотеки OpenSSL.
3119
3120    *) Исправление: директивы proxy_redirect могли наследоваться
3121       некорректно.
3122
3123    *) Исправление: утечки памяти при переконфигурации, если использовалась
3124       директива pcre_jit.
3125
3126
3127Изменения в nginx 1.1.13                                          16.01.2012
3128
3129    *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
3130
3131    *) Исправление: параметры директивы limit_req наследовались некорректно;
3132       ошибка появилась в 1.1.12.
3133
3134    *) Исправление: директива proxy_redirect некорректно обрабатывала
3135       заголовок Refresh при использовании регулярных выражений.
3136
3137    *) Исправление: директива proxy_cache_use_stale с параметром error не
3138       возвращала ответ из кэша, если все бэкенды были признаны
3139       неработающими.
3140
3141    *) Исправление: директива worker_cpu_affinity могла не работать.
3142
3143    *) Исправление: nginx не собирался на Solaris; ошибка появилась в
3144       1.1.12.
3145
3146    *) Исправление: в модуле ngx_http_mp4_module.
3147
3148
3149Изменения в nginx 1.1.12                                          26.12.2011
3150
3151    *) Изменение: после перенаправления запроса с помощью директивы
3152       error_page директива proxy_pass без URI теперь использует изменённый
3153       URI.
3154       Спасибо Lanshun Zhou.
3155
3156    *) Добавление: директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
3157       proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
3158
3159    *) Добавление: директива pcre_jit.
3160
3161    *) Добавление: SSI команда if поддерживает выделения в регулярных
3162       выражениях.
3163
3164    *) Исправление: SSI команда if не работала внутри команды block.
3165
3166    *) Исправление: директивы limit_conn_log_level и limit_req_log_level
3167       могли не работать.
3168
3169    *) Исправление: директива limit_rate не позволяла передавать на полной
3170       скорости, даже если был указан очень большой лимит.
3171
3172    *) Исправление: директива sendfile_max_chunk не работала, если
3173       использовалась директива limit_rate.
3174
3175    *) Исправление: если в директиве proxy_pass использовались переменные и
3176       не был указан URI, всегда использовался URI исходного запроса.
3177
3178    *) Исправление: после перенаправления запроса с помощью директивы
3179       try_files директива proxy_pass без URI могла использовать URI
3180       исходного запроса.
3181       Спасибо Lanshun Zhou.
3182
3183    *) Исправление: в модуле ngx_http_scgi_module.
3184
3185    *) Исправление: в модуле ngx_http_mp4_module.
3186
3187    *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.1.9.
3188
3189
3190Изменения в nginx 1.1.11                                          12.12.2011
3191
3192    *) Добавление: параметр so_keepalive в директиве listen.
3193       Спасибо Всеволоду Стахову.
3194
3195    *) Добавление: параметр if_not_empty в директивах
3196       fastcgi/scgi/uwsgi_param.
3197
3198    *) Добавление: переменная $https.
3199
3200    *) Добавление: директива proxy_redirect поддерживает переменные в первом
3201       параметре.
3202
3203    *) Добавление: директива proxy_redirect поддерживает регулярные
3204       выражения.
3205
3206    *) Исправление: переменная $sent_http_cache_control могла содержать
3207       неверное значение при использовании директивы expires.
3208       Спасибо Yichun Zhang.
3209
3210    *) Исправление: директива read_ahead могла не работать при использовании
3211       совместно с try_files и open_file_cache.
3212
3213    *) Исправление: если в параметре inactive директивы proxy_cache_path
3214       было указано малое время, в рабочем процессе мог произойти
3215       segmentation fault.
3216
3217    *) Исправление: ответы из кэша могли зависать.
3218
3219
3220Изменения в nginx 1.1.10                                          30.11.2011
3221
3222    *) Исправление: при использовании AIO на Linux в рабочем процессе
3223       происходил segmentation fault; ошибка появилась в 1.1.9.
3224
3225
3226Изменения в nginx 1.1.9                                           28.11.2011
3227
3228    *) Изменение: теперь двойные кавычки экранируется при выводе
3229       SSI-командой echo.
3230       Спасибо Зауру Абасмирзоеву.
3231
3232    *) Добавление: параметр valid в директиве resolver. По умолчанию теперь
3233       используется TTL, возвращённый DNS-сервером.
3234       Спасибо Кириллу Коринскому.
3235
3236    *) Исправление: nginx мог перестать отвечать, если рабочий процесс
3237       завершался аварийно.
3238
3239    *) Исправление: в рабочем процессе мог произойти segmentation fault,
3240       если использовалось SNI; ошибка появилась в 1.1.2.
3241
3242    *) Исправление: в директиве keepalive_disable; ошибка появилась в 1.1.8.
3243       Спасибо Александру Усову.
3244
3245    *) Исправление: сигнал SIGWINCH переставал работать после первого
3246       обновления исполняемого файла; ошибка появилась в 1.1.1.
3247
3248    *) Исправление: теперь ответы бэкендов, длина которых не соответствует
3249       заголовку Content-Length, не кэширутся.
3250
3251    *) Исправление: в директиве scgi_param при использовании составных
3252       параметров.
3253
3254    *) Исправление: в методе epoll.
3255       Спасибо Yichun Zhang.
3256
3257    *) Исправление: в модуле ngx_http_flv_module.
3258       Спасибо Piotr Sikora.
3259
3260    *) Исправление: в модуле ngx_http_mp4_module.
3261
3262    *) Исправление: теперь nginx понимает IPv6-адреса в строке запроса и в
3263       заголовке Host.
3264
3265    *) Исправление: директивы add_header и expires не работали для ответов с
3266       кодом 206, если запрос проксировался.
3267
3268    *) Исправление: nginx не собирался на FreeBSD 10.
3269
3270    *) Исправление: nginx не собирался на AIX.
3271
3272
3273Изменения в nginx 1.1.8                                           14.11.2011
3274
3275    *) Изменение: модуль ngx_http_limit_zone_module переименован в
3276       ngx_http_limit_conn_module.
3277
3278    *) Изменение: директива limit_zone заменена директивой limit_conn_zone с
3279       новым синтаксисом.
3280
3281    *) Добавление: поддержка ограничения по нескольким limit_conn на одном
3282       уровне.
3283
3284    *) Добавление: директива image_filter_sharpen.
3285
3286    *) Исправление: в рабочем процессе мог произойти segmentation fault,
3287       если resolver получил большой DNS-ответ.
3288       Спасибо Ben Hawkes.
3289
3290    *) Исправление: в вычислении ключа для кэширования, если использовалась
3291       внутренняя реализация MD5; ошибка появилась в 1.0.4.
3292
3293    *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
3294       заголовке запроса клиента могли передаваться бэкенду при кэшировании;
3295       или не передаваться при выключенном кэшировании, если кэширование
3296       было включено в другой части конфигурации.
3297
3298    *) Исправление: модуль ngx_http_mp4_module выдавал неверную строку
3299       "Content-Length" в заголовке ответа, использовался аргумент start.
3300       Спасибо Piotr Sikora.
3301
3302
3303Изменения в nginx 1.1.7                                           31.10.2011
3304
3305    *) Добавление: поддержка нескольких DNS серверов в директиве "resolver".
3306       Спасибо Кириллу Коринскому.
3307
3308    *) Исправление: на старте или во время переконфигурации происходил
3309       segmentation fault, если директива ssl использовалась на уровне http
3310       и не был указан ssl_certificate.
3311
3312    *) Исправление: уменьшено потребление памяти при проксировании больших
3313       файлов, если они буферизировались на диск.
3314
3315    *) Исправление: в рабочем процессе мог произойти segmentation fault,
3316       если использовалась директива "proxy_http_version 1.1".
3317
3318    *) Исправление: в директиве "expires @time".
3319
3320
3321Изменения в nginx 1.1.6                                           17.10.2011
3322
3323    *) Изменение во внутреннем API: теперь при внутреннем редиректе в
3324       именованный location контексты модулей очищаются.
3325       По запросу Yichun Zhang.
3326
3327    *) Изменение: теперь если сервер, описанный в блоке upstream, был
3328       признан неработающим, то после истечения fail_timeout на него будет
3329       отправлен только один запрос; сервер будет считаться работающим, если
3330       успешно ответит на этот запрос.
3331
3332    *) Изменение: теперь символы 0x7F-0xFF в access_log записываются в виде
3333       \xXX.
3334
3335    *) Добавление: директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers"
3336       теперь поддерживают значения X-Accel-Limit-Rate, X-Accel-Buffering и
3337       X-Accel-Charset.
3338
3339    *) Добавление: уменьшение потребления памяти при использовании SSL.
3340
3341    *) Исправление: некоторые UTF-8 символы обрабатывались неправильно.
3342       Спасибо Алексею Куцу.
3343
3344    *) Исправление: директивы модуля ngx_http_rewrite_module, заданные на
3345       уровне server, применялись повторно, если для запроса не находилось
3346       ни одного location'а.
3347
3348    *) Исправление: при использовании "aio sendfile" могла происходить
3349       утечка сокетов.
3350
3351    *) Исправление: при использовании файлового AIO соединения с быстрыми
3352       клиентами могли быть закрыты по истечению send_timeout.
3353
3354    *) Исправление: в модуле ngx_http_autoindex_module.
3355
3356    *) Исправление: модуль ngx_http_mp4_module не поддерживал перемотку на
3357       32-битных платформах.
3358
3359
3360Изменения в nginx 1.1.5                                           05.10.2011
3361
3362    *) Добавление: директивы uwsgi_buffering и scgi_buffering.
3363       Спасибо Peter Smit.
3364
3365    *) Исправление: при использовании proxy_cache_bypass могли быть
3366       закэшированы некэшируемые ответы.
3367       Спасибо John Ferlito.
3368
3369    *) Исправление: в модуле ngx_http_proxy_module при работе с бэкендами по
3370       HTTP/1.1.
3371
3372    *) Исправление: закэшированные ответы с пустым телом возвращались
3373       некорректно; ошибка появилась в 0.8.31.
3374
3375    *) Исправление: ответы с кодом 201 модуля ngx_http_dav_module были
3376       некорректны; ошибка появилась в 0.8.32.
3377
3378    *) Исправление: в директиве return.
3379
3380    *) Исправление: при использовании директивы "ssl_session_cache builtin"
3381       происходил segmentation fault; ошибка появилась в 1.1.1.
3382
3383
3384Изменения в nginx 1.1.4                                           20.09.2011
3385
3386    *) Добавление: модуль ngx_http_upstream_keepalive.
3387
3388    *) Добавление: директива proxy_http_version.
3389
3390    *) Добавление: директива fastcgi_keep_conn.
3391
3392    *) Добавление: директива worker_aio_requests.
3393
3394    *) Исправление: если nginx был собран с файловым AIO, он не мог
3395       запускаться на Linux без поддержки AIO.
3396
3397    *) Исправление: в обработке ошибок при работе с Linux AIO.
3398       Спасибо Hagai Avrahami.
3399
3400    *) Исправление: уменьшено потребление памяти для долгоживущих запросов.
3401
3402    *) Исправление: модуль ngx_http_mp4_module не поддерживал 64-битный
3403       MP4-атом co64.
3404
3405
3406Изменения в nginx 1.1.3                                           14.09.2011
3407
3408    *) Добавление: модуль ngx_http_mp4_module.
3409
3410    *) Исправление: в Linux AIO, используемым совместно с open_file_cache.
3411
3412    *) Исправление: open_file_cache не обновлял информацию о файле, если
3413       файл был изменён не атомарно.
3414
3415    *) Исправление: nginx не собирался на MacOSX 10.7.
3416
3417
3418Изменения в nginx 1.1.2                                           05.09.2011
3419
3420    *) Изменение: теперь, если суммарный размер всех диапазонов больше
3421       размера исходного ответа, то nginx возвращает только исходный ответ,
3422       не обрабатывая диапазоны.
3423
3424    *) Добавление: директива max_ranges.
3425
3426    *) Исправление: директивы ssl_verify_client, ssl_verify_depth и
3427       ssl_prefer_server_cipher могли работать некорректно, если
3428       использовался SNI.
3429
3430    *) Исправление: в директивах proxy/fastcgi/scgi/
3431       uwsgi_ignore_client_abort.
3432
3433
3434Изменения в nginx 1.1.1                                           22.08.2011
3435
3436    *) Изменение: теперь загрузчик кэша за каждую итерацию либо обрабатывает
3437       число файлов, указанное в параметре load_files, либо работает не
3438       дольше времени, указанного в параметре loader_threshold.
3439
3440    *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона.
3441
3442    *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
3443       на Solaris.
3444       Спасибо Денису Иванову.
3445
3446    *) Добавление: теперь на NetBSD поддерживаются accept фильтры.
3447
3448    *) Исправление: nginx не собирался на Linux 3.0.
3449
3450    *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка
3451       появилась в 1.1.0.
3452
3453    *) Исправление: обработка тела запроса могла быть неверной, если клиент
3454       использовал pipelining.
3455
3456    *) Исправление: в директиве request_body_in_single_buf.
3457
3458    *) Исправление: в директивах proxy_set_body и proxy_pass_request_body
3459       при использовании SSL-соединения с бэкендом.
3460
3461    *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
3462       были помечены флагом down.
3463
3464    *) Исправление: при переконфигурации мог произойти segmentation fault,
3465       если в предыдущей конфигурации был определён, но не использовался
3466       ssl_session_cache.
3467
3468    *) Исправление: при использовании большого количества backup-серверов в
3469       рабочем процессе мог произойти segmentation fault.
3470
3471    *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со
3472       значениями, начинающимися со строки "HTTP_", в рабочем процессе мог
3473       произойти segmentation fault; ошибка появилась в 0.8.40.
3474
3475
3476Изменения в nginx 1.1.0                                           01.08.2011
3477
3478    *) Добавление: уменьшение времени работы загрузчика кэша.
3479
3480    *) Добавление: параметры loader_files, loader_sleep и loader_threshold
3481       директив proxy/fastcgi/scgi/uwsgi_cache_path.
3482
3483    *) Добавление: уменьшение времени загрузки конфигураций с большим
3484       количеством HTTPS серверов.
3485
3486    *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
3487       Спасибо Adrian Kotelba.
3488
3489    *) Добавление: директива lingering_close.
3490       Спасибо Максиму Дунину.
3491
3492    *) Исправление: закрытия соединения для pipelined-запросов.
3493       Спасибо Максиму Дунину.
3494
3495    *) Исправление: nginx не запрещал сжатие при получении значения
3496       "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
3497
3498    *) Исправление: таймаута при небуферизированном проксировании.
3499       Спасибо Максиму Дунину.
3500
3501    *) Исправление: утечки памяти при использовании переменных в директиве
3502       proxy_pass при работе с бэкендом по HTTPS.
3503       Спасибо Максиму Дунину.
3504
3505    *) Исправление: в проверке параметра директивы proxy_pass, заданного
3506       переменными.
3507       Спасибо Lanshun Zhou.
3508
3509    *) Исправление: SSL не работал на QNX.
3510       Спасибо Максиму Дунину.
3511
3512    *) Исправление: SSL модули не собирались gcc 4.6 без параметра
3513       --with-debug.
3514
3515
3516Изменения в nginx 1.0.5                                           19.07.2011
3517
3518    *) Изменение: теперь по умолчанию используются следующие шифры SSL:
3519       "HIGH:!aNULL:!MD5".
3520       Спасибо Rob Stradling.
3521
3522    *) Добавление: директивы referer_hash_max_size и
3523       referer_hash_bucket_size.
3524       Спасибо Witold Filipczyk.
3525
3526    *) Добавление: переменная $uid_reset.
3527
3528    *) Исправление: при использовании кэширования в рабочем процессе мог
3529       произойти segmentation fault.
3530       Спасибо Lanshun Zhou.
3531
3532    *) Исправление: при использовании кэширования рабочие процессы могли
3533       зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
3534       Спасибо Максиму Дунину.
3535
3536    *) Исправление: сообщения "stalled cache updating".
3537       Спасибо Максиму Дунину.
3538
3539
3540Изменения в nginx 1.0.4                                           01.06.2011
3541
3542    *) Изменение: теперь в регулярных выражениях в директиве map можно
3543       задать чувствительность к регистру с помощью префиксов "~" и "~*".
3544
3545    *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
3546       на Linux.
3547       Спасибо Денису Латыпову.
3548
3549    *) Исправление: сообщения "stalled cache updating".
3550
3551    *) Исправление: nginx не собирался с параметром
3552       --without-http_auth_basic_module; ошибка появилась в 1.0.3.
3553
3554
3555Изменения в nginx 1.0.3                                           25.05.2011
3556
3557    *) Добавление: директива auth_basic_user_file поддерживает шифрование
3558       пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
3559       Спасибо Максиму Дунину.
3560
3561    *) Добавление: директива geoip_org и переменная $geoip_org.
3562       Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
3563
3564    *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
3565       поддерживают адреса IPv4, отображённые на IPv6 адреса.
3566
3567    *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в
3568       рабочем процессе происходил segmentation fault, если директивы access
3569       или deny были определены только для адресов IPv6; ошибка появилась в
3570       0.8.22.
3571
3572    *) Исправление: закэшированный ответ мог быть испорчен, если значения
3573       директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
3574       uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
3575
3576
3577Изменения в nginx 1.0.2                                           10.05.2011
3578
3579    *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX.
3580
3581    *) Исправление: в работе параметра rotate директивы image_filter.
3582       Спасибо Adam Bocim.
3583
3584    *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
3585
3586
3587Изменения в nginx 1.0.1                                           03.05.2011
3588
3589    *) Изменение: теперь директива split_clients использует алгоритм
3590       MurmurHash2 из-за лучшего распределения.
3591       Спасибо Олегу Мамонтову.
3592
3593    *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
3594       ложными значениями.
3595       Спасибо Максиму Дунину.
3596
3597    *) Изменение: теперь по умолчанию nginx использует значение 511 для
3598       listen backlog на Linux.
3599
3600    *) Добавление: переменные $upstream_... можно использовать в SSI и
3601       перловом модулях.
3602
3603    *) Исправление: теперь nginx лучше ограничивает размер кэша на диске.
3604       Спасибо Олегу Мамонтову.
3605
3606    *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
3607       segmentation fault; ошибка появилась в 0.8.22.
3608       Спасибо Максиму Дунину.
3609
3610    *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
3611
3612    *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
3613       появилась в 0.9.3.
3614       Спасибо Dagobert Michelsen.
3615
3616    *) Исправление: переменная $request_time имела неверные значения, если
3617       использовались подзапросы; ошибка появилась в 0.8.47.
3618       Спасибо Игорю А. Валькову.
3619
3620
3621Изменения в nginx 1.0.0                                           12.04.2011
3622
3623    *) Исправление: cache manager мог нагружать процессор после
3624       переконфигурации.
3625       Спасибо Максиму Дунину.
3626
3627    *) Исправление: директива "image_filter crop" неправильно работала в
3628       сочетании с "image_filter rotate 180".
3629
3630    *) Исправление: директива "satisfy any" запрещала выдачу
3631       пользовательской страницы для 401 кода.
3632
3633
3634Изменения в nginx 0.9.7                                           04.04.2011
3635
3636    *) Добавление: теперь соединения в состоянии keepalive могут быть
3637       закрыты преждевременно, если у воркера нет свободных соединений.
3638       Спасибо Максиму Дунину.
3639
3640    *) Добавление: параметр rotate директивы image_filter.
3641       Спасибо Adam Bocim.
3642
3643    *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
3644       scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
3645       upstream.
3646
3647
3648Изменения в nginx 0.9.6                                           21.03.2011
3649
3650    *) Добавление: директива map поддерживает регулярные выражения в
3651       качестве значения первого параметра.
3652
3653    *) Добавление: переменная $time_iso8601 для access_log.
3654       Спасибо Michael Lustfield.
3655
3656
3657Изменения в nginx 0.9.5                                           21.02.2011
3658
3659    *) Изменение: теперь по умолчанию nginx использует значение -1 для
3660       listen backlog на Linux.
3661       Спасибо Андрею Нигматулину.
3662
3663    *) Добавление: параметр utf8 в директивах geoip_country и geoip_city.
3664       Спасибо Денису Латыпову.
3665
3666    *) Исправление: исправление в умолчательной директиве proxy_redirect,
3667       если в директиве proxy_pass не был описан URI.
3668       Спасибо Максиму Дунину.
3669
3670    *) Исправление: директива error_page не работала с нестандартными кодами
3671       ошибок; ошибка появилась в 0.8.53.
3672       Спасибо Максиму Дунину.
3673
3674
3675Изменения в nginx 0.9.4                                           21.01.2011
3676
3677    *) Добавление: директива server_name поддерживает переменную $hostname.
3678
3679    *) Добавление: 494 код для ошибки "Request Header Too Large".
3680
3681
3682Изменения в nginx 0.9.3                                           13.12.2010
3683
3684    *) Исправление: если для пары IPv6-адрес:порт описан только один сервер,
3685       то выделения в регулярных выражениях в директиве server_name не
3686       работали.
3687
3688    *) Исправление: nginx не собирался под Solaris; ошибка появилась в
3689       0.9.0.
3690
3691
3692Изменения в nginx 0.9.2                                           06.12.2010
3693
3694    *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
3695       запроса клиента.
3696
3697    *) Изменение: использование accept(), если accept4() не реализован;
3698       ошибка появилась в 0.9.0.
3699
3700    *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
3701
3702    *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
3703       Спасибо Максиму Дунину.
3704
3705
3706Изменения в nginx 0.9.1                                           30.11.2010
3707
3708    *) Исправление: директивы вида "return CODE message" не работали; ошибка
3709       появилась в 0.9.0.
3710
3711
3712Изменения в nginx 0.9.0                                           29.11.2010
3713
3714    *) Добавление: директива keepalive_disable.
3715
3716    *) Добавление: директива map поддерживает переменные в качестве значения
3717       определяемой переменной.
3718
3719    *) Добавление: директива map поддерживает пустые строки в качестве
3720       значения первого параметра.
3721
3722    *) Добавление: директива map поддерживает выражения в первом параметре.
3723
3724    *) Добавление: страница руководства nginx(8).
3725       Спасибо Сергею Осокину.
3726
3727    *) Добавление: поддержка accept4() в Linux.
3728       Спасибо Simon Liu.
3729
3730    *) Изменение: устранение предупреждения линкера о "sys_errlist" и
3731       "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
3732
3733    *) Исправление: при использовании директивы auth_basic в рабочем
3734       процессе мог произойти segmentation fault.
3735       Спасибо Михаилу Лалетину.
3736
3737    *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
3738       появилась в 0.8.42.
3739
3740
3741Изменения в nginx 0.8.53                                          18.10.2010
3742
3743    *) Добавление: теперь директива error_page позволяет менять код статуса
3744       у редиректа.
3745
3746    *) Добавление: директива gzip_disable поддерживает специальную маску
3747       degradation.
3748
3749    *) Исправление: при использовании файлового AIO могла происходить утечка
3750       сокетов.
3751       Спасибо Максиму Дунину.
3752
3753    *) Исправление: если в первом сервере не была описана директива listen и
3754       нигде явно не описан сервер по умолчанию, то сервером по умолчанию
3755       становился следующий сервер с директивой listen; ошибка появилась в
3756       0.8.21.
3757
3758
3759Изменения в nginx 0.8.52                                          28.09.2010
3760
3761    *) Исправление: nginx использовал режим SSL для listen сокета, если для
3762       него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
3763
3764
3765Изменения в nginx 0.8.51                                          27.09.2010
3766
3767    *) Изменение: директива secure_link_expires упразднена.
3768
3769    *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
3770       alert на error.
3771
3772    *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
3773       несколько раз.
3774
3775
3776Изменения в nginx 0.8.50                                          02.09.2010
3777
3778    *) Добавление: директивы secure_link, secure_link_md5 и
3779       secure_link_expires модуля ngx_http_secure_link_module.
3780
3781    *) Добавление: ключ -q.
3782       Спасибо Геннадию Махомеду.
3783
3784    *) Исправление: при использовании кэширования рабочие процессы и могли
3785       зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
3786
3787    *) Исправление: в директиве gzip_disable.
3788       Спасибо Derrick Petzold.
3789
3790    *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
3791       reopen, reload процессу, запущенному в другой сессии.
3792
3793
3794Изменения в nginx 0.8.49                                          09.08.2010
3795
3796    *) Добавление: директива image_filter_jpeg_quality поддерживает
3797       переменные.
3798
3799    *) Исправление: при использовании переменной $geoip_region_name в
3800       рабочем процессе мог произойти segmentation fault; ошибка появилась в
3801       0.8.48.
3802
3803    *) Исправление: ошибки, перехваченные error_page, кэшировались только до
3804       следующего запроса; ошибка появилась в 0.8.48.
3805
3806
3807Изменения в nginx 0.8.48                                          03.08.2010
3808
3809    *) Изменение: теперь по умолчанию директива server_name имеет значение
3810       пустое имя "".
3811       Спасибо Геннадию Махомеду.
3812
3813    *) Изменение: теперь по умолчанию директива server_name_in_redirect
3814       имеет значение off.
3815
3816    *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
3817       $geoip_region_name.
3818       Спасибо Christine McGonagle.
3819
3820    *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
3821       scgi_pass не наследовались в блоки limit_except.
3822
3823    *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
3824       uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
3825       появилась в 0.8.46.
3826
3827    *) Исправление: директива fastcgi_split_path_info неверно использовала
3828       выделения, если в выделения попадала только часть URI.
3829       Спасибо Юрию Тарадаю и Frank Enderle.
3830
3831    *) Исправление: директива rewrite не экранировала символ ";" при
3832       копировании из URI в аргументы.
3833       Спасибо Daisuke Murase.
3834
3835    *) Исправление: модуль ngx_http_image_filter_module закрывал соединение,
3836       если изображение было больше размера image_filter_buffer.
3837
3838
3839Изменения в nginx 0.8.47                                          28.07.2010
3840
3841    *) Исправление: переменная $request_time имела неверные значения для
3842       подзапросов.
3843
3844    *) Исправление: ошибки, перехваченные error_page, не кэшировались.
3845
3846    *) Исправление: если использовался параметр max_size, то cache manager
3847       мог зациклиться; ошибка появилась в 0.8.46.
3848
3849
3850Изменения в nginx 0.8.46                                          19.07.2010
3851
3852    *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
3853       и scgi_no_cache теперь влияют только на сохранение закэшированного
3854       ответа.
3855
3856    *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
3857       uwsgi_cache_bypass и scgi_cache_bypass.
3858
3859    *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
3860       ошибки работы с бэкендом: память освобождалась только по истечении
3861       времени неактивности или при недостатке памяти.
3862
3863
3864Изменения в nginx 0.8.45                                          13.07.2010
3865
3866    *) Добавление: улучшения в модуле ngx_http_xslt_filter.
3867       Спасибо Laurence Rowe.
3868
3869    *) Исправление: ответ SSI модуля мог передаваться не полностью после
3870       команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
3871       Спасибо Максиму Дунину.
3872
3873    *) Исправление: директива listen не поддерживала параметр setfib=0.
3874
3875
3876Изменения в nginx 0.8.44                                          05.07.2010
3877
3878    *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
3879       заголовке которых есть строка "Set-Cookie".
3880
3881    *) Добавление: директива listen поддерживает параметр setfib.
3882       Спасибо Андрею Филонову.
3883
3884    *) Исправление: директива sub_filter могла изменять регистр букв при
3885       частичном совпадении.
3886
3887    *) Исправление: совместимость с HP/UX.
3888
3889    *) Исправление: совместимость с компилятором AIX xlC_r.
3890
3891    *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
3892       запросы.
3893       Спасибо Miroslaw Jaworski.
3894
3895
3896Изменения в nginx 0.8.43                                          30.06.2010
3897
3898    *) Добавление: ускорение загрузки больших баз geo-диапазонов.
3899
3900    *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
3901       без изменения кода ответа оставляло тело ошибки; ошибка появилась в
3902       0.8.42.
3903
3904    *) Исправление: nginx мог закрывать IPv6 listen сокет во время
3905       переконфигурации.
3906       Спасибо Максиму Дунину.
3907
3908    *) Исправление: переменную $uid_set можно использовать на любой стадии
3909       обработки запроса.
3910
3911
3912Изменения в nginx 0.8.42                                          21.06.2010
3913
3914    *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
3915       выражениями, если запрос полностью совпал с location'ом, заданным
3916       строкой префикса. Предыдущее поведение появилось в 0.7.1.
3917
3918    *) Добавление: модуль ngx_http_scgi_module.
3919       Спасибо Manlio Perillo.
3920
3921    *) Добавление: в директиве return можно добавлять текст ответа.
3922
3923
3924Изменения в nginx 0.8.41                                          15.06.2010
3925
3926    *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
3927       при запросе файла с неверной кодировкой UTF-8.
3928
3929    *) Изменение: теперь nginx разрешает использовать пробелы в строке
3930       запроса.
3931
3932    *) Исправление: директива proxy_redirect неправильно изменяла строку
3933       "Refresh" в заголовке ответа бэкенда.
3934       Спасибо Андрею Андрееву и Максиму Согину.
3935
3936    *) Исправление: nginx не поддерживал путь без имени хоста в строке
3937       "Destination" в заголовке запроса.
3938
3939
3940Изменения в nginx 0.8.40                                          07.06.2010
3941
3942    *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
3943       умолчанию.
3944       Спасибо Jose Antonio Vazquez Gonzalez.
3945
3946    *) Добавление: модуль ngx_http_uwsgi_module.
3947       Спасибо Roberto De Ioris.
3948
3949    *) Добавление: директива fastcgi_param со значением, начинающимся со
3950       строки "HTTP_", изменяет строку заголовка в запросе клиента.
3951
3952    *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
3953       заголовке запроса клиента передавались FastCGI-серверу при
3954       кэшировании.
3955
3956    *) Исправление: listen unix domain сокет нельзя было изменить во время
3957       переконфигурации.
3958       Спасибо Максиму Дунину.
3959
3960
3961Изменения в nginx 0.8.39                                          31.05.2010
3962
3963    *) Исправление: наследуемая директива alias неправильно работала во
3964       вложенном location'е.
3965
3966    *) Исправление: в комбинации директив alias с переменными и try_files;
3967
3968    *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
3969       время обновления без перерыва.
3970       Спасибо Максиму Дунину.
3971
3972
3973Изменения в nginx 0.8.38                                          24.05.2010
3974
3975    *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
3976
3977    *) Добавление: теперь при использовании переменной $scheme в директиве
3978       rewrite автоматически делается редирект.
3979       Спасибо Piotr Sikora.
3980
3981    *) Исправление: теперь задержки в директиве limit_req соответствует
3982       описанному алгоритму.
3983       Спасибо Максиму Дунину.
3984
3985    *) Исправление: переменную $uid_got нельзя было использовать в SSI и
3986       перловом модулях.
3987
3988
3989Изменения в nginx 0.8.37                                          17.05.2010
3990
3991    *) Добавление: модуль ngx_http_split_clients_module.
3992
3993    *) Добавление: директива map поддерживает ключи больше 255 символов.
3994
3995    *) Исправление: nginx игнорировал значения "private" и "no-store" в
3996       строке "Cache-Control" в заголовке ответа бэкенда.
3997
3998    *) Исправление: параметр stub в SSI-директиве include не использовался,
3999       если пустой ответ имел код 200.
4000
4001    *) Исправление: если проксированный или FastCGI запрос внутренне
4002       перенаправлялся в другой проксированный или FastCGI location, то в
4003       рабочем процессе мог произойти segmentation fault; ошибка появилась в
4004       0.8.33.
4005       Спасибо Yichun Zhang.
4006
4007    *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
4008       таймаута.
4009       Спасибо Alan Batie.
4010
4011
4012Изменения в nginx 0.8.36                                          22.04.2010
4013
4014    *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
4015       методы DELETE, COPY и MOVE для симлинков.
4016
4017    *) Исправление: модуль SSI в подзапросах использовал закэшированные в
4018       основном запросе значения переменных $query_string, $arg_... и им
4019       подобных.
4020
4021    *) Исправление: значение переменной повторно экранировалось после
4022       каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
4023
4024    *) Исправление: рабочий процесс зависал при запросе файла FIFO.
4025       Спасибо Vicente Aguilar и Максиму Дунину.
4026
4027    *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
4028       Спасибо Максиму Дунину.
4029
4030    *) Исправление: nginx не собирался с параметром --without-http-cache;
4031       ошибка появилась в 0.8.35.
4032
4033
4034Изменения в nginx 0.8.35                                          01.04.2010
4035
4036    *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
4037
4038    *) Добавление: директива chunked_transfer_encoding.
4039
4040    *) Исправление: символ "&" при копировании в аргументы в правилах
4041       rewrite не экранировался.
4042
4043    *) Исправление: nginx мог завершаться аварийно во время обработки
4044       сигнала или при использовании директивы timer_resolution на
4045       платформах, не поддерживающих методы kqueue или eventport.
4046       Спасибо George Xie и Максиму Дунину.
4047
4048    *) Исправление: если временные файлы и постоянное место хранения
4049       располагались на разных файловых системах, то у постоянных файлов
4050       время изменения было неверным.
4051       Спасибо Максиму Дунину.
4052
4053    *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
4054       "memcached sent invalid trailer".
4055       Спасибо Максиму Дунину.
4056
4057    *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
4058       текстов.
4059       Спасибо Максиму Дунину.
4060
4061    *) Исправление: в рабочем процессе происходил segmentation fault, если
4062       перед ответом FastCGI-сервера было много вывода в stderr; ошибка
4063       появилась в 0.8.34.
4064       Спасибо Максиму Дунину.
4065
4066
4067Изменения в nginx 0.8.34                                          03.03.2010
4068
4069    *) Исправление: nginx не поддерживал все шифры, используемые в
4070       клиентских сертификатах.
4071       Спасибо Иннокентию Еникееву.
4072
4073    *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
4074       ответом было много вывода в stderr.
4075
4076    *) Исправление: nginx не поддерживал HTTPS-рефереры.
4077
4078    *) Исправление: nginx/Windows мог не находить файлы, если путь в
4079       конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
4080
4081    *) Исправление: переменная $date_local выдавала неверное время, если
4082       использовался формат "%s".
4083       Спасибо Максиму Дунину.
4084
4085    *) Исправление: если ssl_session_cache не был установлен или установлен
4086       в none, то при проверке клиентского сертификаты могла происходить
4087       ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
4088
4089    *) Исправление: geo-диапазон возвращал значение по умолчанию, если
4090       диапазон включал в себя одну и более сетей размером /16 и не
4091       начинался на границе сети размером /16.
4092
4093    *) Исправление: блок, используемый в параметре stub в SSI-директиве
4094       include, выводился с MIME-типом "text/plain".
4095
4096    *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
4097
4098
4099Изменения в nginx 0.8.33                                          01.02.2010
4100
4101    *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
4102       Спасибо Dan Crowley, Core Security Technologies.
4103
4104    *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
4105       Спасибо Dan Crowley, Core Security Technologies.
4106
4107    *) Изменение: теперь keepalive соединения после запросов POST не
4108       запрещаются для MSIE 7.0+.
4109       Спасибо Adam Lounds.
4110
4111    *) Изменение: теперь keepalive соединения запрещены для Safari.
4112       Спасибо Joshua Sierles.
4113
4114    *) Исправление: если проксированный или FastCGI запрос внутренне
4115       перенаправлялся в другой проксированный или FastCGI location, то
4116       переменная $upstream_response_time могла иметь ненормально большое
4117       значение; ошибка появилась в 0.8.7.
4118
4119    *) Исправление: в рабочем процессе мог произойти segmentation fault при
4120       отбрасывания тела запроса; ошибка появилась в 0.8.11.
4121
4122
4123Изменения в nginx 0.8.32                                          11.01.2010
4124
4125    *) Исправление: ошибки при использовании кодировки UTF-8 в
4126       ngx_http_autoindex_module.
4127       Спасибо Максиму Дунину.
4128
4129    *) Исправление: именованные выделения в регулярных выражениях работали
4130       только для двух переменных.
4131       Спасибо Максиму Дунину.
4132
4133    *) Исправление: теперь в строке заголовка запроса "Host" используется
4134       имя "localhost", если в директиве auth_http указан unix domain сокет.
4135       Спасибо Максиму Дунину.
4136
4137    *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
4138       ответов.
4139       Спасибо Julian Reich.
4140
4141    *) Исправление: если директива "expires modified" выставляла дату в
4142       прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
4143       отрицательное число.
4144       Спасибо Алексею Капранову.
4145
4146
4147Изменения в nginx 0.8.31                                          23.12.2009
4148
4149    *) Добавление: теперь директива error_page может перенаправлять ответы
4150       со статусом 301 и 302.
4151
4152    *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
4153       $geoip_longitude.
4154       Спасибо Arvind Sundararajan.
4155
4156    *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет
4157       EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
4158
4159    *) Исправление: nginx закрывал соединение при запросе закэшированного
4160       ответа с пустым телом.
4161       Спасибо Piotr Sikora.
4162
4163    *) Исправление: nginx мог не собираться gcc 4.x при использовании
4164       оптимизации -O2 и выше.
4165       Спасибо Максиму Дунину и Денису Латыпову.
4166
4167    *) Исправление: регулярные выражения в location всегда тестировались с
4168       учётом регистра; ошибка появилась в 0.8.25.
4169
4170    *) Исправление: nginx кэшировал 304 ответ, если в заголовке
4171       проксируемого запроса была строка "If-None-Match".
4172       Спасибо Tim Dettrick и David Kostal.
4173
4174    *) Исправление: nginx/Windows пытался дважды удалить временный файл при
4175       перезаписи уже существующего файла.
4176
4177
4178Изменения в nginx 0.8.30                                          15.12.2009
4179
4180    *) Изменение: теперь по умолчанию размер буфера директивы
4181       large_client_header_buffers равен 8K.
4182       Спасибо Andrew Cholakian.
4183
4184    *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
4185
4186    *) Исправление: nginx/Windows пытался дважды переименовать временный
4187       файл при перезаписи уже существующего файла.
4188
4189    *) Исправление: ошибки double free or corruption, возникающей, если имя
4190       хоста не было найдено; ошибка появилась в 0.8.22.
4191       Спасибо Константину Свисту.
4192
4193    *) Исправление: в использовании libatomic на некоторых платформах.
4194       Спасибо W-Mark Kubacki.
4195
4196
4197Изменения в nginx 0.8.29                                          30.11.2009
4198
4199    *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код
4200       ответа "009".
4201
4202    *) Добавление: директивы addition_types, charset_types, gzip_types,
4203       ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
4204
4205    *) Добавление: использование встроенных атомарных операций GCC 4.1+.
4206       Спасибо W-Mark Kubacki.
4207
4208    *) Добавление: параметр --with-libatomic[=DIR] в configure.
4209       Спасибо W-Mark Kubacki.
4210
4211    *) Исправление: listen unix domain сокет имели ограниченные права
4212       доступа.
4213
4214    *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
4215       обрабатывались.
4216
4217    *) Исправление: именованные выделения в регулярных выражениях, заданные
4218       как "?P<...>", не работали в директиве server_name.
4219       Спасибо Максиму Дунину.
4220
4221
4222Изменения в nginx 0.8.28                                          23.11.2009
4223
4224    *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
4225       появилась в 0.8.25.
4226
4227
4228Изменения в nginx 0.8.27                                          17.11.2009
4229
4230    *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка
4231       появилась в 0.8.25.
4232
4233
4234Изменения в nginx 0.8.26                                          16.11.2009
4235
4236    *) Исправление: ошибки при использовании выделений в директиве rewrite;
4237       ошибка появилась в 0.8.25.
4238
4239    *) Исправление: nginx не собирался без параметра --with-debug; ошибка
4240       появилась в 0.8.25.
4241
4242
4243Изменения в nginx 0.8.25                                          16.11.2009
4244
4245    *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
4246       не найдена с помощью метода $r->variable().
4247
4248    *) Добавление: модуль ngx_http_degradation_module.
4249
4250    *) Добавление: именованные выделения в регулярных выражениях.
4251
4252    *) Добавление: теперь при использовании переменных в директиве
4253       proxy_pass не требуется задавать URI.
4254
4255    *) Добавление: теперь директива msie_padding работает и для Chrome.
4256
4257    *) Исправление: в рабочем процессе происходил segmentation fault при
4258       недостатке памяти; ошибка появилась в 0.8.18.
4259
4260    *) Исправление: nginx передавал сжатые ответы клиентам, не
4261       поддерживающим сжатие, при настройках gzip_static on и gzip_vary off;
4262       ошибка появилась в 0.8.16.
4263
4264
4265Изменения в nginx 0.8.24                                          11.11.2009
4266
4267    *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
4268       заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
4269
4270    *) Исправление: nginx не собирался без параметра --with-debug; ошибка
4271       появилась в 0.8.23.
4272
4273    *) Исправление: параметр "unix:" в директиве set_real_ip_from
4274       неправильно наследовался с предыдущего уровня.
4275
4276    *) Исправление: в resolver'е при определении пустого имени.
4277
4278
4279Изменения в nginx 0.8.23                                          11.11.2009
4280
4281    *) Безопасность: теперь SSL/TLS renegotiation запрещён.
4282       Спасибо Максиму Дунину.
4283
4284    *) Исправление: listen unix domain сокет не наследовался во время
4285       обновления без перерыва.
4286
4287    *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал
4288       без ещё одной директивы с любым IP-адресом.
4289
4290    *) Исправление: segmentation fault и зацикливания в resolver'е.
4291
4292    *) Исправление: в resolver'е.
4293       Спасибо Артёму Бохану.
4294
4295
4296Изменения в nginx 0.8.22                                          03.11.2009
4297
4298    *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
4299
4300    *) Добавление: директивы access и deny поддерживают IPv6.
4301
4302    *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
4303       заголовках запроса.
4304
4305    *) Добавление: параметр "unix:" в директиве set_real_ip_from.
4306
4307    *) Исправление: nginx не удалял unix domain сокет после тестирования
4308       конфигурации.
4309
4310    *) Исправление: nginx удалял unix domain сокет во время обновления без
4311       перерыва.
4312
4313    *) Исправление: оператор "!-x" не работал.
4314       Спасибо Максиму Дунину.
4315
4316    *) Исправление: в рабочем процессе мог произойти segmentation fault при
4317       использовании limit_rate в HTTPS сервере.
4318       Спасибо Максиму Дунину.
4319
4320    *) Исправление: при записи в лог переменной $limit_rate в рабочем
4321       процессе происходил segmentation fault.
4322       Спасибо Максиму Дунину.
4323
4324    *) Исправление: в рабочем процессе мог произойти segmentation fault,
4325       если внутри блока server не было директивы listen; ошибка появилась в
4326       0.8.21.
4327
4328
4329Изменения в nginx 0.8.21                                          26.10.2009
4330
4331    *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
4332
4333    *) Добавление: директива listen модуля HTTP поддерживает unix domain
4334       сокеты.
4335       Спасибо Hongli Lai.
4336
4337    *) Добавление: параметр "default_server" в директиве listen.
4338
4339    *) Добавление: теперь параметр "default" не обязателен для установки
4340       параметров listen-сокета.
4341
4342    *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
4343       платформах;
4344
4345    *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
4346
4347
4348Изменения в nginx 0.8.20                                          14.10.2009
4349
4350    *) Изменение: теперь по умолчанию используются следующие шифры SSL:
4351       "HIGH:!ADH:!MD5".
4352
4353    *) Исправление: модуль ngx_http_autoindex_module не показывал последний
4354       слэш для линков на каталоги; ошибка появилась в 0.7.15.
4355
4356    *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
4357       --error-log-path; ошибка появилась в 0.7.53.
4358
4359    *) Исправление: nginx не считал запятую разделителем в строке
4360       "Cache-Control" в заголовке ответа бэкенда.
4361
4362    *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше
4363       или файл с помощью директив proxy/fastcgi_store, если рабочий процесс
4364       не имел достаточно прав для работы с каталогами верхнего уровня.
4365
4366    *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
4367       FastCGI-сервера не скрывались при кэшировании, если не использовались
4368       директивы fastcgi_hide_header с любыми параметрами.
4369
4370    *) Исправление: nginx неверно считал размер кэша на диске.
4371
4372
4373Изменения в nginx 0.8.19                                          06.10.2009
4374
4375    *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
4376
4377    *) Изменение: теперь по умолчанию используются следующие шифры SSL:
4378       "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
4379
4380    *) Исправление: директива limit_req не работала; ошибка появилась в
4381       0.8.18.
4382
4383
4384Изменения в nginx 0.8.18                                          06.10.2009
4385
4386    *) Добавление: директива read_ahead.
4387
4388    *) Добавление: теперь можно использовать несколько директив
4389       perl_modules.
4390
4391    *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
4392
4393    *) Исправление: теперь директива limit_req соответствует алгоритму leaky
4394       bucket.
4395       Спасибо Максиму Дунину.
4396
4397    *) Исправление: nginx не работал на Linux/sparc.
4398       Спасибо Marcus Ramberg.
4399
4400    *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в
4401       ответе на запрос MKCOL.
4402       Спасибо Xie Zhenye.
4403
4404    *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
4405       появилась в 0.8.11.
4406
4407    *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
4408
4409
4410Изменения в nginx 0.8.17                                          28.09.2009
4411
4412    *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
4413       в заголовке запроса.
4414
4415    *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
4416
4417    *) Добавление: переменная $ssl_session_id.
4418
4419    *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
4420
4421
4422Изменения в nginx 0.8.16                                          22.09.2009
4423
4424    *) Добавление: директива image_filter_transparency.
4425
4426    *) Исправление: директива "addition_types" была неверно названа
4427       "addtion_types".
4428
4429    *) Исправление: порчи кэша resolver'а.
4430       Спасибо Matthew Dempsky.
4431
4432    *) Исправление: утечки памяти в resolver'е.
4433       Спасибо Matthew Dempsky.
4434
4435    *) Исправление: неверная строка запроса в переменной $request
4436       записывалась в access_log только при использовании error_log на
4437       уровне info или debug.
4438
4439    *) Исправление: в поддержке альфа-канала PNG в модуле
4440       ngx_http_image_filter_module.
4441
4442    *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
4443       заголовок ответа, если обе директивы gzip_static и gzip_vary были
4444       включены.
4445
4446    *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
4447       nginx/Windows.
4448
4449    *) Исправление: ошибки при использовании post_action; ошибка появилась в
4450       0.8.11.
4451       Спасибо Игорю Артемьеву.
4452
4453
4454Изменения в nginx 0.8.15                                          14.09.2009
4455
4456    *) Безопасность: при обработке специально созданного запроса в рабочем
4457       процессе мог произойти segmentation fault.
4458       Спасибо Chris Ries.
4459
4460    *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
4461       .domain-some.tld, то имя .sub.domain.tld попадало под маску
4462       .domain.tld.
4463
4464    *) Исправление: в поддержке прозрачности в модуле
4465       ngx_http_image_filter_module.
4466
4467    *) Исправление: в файловом AIO.
4468
4469    *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
4470       появилась в 0.8.11.
4471
4472    *) Исправление: ошибки при использовании встроенного перла; ошибка
4473       появилась в 0.8.11.
4474
4475
4476Изменения в nginx 0.8.14                                          07.09.2009
4477
4478    *) Исправление: устаревший закэшированный запрос мог залипнуть в
4479       состоянии "UPDATING".
4480
4481    *) Исправление: при использовании error_log на уровне info или debug в
4482       рабочем процессе мог произойти segmentation fault.
4483       Спасибо Сергею Боченкову.
4484
4485    *) Исправление: ошибки при использовании встроенного перла; ошибка
4486       появилась в 0.8.11.
4487
4488    *) Исправление: директива error_page не перенаправляла ошибку 413;
4489       ошибка появилась в 0.6.10.
4490
4491
4492Изменения в nginx 0.8.13                                          31.08.2009
4493
4494    *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
4495
4496    *) Исправление: nginx не собирался без параметра --with-file-aio на
4497       FreeBSD; ошибка появилась в 0.8.12.
4498
4499
4500Изменения в nginx 0.8.12                                          31.08.2009
4501
4502    *) Добавление: параметр sendfile в директиве aio во FreeBSD.
4503
4504    *) Исправление: ошибки при использовании try_files; ошибка появилась в
4505       0.8.11.
4506
4507    *) Исправление: ошибки при использовании memcached; ошибка появилась в
4508       0.8.11.
4509
4510
4511Изменения в nginx 0.8.11                                          28.08.2009
4512
4513    *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
4514       для MSIE 6.0 SV1.
4515
4516    *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
4517
4518    *) Добавление: директива directio_alignment.
4519
4520
4521Изменения в nginx 0.8.10                                          24.08.2009
4522
4523    *) Исправление: утечек памяти при использовании базы GeoIP City.
4524
4525    *) Исправление: ошибки при копировании временных файлов в постоянное
4526       место хранения; ошибка появилась в 0.8.9.
4527
4528
4529Изменения в nginx 0.8.9                                           17.08.2009
4530
4531    *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
4532       процесс; это должно улучшить обработку больших кэшей.
4533
4534    *) Добавление: теперь временные файлы и постоянное место хранения могут
4535       располагаться на разных файловых системах.
4536
4537
4538Изменения в nginx 0.8.8                                           10.08.2009
4539
4540    *) Исправление: в обработке заголовков ответа, разделённых в
4541       FastCGI-записях.
4542
4543    *) Исправление: если запрос обрабатывался в двух проксированных или
4544       FastCGI location'ах и в первом из них использовалось кэширование, то
4545       в рабочем процессе происходил segmentation fault; ошибка появилась в
4546       0.8.7.
4547
4548
4549Изменения в nginx 0.8.7                                           27.07.2009
4550
4551    *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
4552
4553    *) Изменение: параметр ask директивы ssl_verify_client изменён на
4554       параметр optional и теперь он проверяет клиентский сертификат, если
4555       он был предложен.
4556       Спасибо Brice Figureau.
4557
4558    *) Добавление: переменная $ssl_client_verify.
4559       Спасибо Brice Figureau.
4560
4561    *) Добавление: директива ssl_crl.
4562       Спасибо Brice Figureau.
4563
4564    *) Добавление: параметр proxy директивы geo.
4565
4566    *) Добавление: директива image_filter поддерживает переменные для
4567       задания размеров.
4568
4569    *) Исправление: использование переменной $ssl_client_cert портило
4570       память; ошибка появилась в 0.7.7.
4571       Спасибо Сергею Журавлёву.
4572
4573    *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
4574       передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
4575       "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда.
4576       Спасибо Максиму Дунину.
4577
4578    *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
4579       заголовке ответа бэкенда; ошибка появилась в 0.7.44.
4580       Спасибо Максиму Дунину.
4581
4582    *) Исправление: ошибки "[alert] zero size buf" при получении пустых
4583       ответы в подзапросах; ошибка появилась в 0.8.5.
4584
4585
4586Изменения в nginx 0.8.6                                           20.07.2009
4587
4588    *) Добавление: модуль ngx_http_geoip_module.
4589
4590    *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
4591       document" для правильного документа.
4592       Спасибо Kuramoto Eiji.
4593
4594    *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
4595       location'ов, заданных регулярным выражением, теперь всегда делается
4596       сравнение без учёта регистра символов.
4597
4598    *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
4599       Спасибо Hugo Leisink.
4600
4601    *) Исправление: имя файла указанного в --conf-path игнорировалось при
4602       установке; ошибка появилась в 0.6.6.
4603       Спасибо Максиму Дунину.
4604
4605
4606Изменения в nginx 0.8.5                                           13.07.2009
4607
4608    *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
4609
4610    *) Исправление: при использовании HTTP Basic-аутентификации на Windows
4611       для неверных имени/пароля возвращалась 500-ая ошибка.
4612
4613    *) Исправление: ответы модуля ngx_http_perl_module не работали в
4614       подзапросах.
4615
4616    *) Исправление: в модуле ngx_http_limit_req_module.
4617       Спасибо Максиму Дунину.
4618
4619
4620Изменения в nginx 0.8.4                                           22.06.2009
4621
4622    *) Исправление: nginx не собирался с параметром --without-http-cache;
4623       ошибка появилась в 0.8.3.
4624
4625
4626Изменения в nginx 0.8.3                                           19.06.2009
4627
4628    *) Добавление: переменная $upstream_cache_status.
4629
4630    *) Исправление: nginx не собирался на MacOSX 10.6.
4631
4632    *) Исправление: nginx не собирался с параметром --without-http-cache;
4633       ошибка появилась в 0.8.2.
4634
4635    *) Исправление: если использовался перехват 401 ошибки от бэкенда и
4636       бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
4637       в рабочем процессе происходил segmentation fault.
4638       Спасибо Евгению Мычло.
4639
4640
4641Изменения в nginx 0.8.2                                           15.06.2009
4642
4643    *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
4644       на старте.
4645
4646    *) Исправление: open_file_cache мог кэшировать открытые файлы очень
4647       долго; ошибка появилась в 0.7.4.
4648
4649
4650Изменения в nginx 0.8.1                                           08.06.2009
4651
4652    *) Добавление: параметр updating в директивах proxy_cache_use_stale и
4653       fastcgi_cache_use_stale.
4654
4655    *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
4656       заголовке запроса клиента передавались бэкенду при кэшировании, если
4657       не использовалась директива proxy_set_header с любыми параметрами.
4658
4659    *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
4660       не скрывались при кэшировании, если не использовались директивы
4661       proxy_hide_header/fastcgi_hide_header с любыми параметрами.
4662
4663    *) Исправление: модуль ngx_http_image_filter_module не понимал формат
4664       GIF87a.
4665       Спасибо Денису Ильиных.
4666
4667    *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
4668       появилась в 0.7.56.
4669
4670
4671Изменения в nginx 0.8.0                                           02.06.2009
4672
4673    *) Добавление: директива keepalive_requests.
4674
4675    *) Добавление: директива limit_rate_after.
4676       Спасибо Ivan Debnar.
4677
4678    *) Исправление: XSLT-фильтр не работал в подзапросах.
4679
4680    *) Исправление: обработке относительных путей в nginx/Windows.
4681
4682    *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
4683       fastcgi_cache в nginx/Windows.
4684
4685    *) Исправление: в обработке ошибок выделения памяти.
4686       Спасибо Максиму Дунину и Кириллу Коринскому.
4687
4688
4689Изменения в nginx 0.7.59                                          25.05.2009
4690
4691    *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
4692
4693    *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
4694       Спасибо Максиму Дунину.
4695
4696    *) Исправление: при использовании переменной $request_body в рабочем
4697       процессе происходил segmentation fault, если в запросе не было тела;
4698       ошибка появилась в 0.7.58.
4699
4700    *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
4701       ошибка появилась в 0.7.56.
4702
4703    *) Исправление: ответы модуля ngx_http_xslt_filter_module не
4704       обрабатывались SSI-, charset- и gzip-фильтрами.
4705
4706    *) Исправление: директива charset не ставила кодировку для ответов
4707       модуля ngx_http_gzip_static_module.
4708
4709
4710Изменения в nginx 0.7.58                                          18.05.2009
4711
4712    *) Добавление: директива listen почтового прокси-сервера поддерживает
4713       IPv6.
4714
4715    *) Добавление: директива image_filter_jpeg_quality.
4716
4717    *) Добавление: директива client_body_in_single_buffer.
4718
4719    *) Добавление: переменная $request_body.
4720
4721    *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
4722       файлов, содержащих символ ":".
4723
4724    *) Исправление: процедура "make upgrade" не работала; ошибка появилась в
4725       0.7.53.
4726       Спасибо Денису Латыпову.
4727
4728
4729Изменения в nginx 0.7.57                                          12.05.2009
4730
4731    *) Исправление: при перенаправлении ошибок модуля
4732       ngx_http_image_filter_module в именованный location в рабочем
4733       процессе происходил floating-point fault; ошибка появилась в 0.7.56.
4734
4735
4736Изменения в nginx 0.7.56                                          11.05.2009
4737
4738    *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля
4739       HTTP.
4740
4741    *) Исправление: в модуле ngx_http_image_filter_module.
4742
4743
4744Изменения в nginx 0.7.55                                          06.05.2009
4745
4746    *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
4747       fastcgi_cache_use_stale не работали.
4748
4749    *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
4750       заголовка.
4751
4752    *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
4753       nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
4754
4755    *) Исправление: при использовании директивы debug_connection в рабочем
4756       процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
4757
4758    *) Исправление: в сборке модуля ngx_http_image_filter_module.
4759
4760    *) Исправление: файлы больше 2G не передавались с использованием
4761       $r->sendfile.
4762       Спасибо Максиму Дунину.
4763
4764
4765Изменения в nginx 0.7.54                                          01.05.2009
4766
4767    *) Добавление: модуль ngx_http_image_filter_module.
4768
4769    *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
4770
4771    *) Исправление: при использовании переменных "open_file_cache_errors on"
4772       в рабочем процессе мог произойти segmentation fault; ошибка появилась
4773       в 0.7.53.
4774
4775    *) Исправление: директива "port_in_redirect off" не работала; ошибка
4776       появилась в 0.7.39.
4777
4778    *) Исправление: улучшение обработки ошибок метода select.
4779
4780    *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
4781
4782    *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
4783       ошибка появилась в 0.7.53.
4784
4785
4786Изменения в nginx 0.7.53                                          27.04.2009
4787
4788    *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
4789       самого начала работы.
4790
4791    *) Добавление: теперь ошибки и предупреждения при старте записываются в
4792       error_log и выводятся на stderr.
4793
4794    *) Добавление: при сборке с пустым параметром --prefix= nginx использует
4795       как префикс каталог, в котором он был запущен.
4796
4797    *) Добавление: ключ -p.
4798
4799    *) Добавление: ключ -s на Unix-платформах.
4800
4801    *) Добавление: ключи -? и -h.
4802       Спасибо Jerome Loyet.
4803
4804    *) Добавление: теперь ключи можно задавать в сжатой форме.
4805
4806    *) Исправление: nginx/Windows не работал, если файл конфигурации был
4807       задан ключом -c.
4808
4809    *) Исправление: при использовании директив proxy_store, fastcgi_store,
4810       proxy_cache или fastcgi_cache временные файлы могли не удаляться.
4811       Спасибо Максиму Дунину.
4812
4813    *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
4814       почтового прокси-сервера передавалось неверное значение; ошибка
4815       появилась в 0.7.34.
4816       Спасибо Simon Lecaille.
4817
4818    *) Исправление: при логгировании на Linux не писались текстовые описания
4819       системных ошибок; ошибка появилась в 0.7.45.
4820
4821    *) Исправление: директива fastcgi_cache_min_uses не работала.
4822       Спасибо Андрею Воробьёву.
4823
4824
4825Изменения в nginx 0.7.52                                          20.04.2009
4826
4827    *) Добавление: первая бинарная версия под Windows.
4828
4829    *) Исправление: корректная обработка метода HEAD при кэшировании.
4830
4831    *) Исправление: корректная обработка строк "If-Modified-Since",
4832       "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
4833
4834    *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
4835       заголовке ответа для закэшированных ответов.
4836
4837    *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
4838       perl поддерживал потоки, то при выходе основного процесса могла
4839       выдаваться ошибка "panic: MUTEX_LOCK".
4840
4841    *) Исправление: nginx не собирался с параметром --without-http-cache;
4842       ошибка появилась в 0.7.48.
4843
4844    *) Исправление: nginx не собирался на платформах, отличных от i386,
4845       amd64, sparc и ppc; ошибка появилась в 0.7.42.
4846
4847
4848Изменения в nginx 0.7.51                                          12.04.2009
4849
4850    *) Добавление: директива try_files поддерживает код ответа в последнем
4851       параметре.
4852
4853    *) Добавление: теперь в директиве return можно использовать любой код
4854       ответа.
4855
4856    *) Исправление: директива error_page делала внешний редирект без строки
4857       запроса; ошибка появилась в 0.7.44.
4858
4859    *) Исправление: если сервера слушали на нескольких явно описанных
4860       адресах, то виртуальные сервера могли не работать; ошибка появилась в
4861       0.7.39.
4862
4863
4864Изменения в nginx 0.7.50                                          06.04.2009
4865
4866    *) Исправление: переменные $arg_... не работали; ошибка появилась в
4867       0.7.49.
4868
4869
4870Изменения в nginx 0.7.49                                          06.04.2009
4871
4872    *) Исправление: при использовании переменных $arg_... в рабочем процессе
4873       мог произойти segmentation fault; ошибка появилась в 0.7.48.
4874
4875
4876Изменения в nginx 0.7.48                                          06.04.2009
4877
4878    *) Добавление: директива proxy_cache_key.
4879
4880    *) Исправление: теперь nginx учитывает при кэшировании строки
4881       "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
4882       бэкенда.
4883
4884    *) Исправление: теперь nginx кэширует только ответы на запросы GET.
4885
4886    *) Исправление: директива fastcgi_cache_key не наследовалась.
4887
4888    *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
4889       Спасибо Максиму Дунину.
4890
4891    *) Исправление: nginx не собирался с библиотекой uclibc.
4892       Спасибо Timothy Redaelli.
4893
4894    *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
4895       в 0.7.46.
4896
4897
4898Изменения в nginx 0.7.47                                          01.04.2009
4899
4900    *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
4901       ошибка появилась в 0.7.46.
4902
4903    *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
4904
4905    *) Исправление: если использовался параметр max_size, то cache manager
4906       мог удалить весь кэш; ошибка появилась в 0.7.46.
4907
4908    *) Изменение: в рабочем процессе мог произойти segmentation fault, если
4909       директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
4910       fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
4911       в 0.7.46.
4912
4913    *) Исправление: в рабочем процессе мог произойти segmentation fault при
4914       перенаправлении запроса проксированному или FastCGI-серверу с помощью
4915       error_page или try_files; ошибка появилась в 0.7.44.
4916
4917
4918Изменения в nginx 0.7.46                                          30.03.2009
4919
4920    *) Исправление: архив предыдущего релиза был неверным.
4921
4922
4923Изменения в nginx 0.7.45                                          30.03.2009
4924
4925    *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
4926       задавать на разных уровнях.
4927
4928    *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
4929
4930    *) Добавление: параметр max_size в директиве proxy_cache_path.
4931
4932    *) Добавление: предварительная поддержка кэширования в модуле
4933       ngx_http_fastcgi_module.
4934
4935    *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
4936       указываются названия директивы и зоны.
4937
4938    *) Исправление: директива "add_header last-modified ''" не удаляла в
4939       заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
4940
4941    *) Исправление: в директиве auth_basic_user_file не работал
4942       относительный путь, заданный строкой без переменных; ошибка появилась
4943       в 0.7.44.
4944       Спасибо Jerome Loyet.
4945
4946    *) Исправление: в директиве alias, заданной переменными без ссылок на
4947       выделения в регулярных выражениях; ошибка появилась в 0.7.42.
4948
4949
4950Изменения в nginx 0.7.44                                          23.03.2009
4951
4952    *) Добавление: предварительная поддержка кэширования в модуле
4953       ngx_http_proxy_module.
4954
4955    *) Добавление: параметр --with-pcre в configure.
4956
4957    *) Добавление: теперь директива try_files может быть использована на
4958       уровне server.
4959
4960    *) Исправление: директива try_files неправильно обрабатывала строку
4961       запроса в последнем параметре.
4962
4963    *) Исправление: директива try_files могла неверно тестировать каталоги.
4964
4965    *) Исправление: если для пары адрес:порт описан только один сервер, то
4966       выделения в регулярных выражениях в директиве server_name не
4967       работали.
4968
4969
4970Изменения в nginx 0.7.43                                          18.03.2009
4971
4972    *) Исправление: запрос обрабатывался неверно, если директива root
4973       использовала переменные; ошибка появилась в 0.7.42.
4974
4975    *) Исправление: если сервер слушал на адресах типа "*", то значение
4976       переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
4977
4978
4979Изменения в nginx 0.7.42                                          16.03.2009
4980
4981    *) Изменение: ошибка "Invalid argument", возвращаемая
4982       setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
4983
4984    *) Изменение: при отсутствии файла, указанного в директиве
4985       auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
4986
4987    *) Добавление: директива auth_basic_user_file поддерживает переменные.
4988       Спасибо Кириллу Коринскому.
4989
4990    *) Добавление: директива listen поддерживает параметр ipv6only.
4991       Спасибо Zhang Hua.
4992
4993    *) Исправление: в директиве alias со ссылками на выделения в регулярных
4994       выражениях; ошибка появилась в 0.7.40.
4995
4996    *) Исправление: совместимость с Tru64 UNIX.
4997       Спасибо Dustin Marquess.
4998
4999    *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
5000       в 0.7.41.
5001
5002
5003Изменения в nginx 0.7.41                                          11.03.2009
5004
5005    *) Исправление: в рабочем процессе мог произойти segmentation fault,
5006       если в server_name или location были выделения в регулярных
5007       выражениях; ошибка появилась в 0.7.40.
5008       Спасибо Владимиру Сопоту.
5009
5010
5011Изменения в nginx 0.7.40                                          09.03.2009
5012
5013    *) Добавление: директива location поддерживает выделения в регулярных
5014       выражениях.
5015
5016    *) Добавление: директиву alias с ссылками на выделения в регулярных
5017       выражениях можно использовать внутри location'а, заданного регулярным
5018       выражением с выделениями.
5019
5020    *) Добавление: директива server_name поддерживает выделения в регулярных
5021       выражениях.
5022
5023    *) Изменение: модуль ngx_http_autoindex_module не показывал последний
5024       слэш для каталогов на файловой системе XFS; ошибка появилась в
5025       0.7.15.
5026       Спасибо Дмитрию Кузьменко.
5027
5028
5029Изменения в nginx 0.7.39                                          02.03.2009
5030
5031    *) Исправление: при включённом сжатии большие ответы с использованием
5032       SSI могли зависать; ошибка появилась в 0.7.28.
5033       Спасибо Артёму Бохану.
5034
5035    *) Исправление: при использовании коротких статических вариантов в
5036       директиве try_files в рабочем процессе мог произойти segmentation
5037       fault.
5038
5039
5040Изменения в nginx 0.7.38                                          23.02.2009
5041
5042    *) Добавление: логгирование ошибок аутентификации.
5043
5044    *) Исправление: имя/пароль, заданные в auth_basic_user_file,
5045       игнорировались после нечётного числа пустых строк.
5046       Спасибо Александру Загребину.
5047
5048    *) Исправление: при использовании длинного пути в unix domain сокете в
5049       главном процессе происходил segmentation fault; ошибка появилась в
5050       0.7.36.
5051
5052
5053Изменения в nginx 0.7.37                                          21.02.2009
5054
5055    *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
5056       появилась в 0.7.36.
5057
5058
5059Изменения в nginx 0.7.36                                          21.02.2009
5060
5061    *) Добавление: предварительная поддержка IPv6; директива listen модуля
5062       HTTP поддерживает IPv6.
5063
5064    *) Исправление: переменная $ancient_browser не работала для браузеров,
5065       заданных директивами modern_browser.
5066
5067
5068Изменения в nginx 0.7.35                                          16.02.2009
5069
5070    *) Исправление: директива ssl_engine не использовала SSL-акселератор для
5071       асимметричных шифров.
5072       Спасибо Marcin Gozdalik.
5073
5074    *) Исправление: директива try_files выставляла MIME-type, исходя из
5075       расширения первоначального запроса.
5076
5077    *) Исправление: в директивах server_name, valid_referers и map
5078       неправильно обрабатывались имена вида "*domain.tld", если
5079       использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
5080       ошибка появилась в 0.7.9.
5081
5082
5083Изменения в nginx 0.7.34                                          10.02.2009
5084
5085    *) Добавление: параметр off в директиве if_modified_since.
5086
5087    *) Добавление: теперь после команды XCLIENT nginx посылает команду
5088       HELO/EHLO.
5089       Спасибо Максиму Дунину.
5090
5091    *) Добавление: поддержка Microsoft-специфичного режима
5092       "AUTH LOGIN with User Name" в почтовом прокси-сервере.
5093       Спасибо Максиму Дунину.
5094
5095    *) Исправление: в директиве rewrite, возвращающей редирект, старые
5096       аргументы присоединялись к новым через символ "?" вместо "&";
5097       ошибка появилась в 0.1.18.
5098       Спасибо Максиму Дунину.
5099
5100    *) Исправление: nginx не собирался на AIX.
5101
5102
5103Изменения в nginx 0.7.33                                          02.02.2009
5104
5105    *) Исправление: если на запрос с телом возвращался редирект, то ответ
5106       мог быть двойным при использовании методов epoll или rtsig.
5107       Спасибо Eden Li.
5108
5109    *) Исправление: для некоторых типов редиректов в переменной
5110       $sent_http_location было пустое значение.
5111
5112    *) Исправление: при использовании директивы resolver в SMTP
5113       прокси-сервере в рабочем процессе мог произойти segmentation fault.
5114
5115
5116Изменения в nginx 0.7.32                                          26.01.2009
5117
5118    *) Добавление: теперь в директиве try_files можно явно указать проверку
5119       каталога.
5120
5121    *) Исправление: fastcgi_store не всегда сохранял файлы.
5122
5123    *) Исправление: в гео-диапазонах.
5124
5125    *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
5126       если nginx был собран без отладки.
5127       Спасибо Андрею Квасову.
5128
5129
5130Изменения в nginx 0.7.31                                          19.01.2009
5131
5132    *) Изменение: теперь директива try_files проверяет только файлы,
5133       игнорируя каталоги.
5134
5135    *) Добавление: директива fastcgi_split_path_info.
5136
5137    *) Исправления в поддержке строки "Expect" в заголовке запроса.
5138
5139    *) Исправления в гео-диапазонах.
5140
5141    *) Исправление: при отсутствии ответа ngx_http_memcached_module
5142       возвращал в теле ответа строку "END" вместо 404-ой страницы по
5143       умолчанию; ошибка появилась в 0.7.18.
5144       Спасибо Максиму Дунину.
5145
5146    *) Исправление: при проксировании SMTP nginx выдавал сообщение
5147       "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
5148       Спасибо Максиму Дунину.
5149
5150
5151Изменения в nginx 0.7.30                                          24.12.2008
5152
5153    *) Исправление: в рабочем процессе происходил segmentation fault, если в
5154       директивах fastcgi_pass или proxy_pass использовались переменные и
5155       имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
5156
5157
5158Изменения в nginx 0.7.29                                          24.12.2008
5159
5160    *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
5161       переменные при использовании unix domain сокетов.
5162
5163    *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
5164
5165    *) Исправление: ответ "100 Continue" выдавался для запросов версии
5166       HTTP/1.0;
5167       Спасибо Максиму Дунину.
5168
5169    *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
5170       под Cygwin.
5171
5172
5173Изменения в nginx 0.7.28                                          22.12.2008
5174
5175    *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
5176
5177    *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
5178       с 4 4k/8k на 32 4k или 16 8k.
5179
5180
5181Изменения в nginx 0.7.27                                          15.12.2008
5182
5183    *) Добавление: директива try_files.
5184
5185    *) Добавление: директива fastcgi_pass поддерживает переменные.
5186
5187    *) Добавление: теперь директива geo может брать адрес из переменной.
5188       Спасибо Андрею Нигматулину.
5189
5190    *) Добавление: теперь модификатор location'а можно указывать без пробела
5191       перед названием.
5192
5193    *) Добавление: переменная $upstream_response_length.
5194
5195    *) Исправление: теперь директива add_header не добавляет пустое
5196       значение.
5197
5198    *) Исправление: при запросе файла нулевой длины nginx закрывал
5199       соединение, ничего не передав; ошибка появилась в 0.7.25.
5200
5201    *) Исправление: метод MOVE не мог перемещать файл в несуществующий
5202       каталог.
5203
5204    *) Исправление: если в сервере не был описан ни один именованный
5205       location, но такой location использовался в директиве error_page, то
5206       в рабочем процессе происходил segmentation fault.
5207       Спасибо Сергею Боченкову.
5208
5209
5210Изменения в nginx 0.7.26                                          08.12.2008
5211
5212    *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
5213
5214
5215Изменения в nginx 0.7.25                                          08.12.2008
5216
5217    *) Изменение: в обработке подзапросов.
5218
5219    *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
5220       заголовке запроса.
5221
5222    *) Исправление: теперь директивы limit_req и limit_conn указывают
5223       причину запрета запроса.
5224
5225    *) Исправление: в параметре delete директивы geo.
5226
5227
5228Изменения в nginx 0.7.24                                          01.12.2008
5229
5230    *) Добавление: директива if_modified_since.
5231
5232    *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
5233       ответом сервер передавал много сообщений в stderr.
5234
5235    *) Исправление: переменные "$cookie_..." не работали в SSI and в
5236       перловом модуле.
5237
5238
5239Изменения в nginx 0.7.23                                          27.11.2008
5240
5241    *) Добавление: параметры delete и ranges в директиве geo.
5242
5243    *) Добавление: ускорение загрузки geo-базы с большим числом значений.
5244
5245    *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
5246
5247
5248Изменения в nginx 0.7.22                                          20.11.2008
5249
5250    *) Добавление: параметр none в директиве smtp_auth.
5251       Спасибо Максиму Дунину.
5252
5253    *) Добавление: переменные "$cookie_...".
5254
5255    *) Исправление: директива directio не работала с файловой системой XFS.
5256
5257    *) Исправление: resolver не понимал большие DNS-ответы.
5258       Спасибо Zyb.
5259
5260
5261Изменения в nginx 0.7.21                                          11.11.2008
5262
5263    *) Изменения в модуле ngx_http_limit_req_module.
5264
5265    *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
5266       Спасибо Денису Латыпову.
5267
5268    *) Изменение: совместимость с glibc 2.3.
5269       Спасибо Eric Benson и Максиму Дунину.
5270
5271    *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
5272       ошибка появилась в 0.7.6.
5273
5274
5275Изменения в nginx 0.7.20                                          10.11.2008
5276
5277    *) Изменения в модуле ngx_http_gzip_filter_module.
5278
5279    *) Добавление: модуль ngx_http_limit_req_module.
5280
5281    *) Исправление: на платформах sparc и ppc рабочие процессы могли
5282       выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
5283       Спасибо Максиму Дунину.
5284
5285    *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
5286       работали; ошибка появилась в 0.7.12.
5287
5288    *) Исправление: при использовании HTTPS запросы могли завершаться с
5289       ошибкой "bad write retry".
5290
5291    *) Исправление: модуль ngx_http_secure_link_module не работал внутри
5292       location'ов с именами меньше 3 символов.
5293
5294    *) Исправление: переменная $server_addr могла не иметь значения.
5295
5296
5297Изменения в nginx 0.7.19                                          13.10.2008
5298
5299    *) Исправление: обновление номера версии.
5300
5301
5302Изменения в nginx 0.7.18                                          13.10.2008
5303
5304    *) Изменение: директива underscores_in_headers; теперь nginx по
5305       умолчанию не разрешает подчёркивания в именах строк в заголовке
5306       запроса клиента.
5307
5308    *) Добавление: модуль ngx_http_secure_link_module.
5309
5310    *) Добавление: директива real_ip_header поддерживает любой заголовок.
5311
5312    *) Добавление: директива log_subrequest.
5313
5314    *) Добавление: переменная $realpath_root.
5315
5316    *) Добавление: параметры http_502 и http_504 в директиве
5317       proxy_next_upstream.
5318
5319    *) Исправление: параметр http_503 в директивах proxy_next_upstream или
5320       fastcgi_next_upstream не работал.
5321
5322    *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
5323       для запросов HEAD.
5324
5325    *) Исправление: теперь accept-лимит зависит от числа worker_connections.
5326
5327
5328Изменения в nginx 0.7.17                                          15.09.2008
5329
5330    *) Добавление: директива directio теперь работает на Linux.
5331
5332    *) Добавление: переменная $pid.
5333
5334    *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
5335       при использовании open_file_cache.
5336
5337    *) Исправление: access_log с переменными не работал на Linux; ошибка
5338       появилась в 0.7.7.
5339
5340    *) Исправление: модуль ngx_http_charset_module не понимал название
5341       кодировки в кавычках, полученное от бэкенда.
5342
5343
5344Изменения в nginx 0.7.16                                          08.09.2008
5345
5346    *) Исправление: nginx не собирался на 64-битных платформах; ошибка
5347       появилась в 0.7.15.
5348
5349
5350Изменения в nginx 0.7.15                                          08.09.2008
5351
5352    *) Добавление: модуль ngx_http_random_index_module.
5353
5354    *) Добавление: директива directio оптимизирована для запросов файлов,
5355       начинающихся с произвольной позиции.
5356
5357    *) Добавление: директива directio при необходимости запрещает
5358       использование sendfile.
5359
5360    *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
5361       заголовке запроса клиента.
5362
5363
5364Изменения в nginx 0.7.14                                          01.09.2008
5365
5366    *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
5367       имеют значений по умолчанию.
5368
5369    *) Добавление: директива listen поддерживает параметр ssl.
5370
5371    *) Добавление: теперь при переконфигурации nginx учитывает изменение
5372       временной зоны на FreeBSD и Linux.
5373
5374    *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
5375       прочие, не устанавливались, если сервером по умолчанию был не первый
5376       сервер.
5377
5378    *) Исправление: при использовании в качестве аргументов части URI,
5379       выделенного с помощью директивы rewrite, эти аргументы не
5380       экранировались.
5381
5382    *) Исправление: улучшения тестирования правильности конфигурационного
5383       файла.
5384
5385
5386Изменения в nginx 0.7.13                                          26.08.2008
5387
5388    *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
5389       в 0.7.12.
5390
5391
5392Изменения в nginx 0.7.12                                          26.08.2008
5393
5394    *) Добавление: директива server_name поддерживает пустое имя "".
5395
5396    *) Добавление: директива gzip_disable поддерживает специальную маску
5397       msie6.
5398
5399    *) Исправление: при использовании параметра max_fails=0 в upstream'е с
5400       несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
5401       Спасибо Максиму Дунину.
5402
5403    *) Исправление: при перенаправлении запроса с помощью директивы
5404       error_page терялось тело запроса.
5405
5406    *) Исправление: при перенаправлении запроса с методом HEAD с помощью
5407       директивы error_page возвращался полный ответ.
5408
5409    *) Исправление: метод $r->header_in() не возвращал значения строк
5410       "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
5411       появилась в 0.7.0.
5412
5413
5414Изменения в nginx 0.7.11                                          18.08.2008
5415
5416    *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
5417       MIME-типом text/css.
5418
5419    *) Добавление: теперь nginx возвращает код 405 для метода POST при
5420       запросе статического файла, только если файл существует.
5421
5422    *) Добавление: директива proxy_ssl_session_reuse.
5423
5424    *) Исправление: после перенаправления запроса с помощью
5425       "X-Accel-Redirect" директива proxy_pass без URI могла использовать
5426       оригинальный запрос.
5427
5428    *) Исправление: если у каталога были права доступа только на поиск
5429       файлов и первый индексный файл отсутствовал, то nginx возвращал
5430       ошибку 500.
5431
5432    *) Исправление: ошибок во вложенных location'ах; ошибки появились в
5433       0.7.1.
5434
5435
5436Изменения в nginx 0.7.10                                          13.08.2008
5437
5438    *) Исправление: ошибок в директивах addition_types, charset_types,
5439       gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
5440       появились в 0.7.9.
5441
5442    *) Исправление: рекурсивной error_page для 500 ошибки.
5443
5444    *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес
5445       не для всего keepalive соединения, а для каждого запроса по этому
5446       соединению.
5447
5448
5449Изменения в nginx 0.7.9                                           12.08.2008
5450
5451    *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
5452       следующими MIME-типами: text/html, text/css, text/xml, text/plain,
5453       text/vnd.wap.wml, application/x-javascript и application/rss+xml.
5454
5455    *) Добавление: директивы charset_types и addition_types.
5456
5457    *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types
5458       используют хэш.
5459
5460    *) Добавление: модуль ngx_cpp_test_module.
5461
5462    *) Добавление: директива expires поддерживает суточное время.
5463
5464    *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module.
5465       Спасибо Денису Латыпову и Максиму Дунину.
5466
5467    *) Исправление: директива log_not_found не работала при поиске индексных
5468       файлов.
5469
5470    *) Исправление: HTTPS-соединения могли зависнуть, если использовались
5471       методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
5472
5473    *) Исправление: если в директивах server_name, valid_referers и map
5474       использовалась маска вида "*.domain.tld" и при этом полное имя вида
5475       "domain.tld" не было описано, то это имя попадало под маску; ошибка
5476       появилась в 0.3.18.
5477
5478
5479Изменения в nginx 0.7.8                                           04.08.2008
5480
5481    *) Добавление: модуль ngx_http_xslt_module.
5482
5483    *) Добавление: переменные "$arg_...".
5484
5485    *) Добавление: поддержка directio в Solaris.
5486       Спасибо Ivan Debnar.
5487
5488    *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
5489       в заголовке ответа без строки статуса, то nginx использует код
5490       статуса 302.
5491       Спасибо Максиму Дунину.
5492
5493
5494Изменения в nginx 0.7.7                                           30.07.2008
5495
5496    *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
5497       временной.
5498
5499    *) Изменение: значением переменной $ssl_client_cert теперь является
5500       сертификат, перед каждой строкой которого, кроме первой, вставляется
5501       символ табуляции; неизменённый сертификат доступен через переменную
5502       $ssl_client_raw_cert.
5503
5504    *) Добавление: параметр ask директивы ssl_verify_client.
5505
5506    *) Добавление: улучшения в обработке byte-range.
5507       Спасибо Максиму Дунину.
5508
5509    *) Добавление: директива directio.
5510       Спасибо Jiang Hong.
5511
5512    *) Добавление: поддержка sendfile() в MacOSX 10.5.
5513
5514    *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
5515       делается сравнение без учёта регистра символов; однако, сравнение
5516       ограничено только однобайтными locale'ями.
5517
5518    *) Исправление: соединения почтового прокси-сервера зависали в режиме
5519       SSL, если использовались методы select, poll или /dev/poll.
5520
5521    *) Исправление: ошибки при использовании кодировки UTF-8 в
5522       ngx_http_autoindex_module.
5523
5524
5525Изменения в nginx 0.7.6                                           07.07.2008
5526
5527    *) Исправление: теперь при использовании переменных в директиве
5528       access_log всегда проверяется существовании root'а для запроса.
5529
5530    *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
5531       значений в аргументах запроса.
5532
5533
5534Изменения в nginx 0.7.5                                           01.07.2008
5535
5536    *) Исправления в поддержке переменных в директиве access_log; ошибки
5537       появились в 0.7.4.
5538
5539    *) Исправление: nginx не собирался с параметром
5540       --without-http_gzip_module; ошибка появилась в 0.7.3.
5541       Спасибо Кириллу Коринскому.
5542
5543    *) Исправление: при совместном использовании sub_filter и SSI ответы
5544       могли передаваться неверно.
5545
5546
5547Изменения в nginx 0.7.4                                           30.06.2008
5548
5549    *) Добавление: директива access_log поддерживает переменные.
5550
5551    *) Добавление: директива open_log_file_cache.
5552
5553    *) Добавление: ключ -g.
5554
5555    *) Добавление: поддержка строки "Expect" в заголовке запроса.
5556
5557    *) Исправление: большие включения в SSI могли передавались не полностью.
5558
5559
5560Изменения в nginx 0.7.3                                           23.06.2008
5561
5562    *) Изменение: MIME-тип для расширения rss изменён на
5563       "application/rss+xml".
5564
5565    *) Изменение: теперь директива "gzip_vary on" выдаёт строку
5566       "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
5567
5568    *) Добавление: теперь при использовании протокола "https://" в директиве
5569       rewrite автоматически делается редирект.
5570
5571    *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
5572       ошибка появилась в 0.6.9.
5573
5574
5575Изменения в nginx 0.7.2                                           16.06.2008
5576
5577    *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
5578
5579    *) Добавление: директива ssl_dhparam.
5580
5581    *) Добавление: переменная $ssl_client_cert.
5582       Спасибо Manlio Perillo.
5583
5584    *) Исправление: после изменения URI с помощью директивы rewrite nginx не
5585       искал новый location; ошибка появилась в 0.7.1.
5586       Спасибо Максиму Дунину.
5587
5588    *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
5589       в 0.7.1.
5590
5591    *) Исправление: при редиректе запроса к каталогу с добавлением слэша
5592       nginx не добавлял аргументы из оригинального запроса.
5593
5594
5595Изменения в nginx 0.7.1                                           26.05.2008
5596
5597    *) Изменение: теперь поиск location'а делается с помощью дерева.
5598
5599    *) Изменение: директива optimize_server_names упразднена в связи с
5600       появлением директивы server_name_in_redirect.
5601
5602    *) Изменение: некоторые давно устаревшие директивы больше не
5603       поддерживаются.
5604
5605    *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот
5606       параметр используется по умолчанию.
5607       Спасибо Rob Mueller.
5608
5609    *) Исправление: рабочие процессы могли не реагировать на сигналы
5610       переконфигурации и ротации логов.
5611
5612    *) Исправление: nginx не собирался на последних Fedora 9 Linux.
5613       Спасибо Roxis.
5614
5615
5616Изменения в nginx 0.7.0                                           19.05.2008
5617
5618    *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
5619       записываются в виде \xXX.
5620       Спасибо Максиму Дунину.
5621
5622    *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
5623       запроса.
5624
5625    *) Добавление: директива expires поддерживает флаг modified.
5626
5627    *) Добавление: переменные $uid_got и $uid_set можно использовать на
5628       любой стадии обработки запроса.
5629
5630    *) Добавление: переменная $hostname.
5631       Спасибо Андрею Нигматулину.
5632
5633    *) Добавление: поддержка DESTDIR.
5634       Спасибо Todd A. Fisher и Andras Voroskoi.
5635
5636    *) Исправление: при использовании keepalive на Linux в рабочем процессе
5637       мог произойти segmentation fault.
5638
5639
5640Изменения в nginx 0.6.31                                          12.05.2008
5641
5642    *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
5643       заголовка ответа была в конце записи FastCGI; ошибка появилась в
5644       0.6.2.
5645       Спасибо Сергею Серову.
5646
5647    *) Исправление: при удалении файла и использовании директивы
5648       open_file_cache_errors off в рабочем процессе мог произойти
5649       segmentation fault.
5650
5651
5652Изменения в nginx 0.6.30                                          29.04.2008
5653
5654    *) Изменение: теперь, если маске, заданной в директиве include, не
5655       соответствует ни один файл, то nginx не выдаёт ошибку.
5656
5657    *) Добавление: теперь время в директивах можно задавать без пробела,
5658       например, "1h50m".
5659
5660    *) Исправление: утечек памяти, если директива ssl_verify_client имела
5661       значение on.
5662       Спасибо Chavelle Vincent.
5663
5664    *) Исправление: директива sub_filter могла вставлять заменяемый текст в
5665       вывод.
5666
5667    *) Исправление: директива error_page не воспринимала параметры в
5668       перенаправляемом URI.
5669
5670    *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
5671       в бинарном режиме.
5672
5673    *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
5674       0.6.15.
5675
5676
5677Изменения в nginx 0.6.29                                          18.03.2008
5678
5679    *) Добавление: модуль ngx_google_perftools_module.
5680
5681    *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
5682       платформах; ошибка появилась в 0.6.27.
5683
5684
5685Изменения в nginx 0.6.28                                          13.03.2008
5686
5687    *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
5688
5689
5690Изменения в nginx 0.6.27                                          12.03.2008
5691
5692    *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
5693       rtsig.
5694
5695    *) Изменение: теперь при перенаправлении запроса в именованный location
5696       с помощью директивы error_page метод запроса не изменяется.
5697
5698    *) Добавление: директивы resolver и resolver_timeout в SMTP
5699       прокси-сервере.
5700
5701    *) Добавление: директива post_action поддерживает именованные
5702       location'ы.
5703
5704    *) Исправление: при перенаправлении запроса из location'а c обработчиком
5705       proxy, FastCGI или memcached в именованный location со статическим
5706       обработчиком в рабочем процессе происходил segmentation fault.
5707
5708    *) Исправление: браузеры не повторяли SSL handshake, если при первом
5709       handshake не оказалось правильного клиентского сертификата.
5710       Спасибо Александру Инюхину.
5711
5712    *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
5713       error_page без изменения кода ошибки nginx пытался выделить очень
5714       много памяти.
5715
5716    *) Исправление: утечки памяти в долгоживущих небуфферизированных
5717       соединениях.
5718
5719    *) Исправление: утечки памяти в resolver'е.
5720
5721    *) Исправление: при перенаправлении запроса из location'а c обработчиком
5722       proxy в другой location с обработчиком proxy в рабочем процессе
5723       происходил segmentation fault.
5724
5725    *) Исправление: ошибки в кэшировании переменных $proxy_host и
5726       $proxy_port.
5727       Спасибо Сергею Боченкову.
5728
5729    *) Исправление: директива proxy_pass с переменными использовала порт,
5730       описанной в другой директиве proxy_pass без переменных, но с таким же
5731       именем хоста.
5732       Спасибо Сергею Боченкову.
5733
5734    *) Исправление: во время переконфигурации на некоторых 64-битном
5735       платформах в лог записывался alert "sendmsg() failed (9: Bad file
5736       descriptor)".
5737
5738    *) Исправление: при повторном использовании в SSI пустого block'а в
5739       качестве заглушки в рабочем процессе происходил segmentation fault.
5740
5741    *) Исправление: ошибки при копировании части URI, содержащего
5742       экранированные символы, в аргументы.
5743
5744
5745Изменения в nginx 0.6.26                                          11.02.2008
5746
5747    *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину
5748       ответа.
5749
5750    *) Исправление: при использовании большого значения в директиве expires
5751       в рабочем процессе происходил segmentation fault.
5752       Спасибо Joaquin Cuenca Abela.
5753
5754    *) Исправление: nginx неверно определял длину строки кэша на Pentium 4.
5755       Спасибо Геннадию Махомеду.
5756
5757    *) Исправление: в проксированных подзапросах и подзапросах к
5758       FastCGI-серверу вместо метода GET использовался оригинальный метод
5759       клиента.
5760
5761    *) Исправление: утечки сокетов в режиме HTTPS при использовании
5762       отложенного accept'а.
5763       Спасибо Ben Maurer.
5764
5765    *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed
5766       (SSL: )"; ошибка появилась в 0.6.23.
5767
5768    *) Исправление: при использовании HTTPS запросы могли завершаться с
5769       ошибкой "bad write retry"; ошибка появилась в 0.6.23.
5770
5771
5772Изменения в nginx 0.6.25                                          08.01.2008
5773
5774    *) Изменение: вместо специального параметра "*" в директиве server_name
5775       теперь используется директива server_name_in_redirect.
5776
5777    *) Изменение: в качестве основного имени в директиве server_name теперь
5778       можно использовать имена с масками и регулярными выражениями.
5779
5780    *) Изменение: директива satisfy_any заменена директивой satisfy.
5781
5782    *) Изменение: после переконфигурации старые рабочие процесс могли сильно
5783       нагружать процессор при запуске под Linux OpenVZ.
5784
5785    *) Добавление: директива min_delete_depth.
5786
5787    *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
5788
5789    *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
5790       модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
5791
5792    *) Исправление: утечки сокетов в режиме HTTPS при использовании
5793       отложенного accept'а.
5794       Спасибо Ben Maurer.
5795
5796    *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
5797       в 0.6.23.
5798
5799
5800Изменения в nginx 0.6.24                                          27.12.2007
5801
5802    *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
5803       segmentation fault; ошибка появилась в 0.6.23.
5804
5805
5806Изменения в nginx 0.6.23                                          27.12.2007
5807
5808    *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
5809       параметр используется по умолчанию.
5810
5811    *) Изменение: директива open_file_cache_retest переименована в
5812       open_file_cache_valid.
5813
5814    *) Добавление: директива open_file_cache_min_uses.
5815
5816    *) Добавление: модуль ngx_http_gzip_static_module.
5817
5818    *) Добавление: директива gzip_disable.
5819
5820    *) Добавление: директиву memcached_pass можно использовать внутри блока
5821       if.
5822
5823    *) Исправление: если внутри одного location'а использовались директивы
5824       "memcached_pass" и "if", то в рабочем процессе происходил
5825       segmentation fault.
5826
5827    *) Исправление: если при использовании директивы satisfy_any on" были
5828       заданы директивы не всех модулей доступа, то заданные директивы не
5829       проверялись.
5830
5831    *) Исправление: параметры, заданные регулярным выражением в директиве
5832       valid_referers, не наследовалась с предыдущего уровня.
5833
5834    *) Исправление: директива post_action не работала, если запрос
5835       завершался с кодом 499.
5836
5837    *) Исправление: оптимизация использования 16K буфера для SSL-соединения.
5838       Спасибо Ben Maurer.
5839
5840    *) Исправление: STARTTLS в режиме SMTP не работал.
5841       Спасибо Олегу Мотиенко.
5842
5843    *) Исправление: при использовании HTTPS запросы могли завершаться с
5844       ошибкой "bad write retry"; ошибка появилась в 0.5.13.
5845
5846
5847Изменения в nginx 0.6.22                                          19.12.2007
5848
5849    *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
5850       значения, скопированные в память, выделенную perl'ом.
5851
5852    *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
5853       использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
5854       время переконфигурации основной процесс аварийно выходил; ошибка
5855       появилась в 0.5.9.
5856       Спасибо Борису Жмурову.
5857
5858    *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
5859       неверные результаты выделения в регулярных выражениях.
5860
5861    *) Исправление: если метод $r->has_request_body() вызывался для запроса,
5862       у которого небольшое тело запроса было уже полностью получено, то в
5863       рабочем процессе происходил segmentation fault.
5864
5865    *) Исправление: large_client_header_buffers не освобождались перед
5866       переходом в состояние keep-alive.
5867       Спасибо Олександру Штепе.
5868
5869    *) Исправление: в переменной $upstream_addr не записывался последний
5870       адрес; ошибка появилась в 0.6.18.
5871
5872    *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
5873       теперь она возвращает ошибку 502, которую можно направить на
5874       следующий сервер с помощью "fastcgi_next_upstream invalid_header".
5875
5876    *) Исправление: при использовании директивы fastcgi_catch_stderr в
5877       основном процессе происходил segmentation fault; ошибка появилась в
5878       0.6.10.
5879       Спасибо Manlio Perillo.
5880
5881
5882Изменения в nginx 0.6.21                                          03.12.2007
5883
5884    *) Изменение: если в значениях переменных директивы proxy_pass
5885       используются только IP-адреса, то указывать resolver не нужно.
5886
5887    *) Исправление: при использовании директивы proxy_pass c URI-частью в
5888       рабочем процессе мог произойти segmentation fault; ошибка появилась в
5889       0.6.19.
5890
5891    *) Исправление: если resolver использовался на платформах, не
5892       поддерживающих метод kqueue, то nginx выдавал alert "name is out of
5893       response".
5894       Спасибо Андрею Нигматулину.
5895
5896    *) Исправление: При использовании переменной $server_protocol в
5897       FastCGI-параметрах и запросе, длина которого была близка к значению
5898       директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
5899       the request record is too big".
5900
5901    *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
5902       nginx возвращал обычный ответ.
5903
5904
5905Изменения в nginx 0.6.20                                          28.11.2007
5906
5907    *) Исправление: при использовании директивы proxy_pass c URI-частью в
5908       рабочем процессе мог произойти segmentation fault; ошибка появилась в
5909       0.6.19.
5910
5911
5912Изменения в nginx 0.6.19                                          27.11.2007
5913
5914    *) Исправление: версия 0.6.18 не собиралась.
5915
5916
5917Изменения в nginx 0.6.18                                          27.11.2007
5918
5919    *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером
5920       процесса добавляет микросекунды на время старта.
5921
5922    *) Изменение: в error_log теперь записывается полная строка запроса
5923       вместо только URI.
5924
5925    *) Добавление: директива proxy_pass поддерживает переменные.
5926
5927    *) Добавление: директивы resolver и resolver_timeout.
5928
5929    *) Добавление: теперь директива "add_header last-modified ''" удаляет в
5930       заголовке ответа строку "Last-Modified".
5931
5932    *) Исправление: директива limit_rate не позволяла передавать на полной
5933       скорости, даже если был указан очень большой лимит.
5934
5935
5936Изменения в nginx 0.6.17                                          15.11.2007
5937
5938    *) Добавление: поддержка строки "If-Range" в заголовке запроса.
5939       Спасибо Александру Инюхину.
5940
5941    *) Исправление: при использовании директивы msie_refresh повторно
5942       экранировались уже экранированные символы; ошибка появилась в 0.6.4.
5943
5944    *) Исправление: директива autoindex не работала при использовании "alias
5945       /".
5946
5947    *) Исправление: при использовании подзапросов в рабочем процессе мог
5948       произойти segmentation fault.
5949
5950    *) Исправление: при использовании SSL и gzip большие ответы могли
5951       передаваться не полностью.
5952
5953    *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
5954       то переменная $status была равна 0.
5955
5956
5957Изменения в nginx 0.6.16                                          29.10.2007
5958
5959    *) Изменение: теперь на Linux используется uname(2) вместо procfs.
5960       Спасибо Илье Новикову.
5961
5962    *) Исправление: если в директиве error_page использовался символ "?", то
5963       он экранировался при проксировании запроса; ошибка появилась в
5964       0.6.11.
5965
5966    *) Исправление: совместимость с mget.
5967
5968
5969Изменения в nginx 0.6.15                                          22.10.2007
5970
5971    *) Добавление: совместимость с Cygwin.
5972       Спасибо Владимиру Кутакову.
5973
5974    *) Добавление: директива merge_slashes.
5975
5976    *) Добавление: директива gzip_vary.
5977
5978    *) Добавление: директива server_tokens.
5979
5980    *) Исправление: nginx не раскодировал URI в команде SSI include.
5981
5982    *) Исправление: при использовании переменной в директивах charset или
5983       source_charset на старте или во время переконфигурации происходил
5984       segmentation fault,
5985
5986    *) Исправление: nginx возвращал ошибку 400 на запросы вида
5987       "GET http://www.domain.com HTTP/1.0".
5988       Спасибо James Oakley.
5989
5990    *) Исправление: после перенаправления запроса с телом запроса с помощью
5991       директивы error_page nginx пытался снова прочитать тело запроса;
5992       ошибка появилась в 0.6.7.
5993
5994    *) Исправление: в рабочем процессе происходил segmentation fault, если у
5995       сервера, обрабатывающему запрос, не был явно определён server_name;
5996       ошибка появилась в 0.6.7.
5997
5998
5999Изменения в nginx 0.6.14                                          15.10.2007
6000
6001    *) Изменение: теперь по умолчанию команда SSI echo использует
6002       кодирование entity.
6003
6004    *) Добавление: параметр encoding в команде SSI echo.
6005
6006    *) Добавление: директиву access_log можно использовать внутри блока
6007       limit_except.
6008
6009    *) Исправление: если все сервера апстрима оказывались недоступными, то
6010       до восстановления работоспособности у всех серверов вес становился
6011       равным одному; ошибка появилась в 0.6.6.
6012
6013    *) Исправление: при использовании переменных $date_local и $date_gmt вне
6014       модуля ngx_http_ssi_filter_module в рабочем процессе происходил
6015       segmentation fault.
6016
6017    *) Исправление: при использовании включённом отладочном логе в рабочем
6018       процессе мог произойти segmentation fault.
6019       Спасибо Андрею Нигматулину.
6020
6021    *) Исправление: ngx_http_memcached_module не устанавливал
6022       $upstream_response_time.
6023       Спасибо Максиму Дунину.
6024
6025    *) Исправление: рабочий процесс мог зациклиться при использовании
6026       memcached.
6027
6028    *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
6029       строке "Connection" в заголовке запроса только, если они были в
6030       нижнем регистре; ошибка появилась в 0.6.11.
6031
6032    *) Исправление: sub_filter не работал с пустой строкой замены.
6033
6034    *) Исправление: в парсинге sub_filter.
6035
6036
6037Изменения в nginx 0.6.13                                          24.09.2007
6038
6039    *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
6040       использовался autoindex
6041       Спасибо Arkadiusz Patyk.
6042
6043
6044Изменения в nginx 0.6.12                                          21.09.2007
6045
6046    *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
6047       и smtp.
6048
6049    *) Добавление: параметры конфигурации --without-mail_pop3_module,
6050       --without-mail_imap_module и --without-mail_smtp_module.
6051
6052    *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля
6053       ngx_mail_smtp_module.
6054
6055    *) Исправление: wildcard в конце имени сервера не работали; ошибка
6056       появилась в 0.6.9.
6057
6058    *) Исправление: при использовании разделяемой библиотеки PCRE,
6059       расположенной в нестандартном месте, nginx не запускался на Solaris.
6060
6061    *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
6062       скрывали строки заголовка ответа с именем больше 32 символов.
6063       Спасибо Manlio Perillo.
6064
6065
6066Изменения в nginx 0.6.11                                          11.09.2007
6067
6068    *) Исправление: счётчик активных соединений всегда рос при использовании
6069       почтового прокси-сервера.
6070
6071    *) Исправление: если бэкенд возвращал только заголовок ответа при
6072       небуферизированном проксировании, то nginx закрывал соединение с
6073       бэкендом по таймауту.
6074
6075    *) Исправление: nginx не поддерживал несколько строк "Connection" в
6076       заголовке запроса.
6077
6078    *) Исправление: если в сервере апстрима был задан max_fails, то после
6079       первой же неудачной попытки вес сервера навсегда становился равным
6080       одному; ошибка появилась в 0.6.6.
6081
6082
6083Изменения в nginx 0.6.10                                          03.09.2007
6084
6085    *) Добавление: директивы open_file_cache, open_file_cache_retest и
6086       open_file_cache_errors.
6087
6088    *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
6089
6090    *) Исправление: В строку заголовка ответа "Content-Type", указанную в
6091       методе $r->send_http_header(), не добавлялась кодировка, указанная в
6092       директиве charset.
6093
6094    *) Исправление: при использовании метода /dev/poll в рабочем процессе
6095       мог произойти segmentation fault.
6096
6097
6098Изменения в nginx 0.6.9                                           28.08.2007
6099
6100    *) Исправление: рабочий процесс мог зациклиться при использовании
6101       протокола HTTPS; ошибка появилась в 0.6.7.
6102
6103    *) Исправление: если сервер слушал на двух адресах или портах, то nginx
6104       не запускался при использовании wildcard в конце имени сервера.
6105
6106    *) Исправление: директива ip_hash могла неверно помечать сервера как
6107       нерабочие.
6108
6109    *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
6110
6111
6112Изменения в nginx 0.6.8                                           20.08.2007
6113
6114    *) Изменение: теперь nginx пытается установить директивы
6115       worker_priority, worker_rlimit_nofile, worker_rlimit_core,
6116       worker_rlimit_sigpending без привилегий root'а.
6117
6118    *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче
6119       запроса серверу аутентификации почтового прокси-сервера.
6120
6121    *) Изменение: теперь nginx экранирует символ "%" в переменной
6122       $memcached_key.
6123
6124    *) Исправление: при указании относительного пути к конфигурационному
6125       файлу в качестве параметра ключа -c nginx определял путь относительно
6126       конфигурационного префикса; ошибка появилась в 0.6.6.
6127
6128    *) Исправление: nginx не работал на FreeBSD/sparc64.
6129
6130
6131Изменения в nginx 0.6.7                                           15.08.2007
6132
6133    *) Изменение: теперь пути, указанные в директивах include,
6134       auth_basic_user_file, perl_modules, ssl_certificate,
6135       ssl_certificate_key и ssl_client_certificate, определяются
6136       относительно каталога конфигурационного файла nginx.conf, а не
6137       относительно префикса.
6138
6139    *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
6140
6141    *) Изменение: для обновления на лету версий 0.1.x создан специальный
6142       сценарий make upgrade1.
6143
6144    *) Добавление: директивы server_name и valid_referers поддерживают
6145       регулярные выражения.
6146
6147    *) Добавление: директива server в блоке upstream поддерживает параметр
6148       backup.
6149
6150    *) Добавление: модуль ngx_http_perl_module поддерживает метод
6151       $r->discard_request_body.
6152
6153    *) Добавление: директива "add_header Last-Modified ..." меняет строку
6154       "Last-Modified" в заголовке ответа.
6155
6156    *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
6157       отличным от 200, и после этого запроса соединение переходило в
6158       состояние keep-alive, то на следующий запрос nginx возвращал 400.
6159
6160    *) Исправление: если в директиве auth_http был задан неправильный адрес,
6161       то в рабочем процессе происходил segmentation fault.
6162
6163    *) Исправление: теперь по умолчанию nginx использует значение 511 для
6164       listen backlog на всех платформах, кроме FreeBSD.
6165       Спасибо Jiang Hong.
6166
6167    *) Исправление: рабочий процесс мог зациклиться, если server в блоке
6168       upstream был помечен как down; ошибка появилась в 0.6.6.
6169
6170    *) Исправление: sendfilev() в Solaris теперь не используется при
6171       передаче тела запроса FastCGI-серверу через unix domain сокет.
6172
6173
6174Изменения в nginx 0.6.6                                           30.07.2007
6175
6176    *) Добавление: параметр --sysconfdir=PATH в configure.
6177
6178    *) Добавление: именованные location'ы.
6179
6180    *) Добавление: переменную $args можно устанавливать с помощью set.
6181
6182    *) Добавление: переменная $is_args.
6183
6184    *) Исправление: равномерное распределение запросов к апстримам с
6185       большими весами.
6186
6187    *) Исправление: если клиент в почтовом прокси-сервере закрывал
6188       соединение, то nginx мог не закрывать соединение с бэкендом.
6189
6190    *) Исправление: при использовании одного хоста в качестве бэкендов для
6191       протоколов HTTP и HTTPS без явного указания портов, nginx использовал
6192       только один порт - 80 или 443.
6193
6194    *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
6195       более ранними версиями; ошибка появилась в 0.6.4.
6196
6197
6198Изменения в nginx 0.6.5                                           23.07.2007
6199
6200    *) Добавление: переменная $nginx_version.
6201       Спасибо Николаю Гречуху.
6202
6203    *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме
6204       IMAP.
6205       Спасибо Максиму Дунину.
6206
6207    *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
6208       SMTP.
6209       Спасибо Максиму Дунину.
6210
6211    *) Исправление: теперь nginx экранирует пробел в переменной
6212       $memcached_key.
6213
6214    *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64.
6215       Спасибо Jiang Hong.
6216
6217    *) Исправление: незначительных потенциальных ошибок.
6218       Спасибо Coverity's Scan.
6219
6220
6221Изменения в nginx 0.6.4                                           17.07.2007
6222
6223    *) Безопасность: при использовании директивы msie_refresh был возможен
6224       XSS.
6225       Спасибо Максиму Богуку.
6226
6227    *) Изменение: директивы proxy_store и fastcgi_store изменены.
6228
6229    *) Добавление: директивы proxy_store_access и fastcgi_store_access.
6230
6231    *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
6232       Studio.
6233       Спасибо Андрею Нигматулину.
6234
6235    *) Изменение: обход ошибки в Sun Studio 12.
6236       Спасибо Jiang Hong.
6237
6238
6239Изменения в nginx 0.6.3                                           12.07.2007
6240
6241    *) Добавление: директивы proxy_store и fastcgi_store.
6242
6243    *) Исправление: при использовании директивы auth_http_header в рабочем
6244       процессе мог произойти segmentation fault.
6245       Спасибо Максиму Дунину.
6246
6247    *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
6248       не был разрешён, то в рабочем процессе происходил segmentation fault.
6249
6250    *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
6251       в рабочем процессе мог произойти segmentation fault.
6252
6253    *) Исправление: в рабочем процессе мог произойти segmentation fault,
6254       если использовался метод eventport.
6255
6256    *) Исправление: директивы proxy_ignore_client_abort и
6257       fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
6258
6259
6260Изменения в nginx 0.6.2                                           09.07.2007
6261
6262    *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то
6263       nginx передавал клиенту мусор в таких заголовках.
6264
6265
6266Изменения в nginx 0.6.1                                           17.06.2007
6267
6268    *) Исправление: в парсинге SSI.
6269
6270    *) Исправление: при использовании удалённого подзапроса в SSI
6271       последующий подзапрос локального файла мог отдаваться клиенту в
6272       неверном порядке.
6273
6274    *) Исправление: большие включения в SSI, сохранённые во временные файлы,
6275       передавались не полностью.
6276
6277    *) Исправление: значение perl'овой переменной $$ модуля
6278       ngx_http_perl_module было равно номеру главного процесса.
6279
6280
6281Изменения в nginx 0.6.0                                           14.06.2007
6282
6283    *) Добавление: директивы "server_name", "map", and "valid_referers"
6284       поддерживают маски вида "www.example.*".
6285
6286
6287Изменения в nginx 0.5.25                                          11.06.2007
6288
6289    *) Исправление: nginx не собирался с параметром
6290       --without-http_rewrite_module; ошибка появилась в 0.5.24.
6291
6292
6293Изменения в nginx 0.5.24                                          06.06.2007
6294
6295    *) Безопасность: директива ssl_verify_client не работала, если запрос
6296       выполнялся по протоколу HTTP/0.9.
6297
6298    *) Исправление: при использовании сжатия часть ответа могла передаваться
6299       несжатой; ошибка появилась в 0.5.23.
6300
6301
6302Изменения в nginx 0.5.23                                          04.06.2007
6303
6304    *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
6305       Server Name Indication.
6306
6307    *) Добавление: директива fastcgi_catch_stderr.
6308       Спасибо Николаю Гречуху, проект OWOX.
6309
6310    *) Исправление: на Линуксе в основном процессе происходил segmentation
6311       fault, если два виртуальных сервера должны bind()ится к
6312       пересекающимся портам.
6313
6314    *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
6315       perl поддерживал потоки, то во время второй переконфигурации
6316       выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
6317
6318    *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
6319
6320
6321Изменения в nginx 0.5.22                                          29.05.2007
6322
6323    *) Исправление: большое тело запроса могло не передаваться бэкенду;
6324       ошибка появилась в 0.5.21.
6325
6326
6327Изменения в nginx 0.5.21                                          28.05.2007
6328
6329    *) Исправление: если внутри сервера описано больше примерно десяти
6330       location'ов, то location'ы, заданные с помощью регулярного выражения,
6331       могли выполняться не в том, порядке, в каком они описаны.
6332
6333    *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
6334       если 33-тий по счёту или последующий бэкенд упал.
6335       Спасибо Антону Поварову.
6336
6337    *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог
6338       произойти bus error.
6339       Спасибо Андрею Нигматулину.
6340
6341    *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
6342
6343
6344Изменения в nginx 0.5.20                                          07.05.2007
6345
6346    *) Добавление: директива sendfile_max_chunk.
6347
6348    *) Добавление: переменные "$http_...", "$sent_http_..." и
6349       "$upstream_http_..." можно менять директивой set.
6350
6351    *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
6352       рабочем процессе мог произойти segmentation fault.
6353
6354    *) Исправление: завершающая строка multipart range ответа передавалась
6355       неверно.
6356       Спасибо Evan Miller.
6357
6358    *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
6359       Studio.
6360       Спасибо Андрею Нигматулину.
6361
6362    *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris.
6363       Спасибо Андрею Нигматулину.
6364
6365
6366Изменения в nginx 0.5.19                                          24.04.2007
6367
6368    *) Изменение: значение переменной $request_time теперь записывается с
6369       точностью до миллисекунд.
6370
6371    *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
6372       переименован в $r->flush.
6373
6374    *) Добавление: переменная $upstream_addr.
6375
6376    *) Добавление: директивы proxy_headers_hash_max_size и
6377       proxy_headers_hash_bucket_size.
6378       Спасибо Володымыру Костырко.
6379
6380    *) Исправление: при использовании sendfile и limit_rate на 64-битных
6381       платформах нельзя было передавать файлы больше 2G.
6382
6383    *) Исправление: при использовании sendfile на 64-битном Linux нельзя
6384       было передавать файлы больше 2G.
6385
6386
6387Изменения в nginx 0.5.18                                          19.04.2007
6388
6389    *) Добавление: модуль ngx_http_sub_filter_module.
6390
6391    *) Добавление: переменные "$upstream_http_...".
6392
6393    *) Добавление: теперь переменные $upstream_status и
6394       $upstream_response_time содержат данные о всех обращениях к
6395       апстримам, сделанным до X-Accel-Redirect.
6396
6397    *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
6398       perl не поддерживал multiplicity, то после первой переконфигурации и
6399       после получения любого сигнала в основном процессе происходил
6400       segmentation fault; ошибка появилась в 0.5.9.
6401
6402    *) Исправление: если perl не поддерживал multiplicity, то после
6403       переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
6404
6405
6406Изменения в nginx 0.5.17                                          02.04.2007
6407
6408    *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
6409
6410    *) Добавление: теперь nginx поддерживает директиву include внутри блока
6411       types.
6412
6413    *) Исправление: использование переменной $document_root в директиве root
6414       и alias запрещено: оно вызывало рекурсивное переполнение стека.
6415
6416    *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
6417
6418    *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
6419       $uri) возвращали старое закэшированное значение.
6420
6421
6422Изменения в nginx 0.5.16                                          26.03.2007
6423
6424    *) Исправление: в качестве ключа для хэша в директиве ip_hash не
6425       использовалась сеть класса С.
6426       Спасибо Павлу Ярковому.
6427
6428    *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
6429       был указан charset и строка завершалась символом ";", то в рабочем
6430       процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
6431
6432    *) Исправление: ошибки "[alert] zero size buf" при работе с
6433       FastCGI-сервером, если тело запроса, записанное во временный файл,
6434       было кратно 32K.
6435
6436    *) Исправление: nginx не собирался на Solaris без параметра
6437       --with-debug; ошибка появилась в 0.5.15.
6438
6439
6440Изменения в nginx 0.5.15                                          19.03.2007
6441
6442    *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
6443       SMTP-проксирование и директивы smtp_auth, smtp_capabilities и
6444       xclient.
6445       Спасибо Антону Южанинову и Максиму Дунину.
6446
6447    *) Добавление: теперь keep-alive соединения закрываются сразу же по
6448       получении сигнала переконфигурации.
6449
6450    *) Изменение: директивы imap и auth переименованы соответственно в mail
6451       и pop3_auth.
6452
6453    *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
6454       был разрешён метод APOP, то в рабочем процессе происходил
6455       segmentation fault.
6456
6457    *) Исправление: при использовании директивы starttls only в протоколе
6458       POP3 nginx разрешал аутентификацию без перехода в режим SSL.
6459
6460    *) Исправление: рабочие процессы не выходили после переконфигурации и не
6461       переоткрывали логи, если использовался метод eventport.
6462
6463    *) Исправление: при использовании директивы ip_hash рабочий процесс мог
6464       зациклиться.
6465
6466    *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
6467       используются методы eventport или /dev/poll.
6468
6469
6470Изменения в nginx 0.5.14                                          23.02.2007
6471
6472    *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
6473       конфигурационного файла.
6474
6475
6476Изменения в nginx 0.5.13                                          19.02.2007
6477
6478    *) Добавление: методы COPY и MOVE.
6479
6480    *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
6481       запросов, переданных по keep-alive соединению.
6482
6483    *) Исправление: nginx не работал на 64-битном big-endian Linux.
6484       Спасибо Андрею Нигматулину.
6485
6486    *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
6487       теперь сразу закрывает соединение, а не по таймауту.
6488
6489    *) Исправление: если при использовании метода epoll клиент закрывал
6490       преждевременно соединение со своей стороны, то nginx закрывал это
6491       соединение только по истечении таймаута на передачу.
6492
6493    *) Исправление: nginx не собирался на платформах, отличных от i386,
6494       amd64, sparc и ppc; ошибка появилась в 0.5.8.
6495
6496
6497Изменения в nginx 0.5.12                                          12.02.2007
6498
6499    *) Исправление: nginx не собирался на платформах, отличных от i386,
6500       amd64, sparc и ppc; ошибка появилась в 0.5.8.
6501
6502    *) Исправление: при использовании временных файлов в время работы с
6503       FastCGI-сервером в рабочем процессе мог произойти segmentation fault;
6504       ошибка появилась в 0.5.8.
6505
6506    *) Исправление: если переменная $fastcgi_script_name записывалась в лог,
6507       то в рабочем процессе мог произойти segmentation fault.
6508
6509    *) Исправление: ngx_http_perl_module не собирался на Solaris.
6510
6511
6512Изменения в nginx 0.5.11                                          05.02.2007
6513
6514    *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts.
6515       Спасибо Chris McGrath.
6516
6517    *) Исправление: ответ был неверным, если запрашивалось несколько
6518       диапазонов; ошибка появилась в 0.5.6.
6519
6520    *) Исправление: директива create_full_put_path не могла создавать
6521       промежуточные каталоги, если не была установлена директива
6522       dav_access.
6523       Спасибо Evan Miller.
6524
6525    *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
6526       записываться код "0".
6527
6528    *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
6529       произойти segmentation fault.
6530
6531
6532Изменения в nginx 0.5.10                                          26.01.2007
6533
6534    *) Исправление: во время обновления исполняемого файла новый процесс не
6535       наследовал слушающие сокеты; ошибка появилась в 0.5.9.
6536
6537    *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
6538       произойти segmentation fault; ошибка появилась в 0.5.1.
6539
6540
6541Изменения в nginx 0.5.9                                           25.01.2007
6542
6543    *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
6544       использует значение переменной $memcached_key.
6545
6546    *) Добавление: переменная $memcached_key.
6547
6548    *) Добавление: параметр clean в директиве client_body_in_file_only.
6549
6550    *) Добавление: директива env.
6551
6552    *) Добавление: директива sendfile работает внутри блока if.
6553
6554    *) Добавление: теперь при ошибке записи в access_log nginx записывает
6555       сообщение в error_log, но не чаще одного раза в минуту.
6556
6557    *) Исправление: директива "access_log off" не всегда запрещала запись в
6558       лог.
6559
6560
6561Изменения в nginx 0.5.8                                           19.01.2007
6562
6563    *) Исправление: если использовалась директива
6564       "client_body_in_file_only on" и тело запроса было небольшое, то мог
6565       произойти segmentation fault.
6566
6567    *) Исправление: происходил segmentation fault, если использовались
6568       директивы "client_body_in_file_only on" и
6569       "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
6570       делался переход к следующему бэкенду.
6571
6572    *) Исправление: если при использовании директивы "proxy_buffering off"
6573       соединение с клиентом было неактивно, то оно закрывалось по таймауту,
6574       заданному директивой send_timeout; ошибка появилась в 0.4.7.
6575
6576    *) Исправление: если при использовании метода epoll клиент закрывал
6577       преждевременно соединение со своей стороны, то nginx закрывал это
6578       соединение только по истечении таймаута на передачу.
6579
6580    *) Исправление: ошибки "[alert] zero size buf" при работе с
6581       FastCGI-сервером.
6582
6583    *) Исправление ошибок в директиве limit_zone.
6584
6585
6586Изменения в nginx 0.5.7                                           15.01.2007
6587
6588    *) Добавление: оптимизация использования памяти в ssl_session_cache.
6589
6590    *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
6591
6592    *) Исправление: на старте или во время переконфигурации происходил
6593       segmentation fault, если директивы ssl_session_cache или limit_zone
6594       использовались на 64-битных платформах.
6595
6596    *) Исправление: при использовании директив add_before_body или
6597       add_after_body происходил segmentation fault, если в заголовке ответа
6598       нет строки "Content-Type".
6599
6600    *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
6601       потоков.
6602       Спасибо Дену Иванову.
6603
6604    *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
6605
6606
6607Изменения в nginx 0.5.6                                           09.01.2007
6608
6609    *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы,
6610       кроме GET, HEAD и POST.
6611
6612    *) Добавление: модуль ngx_http_limit_zone_module.
6613
6614    *) Добавление: переменная $binary_remote_addr.
6615
6616    *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и
6617       ngx_imap_ssl_module.
6618
6619    *) Добавление: метод DELETE поддерживает рекурсивное удаление.
6620
6621    *) Исправление: при использовании $r->sendfile() byte-ranges
6622       передавались неверно.
6623
6624
6625Изменения в nginx 0.5.5                                           24.12.2006
6626
6627    *) Изменение: ключ -v больше не выводит информацию о компиляторе.
6628
6629    *) Добавление: ключ -V.
6630
6631    *) Добавление: директива worker_rlimit_core поддерживает указание
6632       размера в K, M и G.
6633
6634    *) Исправление: модуль nginx.pm теперь может устанавливаться
6635       непривилегированным пользователем.
6636
6637    *) Исправление: при использовании методов $r->request_body или
6638       $r->request_body_file мог произойти segmentation fault.
6639
6640    *) Исправление: ошибок, специфичных для платформы ppc.
6641
6642
6643Изменения в nginx 0.5.4                                           15.12.2006
6644
6645    *) Добавление: директиву perl можно использовать внутри блока
6646       limit_except.
6647
6648    *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
6649       заголовке запроса для метода DELETE.
6650
6651    *) Исправление: при использовании одного параметра в директиве
6652       dav_access nginx мог сообщить об ошибке в конфигурации.
6653
6654    *) Исправление: при использовании переменной $host мог произойти
6655       segmentation fault; ошибка появилась в 0.4.14.
6656
6657
6658Изменения в nginx 0.5.3                                           13.12.2006
6659
6660    *) Добавление: модуль ngx_http_perl_module поддерживает методы
6661       $r->status, $r->log_error и $r->sleep.
6662
6663    *) Добавление: метод $r->variable поддерживает переменные, неописанные в
6664       конфигурации nginx'а.
6665
6666    *) Исправление: метод $r->has_request_body не работал.
6667
6668
6669Изменения в nginx 0.5.2                                           11.12.2006
6670
6671    *) Исправление: если в директивах proxy_pass использовалось имя,
6672       указанное в upstream, то nginx пытался найти IP-адрес этого имени;
6673       ошибка появилась в 0.5.1.
6674
6675
6676Изменения в nginx 0.5.1                                           11.12.2006
6677
6678    *) Исправление: директива post_action могла не работать после неудачного
6679       завершения запроса.
6680
6681    *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11.
6682       Спасибо Bron Gondwana.
6683
6684    *) Исправление: при указании в директиве fastcgi_pass имени описанного
6685       upstream'а выдавалось сообщение "no port in upstream"; ошибка
6686       появилась в 0.5.0.
6687
6688    *) Исправление: если в директивах proxy_pass и fastcgi_pass
6689       использовались одинаковых имена серверов, но с разными портами, то
6690       эти директивы использовали первый описанный порт; ошибка появилась в
6691       0.5.0.
6692
6693    *) Исправление: если в директивах proxy_pass и fastcgi_pass
6694       использовались unix domain сокеты, то эти директивы использовали
6695       первый описанный сокет; ошибка появилась в 0.5.0.
6696
6697    *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
6698       если он был указан в последней строке файла паролей и после пароля не
6699       было перевода строки, возврата каретки или символа ":".
6700
6701    *) Исправление: переменная $upstream_response_time могла быть равна
6702       "0.000", хотя время обработки было больше 1 миллисекунды.
6703
6704
6705Изменения в nginx 0.5.0                                           04.12.2006
6706
6707    *) Изменение: параметры в виде "%name" в директиве log_format больше не
6708       поддерживаются.
6709
6710    *) Изменение: директивы proxy_upstream_max_fails,
6711       proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
6712       fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
6713       memcached_upstream_fail_timeout больше не поддерживаются.
6714
6715    *) Добавление: директива server в блоке upstream поддерживает параметры
6716       max_fails, fail_timeout и down.
6717
6718    *) Добавление: директива ip_hash в блоке upstream.
6719
6720    *) Добавление: статус WAIT в строке "Auth-Status" в заголовке ответа
6721       сервера аутентификации IMAP/POP3 прокси.
6722
6723    *) Исправление: nginx не собирался на 64-битных платформах; ошибка
6724       появилась в 0.4.14.
6725
6726
6727Изменения в nginx 0.4.14                                          27.11.2006
6728
6729    *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
6730
6731    *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
6732       Linux и NetBSD.
6733
6734    *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
6735       поддержкой потоков; ошибка появилась в 0.3.38.
6736
6737    *) Исправление: ngx_http_perl_module не работал корректно, если перл
6738       вызывался рекурсивно.
6739
6740    *) Исправление: nginx игнорировал имя сервера в строке запроса.
6741
6742    *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий
6743       процесс мог зациклиться.
6744
6745    *) Исправление: при изменении системного времени переменная
6746       $upstream_response_time могла быть отрицательной.
6747
6748    *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
6749       прокси не передавался параметр Auth-Login-Attempt.
6750
6751    *) Исправление: при ошибке соединения с сервером аутентификации
6752       IMAP/POP3 прокси мог произойти segmentation fault.
6753
6754
6755Изменения в nginx 0.4.13                                          15.11.2006
6756
6757    *) Добавление: директиву proxy_pass можно использовать внутри блока
6758       limit_except.
6759
6760    *) Добавление: директива limit_except поддерживает все WebDAV методы.
6761
6762    *) Исправление: при использовании директивы add_before_body без
6763       директивы add_after_body ответ передавался не полностью.
6764
6765    *) Исправление: большое тело запроса не принималось, если использовались
6766       метод epoll и deferred accept().
6767
6768    *) Исправление: для ответов модуля ngx_http_autoindex_module не
6769       выставлялась кодировка; ошибка появилась в 0.3.50.
6770
6771    *) Исправление: ошибки "[alert] zero size buf" при работе с
6772       FastCGI-сервером;
6773
6774    *) Исправление: параметр конфигурации --group= игнорировался.
6775       Спасибо Thomas Moschny.
6776
6777    *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась
6778       в 0.3.50.
6779
6780
6781Изменения в nginx 0.4.12                                          31.10.2006
6782
6783    *) Добавление: модуль ngx_http_perl_module поддерживает метод
6784       $r->variable.
6785
6786    *) Исправление: при включении в ответ большого статического файла с
6787       помощью SSI ответ мог передаваться не полностью.
6788
6789    *) Исправление: nginx не убирал "#fragment" в URI.
6790
6791
6792Изменения в nginx 0.4.11                                          25.10.2006
6793
6794    *) Добавление: POP3 прокси поддерживает AUTH LOGIN PLAIN и CRAM-MD5.
6795
6796    *) Добавление: модуль ngx_http_perl_module поддерживает метод
6797       $r->allow_ranges.
6798
6799    *) Исправление: при включённой поддержке команды APOP в POP3 прокси
6800       могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
6801
6802
6803Изменения в nginx 0.4.10                                          23.10.2006
6804
6805    *) Добавление: POP3 прокси поддерживает APOP.
6806
6807    *) Исправление: при использовании методов select, poll и /dev/poll во
6808       время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
6809       нагружал процессор.
6810
6811    *) Исправление: при использовании переменной $server_addr в директиве
6812       map мог произойти segmentation fault.
6813
6814    *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
6815       для полных ответов; ошибка появилась в 0.4.7.
6816
6817    *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
6818       0.4.9.
6819
6820
6821Изменения в nginx 0.4.9                                           13.10.2006
6822
6823    *) Добавление: параметр set в команде SSI include.
6824
6825    *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
6826       модуля nginx.pm.
6827
6828
6829Изменения в nginx 0.4.8                                           11.10.2006
6830
6831    *) Исправление: если до команды SSI include с параметром wait
6832       выполнялась ещё одна команда SSI include, то параметр wait мог не
6833       работать.
6834
6835    *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
6836       полных ответов.
6837       Спасибо Алексею Ковырину.
6838
6839
6840Изменения в nginx 0.4.7                                           10.10.2006
6841
6842    *) Добавление: модуль ngx_http_flv_module.
6843
6844    *) Добавление: переменная $request_body_file.
6845
6846    *) Добавление: директивы charset и source_charset поддерживают
6847       переменные.
6848
6849    *) Исправление: если до команды SSI include с параметром wait
6850       выполнялась ещё одна команда SSI include, то параметр wait мог не
6851       работать.
6852
6853    *) Исправление: при использовании директивы "proxy_buffering off" или
6854       при работе с memcached соединения могли не закрываться по таймауту.
6855
6856    *) Исправление: nginx не запускался на 64-битных платформах, отличных от
6857       amd64, sparc64 и ppc64.
6858
6859
6860Изменения в nginx 0.4.6                                           06.10.2006
6861
6862    *) Исправление: nginx не запускался на 64-битных платформах, отличных от
6863       amd64, sparc64 и ppc64.
6864
6865    *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
6866       chunk'ами, если длина ответа в методе
6867       $r->headers_out("Content-Length", ...) была задана текстовой строкой.
6868
6869    *) Исправление: после перенаправления ошибки с помощью директивы
6870       error_page любая директива модуля ngx_http_rewrite_module возвращала
6871       эту ошибку; ошибка появилась в 0.4.4.
6872
6873
6874Изменения в nginx 0.4.5                                           02.10.2006
6875
6876    *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
6877       в 0.4.4.
6878
6879
6880Изменения в nginx 0.4.4                                           02.10.2006
6881
6882    *) Добавление: переменная $scheme.
6883
6884    *) Добавление: директива expires поддерживает параметр max.
6885
6886    *) Добавление: директива include поддерживает маску "*".
6887       Спасибо Jonathan Dance.
6888
6889    *) Исправление: директива return всегда изменяла код ответа,
6890       перенаправленного директивой error_page.
6891
6892    *) Исправление: происходил segmentation fault, если в методе PUT
6893       передавалось тело нулевой длины.
6894
6895    *) Исправление: при использовании переменных в директиве proxy_redirect
6896       редирект изменялся неверно.
6897
6898
6899Изменения в nginx 0.4.3                                           26.09.2006
6900
6901    *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы
6902       error_page.
6903
6904    *) Добавление: поддержка Solaris 10 event ports.
6905
6906    *) Добавление: модуль ngx_http_browser_module.
6907
6908    *) Исправление: при перенаправлении ошибки 400 проксированному серверу
6909       помощью директивы error_page мог произойти segmentation fault.
6910
6911    *) Исправление: происходил segmentation fault, если в директиве
6912       proxy_pass использовался unix domain сокет; ошибка появилась в
6913       0.3.47.
6914
6915    *) Исправление: SSI не работал с ответами memcached и
6916       небуферизированными проксированными ответами.
6917
6918    *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
6919
6920
6921Изменения в nginx 0.4.2                                           14.09.2006
6922
6923    *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
6924       появилась в 0.4.1.
6925
6926
6927Изменения в nginx 0.4.1                                           14.09.2006
6928
6929    *) Исправление: совместимость с DragonFlyBSD.
6930       Спасибо Павлу Назарову.
6931
6932    *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
6933       файлов больше 2G.
6934
6935    *) Добавление: теперь на Linux nginx для статических запросов использует
6936       флаг O_NOATIME.
6937       Спасибо Yusuf Goolamabbas.
6938
6939
6940Изменения в nginx 0.4.0                                           30.08.2006
6941
6942    *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из
6943       фазы init module в фазу HTTP postconfiguration.
6944
6945    *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
6946       считывается заранее: нужно явно инициировать чтение с помощью метода
6947       $r->has_request_body.
6948
6949    *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
6950       DECLINED.
6951
6952    *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
6953       заголовка "Date" для метода PUT.
6954
6955    *) Добавление: директива ssi работает внутри блока if.
6956
6957    *) Исправление: происходил segmentation fault, если в директиве index
6958       использовалась переменные и при этом первое имя индексного файла было
6959       без переменных; ошибка появилась в 0.1.29.
6960
6961
6962Изменения в nginx 0.3.61                                          28.08.2006
6963
6964    *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
6965
6966    *) Добавление: директива msie_refresh.
6967
6968    *) Добавление: директива recursive_error_pages.
6969
6970    *) Исправление: директива rewrite возвращала неправильный редирект, если
6971       редирект включал в себя выделенные закодированные символы из
6972       оригинального URI.
6973
6974
6975Изменения в nginx 0.3.60                                          18.08.2006
6976
6977    *) Исправление: во время перенаправления ошибки рабочий процесс мог
6978       зациклиться; ошибка появилась в 0.3.59.
6979
6980
6981Изменения в nginx 0.3.59                                          16.08.2006
6982
6983    *) Добавление: теперь можно делать несколько перенаправлений через
6984       директиву error_page.
6985
6986    *) Исправление: директива dav_access не поддерживала три параметра.
6987
6988    *) Исправление: директива error_page не изменяла строку "Content-Type"
6989       после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
6990       в 0.3.58.
6991
6992
6993Изменения в nginx 0.3.58                                          14.08.2006
6994
6995    *) Добавление: директива error_page поддерживает переменные.
6996
6997    *) Изменение: теперь на Linux используется интерфейс procfs вместо
6998       sysctl.
6999
7000    *) Изменение: теперь при использовании "X-Accel-Redirect" строка
7001       "Content-Type" наследуется из первоначального ответа.
7002
7003    *) Исправление: директива error_page не перенаправляла ошибку 413.
7004
7005    *) Исправление: завершающий "?" не удалял старые аргументы, если в
7006       переписанном URI не было новых аргументов.
7007
7008    *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
7009
7010
7011Изменения в nginx 0.3.57                                          09.08.2006
7012
7013    *) Добавление: переменная $ssl_client_serial.
7014
7015    *) Исправление: в операторе "!-e" в директиве if.
7016       Спасибо Андриану Буданцову.
7017
7018    *) Исправление: при проверке клиентского сертификата nginx не передавал
7019       клиенту информацию о требуемых сертификатах.
7020
7021    *) Исправление: переменная $document_root не поддерживала переменные в
7022       директиве root.
7023
7024
7025Изменения в nginx 0.3.56                                          04.08.2006
7026
7027    *) Добавление: директива dav_access.
7028
7029    *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
7030       "!-e", "-x" и "!-x".
7031
7032    *) Исправление: при записи в access_log некоторых передаваемых клиенту
7033       строк заголовков происходил segmentation fault, если запрос возвращал
7034       редирект.
7035
7036
7037Изменения в nginx 0.3.55                                          28.07.2006
7038
7039    *) Добавление: параметр stub в команде SSI include.
7040
7041    *) Добавление: команда SSI block.
7042
7043    *) Добавление: скрипт unicode2nginx добавлен в contrib.
7044
7045    *) Исправление: если root был задан только переменной, то корень
7046       задавался относительно префикса сервера.
7047
7048    *) Исправление: если в запросе был "//" или "/.", и после этого
7049       закодированные символы в виде "%XX", то проксируемый запрос
7050       передавался незакодированным.
7051
7052    *) Исправление: метод $r->header_in("Cookie") модуля
7053       ngx_http_perl_module теперь возвращает все строки "Cookie" в
7054       заголовке запроса.
7055
7056    *) Исправление: происходил segmentation fault, если использовался
7057       "client_body_in_file_only on" и делался переход к следующему бэкенду.
7058
7059    *) Исправление: при некоторых условиях во время переконфигурации коды
7060       символов внутри директивы charset_map могли считаться неверными;
7061       ошибка появилась в 0.3.50.
7062
7063
7064Изменения в nginx 0.3.54                                          11.07.2006
7065
7066    *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
7067
7068    *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
7069       memcached_next_upstream поддерживают параметр off.
7070
7071    *) Добавление: директива debug_connection поддерживает запись адресов в
7072       формате CIDR.
7073
7074    *) Исправление: при перекодировании ответа проксированного сервера или
7075       сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
7076       полностью.
7077
7078    *) Исправление: переменная $upstream_response_time содержала время
7079       только первого обращения к бэкенду.
7080
7081    *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
7082       в 0.3.53.
7083
7084
7085Изменения в nginx 0.3.53                                          07.07.2006
7086
7087    *) Изменение: директива add_header добавляет строки в ответы с кодом
7088       204, 301 и 302.
7089
7090    *) Добавление: директива server в блоке upstream поддерживает параметр
7091       weight.
7092
7093    *) Добавление: директива server_name поддерживает маску "*".
7094
7095    *) Добавление: nginx поддерживает тело запроса больше 2G.
7096
7097    *) Исправление: если при использовании "satisfy_any on" клиент успешно
7098       проходил аутентификацию, в лог всё равно записалоcь сообщение "access
7099       forbidden by rule".
7100
7101    *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
7102       409.
7103
7104    *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
7105       ошибку, nginx продолжал проксирование.
7106
7107
7108Изменения в nginx 0.3.52                                          03.07.2006
7109
7110    *) Изменение: восстановлено поведение модуля ngx_http_index_module для
7111       запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
7112       ошибку 405.
7113
7114    *) Исправление: при использовании ограничения скорости рабочий процесс
7115       мог зациклиться; ошибка появилась в 0.3.37.
7116
7117    *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
7118       "unknown charset", даже если перекодировка не требовалась; ошибка
7119       появилась в 0.3.50.
7120
7121    *) Исправление: если в результате запроса PUT возвращался код 409, то
7122       временный файл не удалялся.
7123
7124
7125Изменения в nginx 0.3.51                                          30.06.2006
7126
7127    *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
7128       ошибка появилась в 0.3.50.
7129
7130
7131Изменения в nginx 0.3.50                                          28.06.2006
7132
7133    *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
7134       переименованы соответственно в proxy_intercept_errors и
7135       fastcgi_intercept_errors.
7136
7137    *) Добавление: модуль ngx_http_charset_module поддерживает
7138       перекодирование из однобайтных кодировок в UTF-8 и обратно.
7139
7140    *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
7141       "X-Accel-Charset" в ответе бэкенда.
7142
7143    *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
7144       только если также использовался символ "$".
7145
7146    *) Исправление: при некоторых условиях в SSI после вставки могла быть
7147       добавлена строка "<!--".
7148
7149    *) Исправление: если в заголовке ответа была строка "Content-Length: 0",
7150       то при использовании небуферизированного проксировании не закрывалось
7151       соединение с клиентом.
7152
7153
7154Изменения в nginx 0.3.49                                          31.05.2006
7155
7156    *) Исправление: в директиве set.
7157
7158    *) Исправление: при включении в ssi двух и более подзапросов,
7159       обрабатываемых через FastCGI, вместо вывода второго и остальных
7160       подзапросов в ответ включался вывод первого подзапроса.
7161
7162
7163Изменения в nginx 0.3.48                                          29.05.2006
7164
7165    *) Изменение: теперь модуль ngx_http_charset_module работает для
7166       подзапросов, в ответах которых нет строки заголовка "Content-Type".
7167
7168    *) Исправление: если в директиве proxy_pass не было URI, то директива
7169       "proxy_redirect default" добавляла в переписанный редирект в начало
7170       лишний слэш.
7171
7172    *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
7173       GET, теперь это делается только для редиректов, выполняемых с помощью
7174       X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в
7175       0.3.42.
7176
7177    *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
7178       с поддержкой потоков; ошибка появилась в 0.3.46.
7179
7180
7181Изменения в nginx 0.3.47                                          23.05.2006
7182
7183    *) Добавление: директива upstream.
7184
7185    *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
7186       всегда убирается.
7187
7188
7189Изменения в nginx 0.3.46                                          11.05.2006
7190
7191    *) Добавление: директивы proxy_hide_header, proxy_pass_header,
7192       fastcgi_hide_header и fastcgi_pass_header.
7193
7194    *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
7195       proxy_pass_server упразднены.
7196
7197    *) Добавление: в режиме прокси поддерживается строка заголовка
7198       "X-Accel-Buffering" в ответе бэкенда.
7199
7200    *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
7201       ngx_http_perl_module.
7202
7203
7204Изменения в nginx 0.3.45                                          06.05.2006
7205
7206    *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
7207       ssl_client_certificate.
7208
7209    *) Изменение: теперь переменная $request_method возвращает метод только
7210       основного запроса.
7211
7212    *) Изменение: в таблице перекодировки koi-win изменены коды символа
7213       &deg;.
7214
7215    *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
7216       номера.
7217
7218    *) Исправление: если nginx распределял запросы на несколько машин, то
7219       при падении одной из них запросы, предназначенные для этой машины,
7220       перенаправлялись только на одну машину вместо того, чтобы равномерно
7221       распределяться между остальными.
7222
7223
7224Изменения в nginx 0.3.44                                          04.05.2006
7225
7226    *) Добавление: параметр wait в команде SSI include.
7227
7228    *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
7229       белорусские символы.
7230
7231    *) Исправление: в SSI.
7232
7233
7234Изменения в nginx 0.3.43                                          26.04.2006
7235
7236    *) Исправление: в SSI.
7237
7238
7239Изменения в nginx 0.3.42                                          26.04.2006
7240
7241    *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
7242
7243    *) Исправление: ошибки при использовании в директиве rewrite одного и
7244       того же выделения более одного раза.
7245
7246    *) Исправление: в лог не записывались переменные
7247       $sent_http_content_type, $sent_http_content_length,
7248       $sent_http_last_modified, $sent_http_connection,
7249       $sent_http_keep_alive и $sent_http_transfer_encoding.
7250
7251    *) Исправление: переменная $sent_http_cache_control возвращала
7252       содержимое только одной строки "Cache-Control" в заголовке ответа.
7253
7254
7255Изменения в nginx 0.3.41                                          21.04.2006
7256
7257    *) Добавление: ключ -v.
7258
7259    *) Исправление: при включении в SSI удалённых подзапросов мог произойти
7260       segmentation fault.
7261
7262    *) Исправление: в обработке FastCGI.
7263
7264    *) Исправление: если путь к перловым модулям не был указан с помощью
7265       --with-perl_modules_path=PATH или директивы perl_modules, то на
7266       старте происходил segmentation fault.
7267
7268
7269Изменения в nginx 0.3.40                                          19.04.2006
7270
7271    *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
7272
7273    *) Добавление: директива create_full_put_path.
7274
7275    *) Добавление: переменная $limit_rate.
7276
7277
7278Изменения в nginx 0.3.39                                          17.04.2006
7279
7280    *) Добавление: директива uninitialized_variable_warn; уровень
7281       логгирования сообщения о неинициализированной переменной понижен с
7282       уровня alert на warn.
7283
7284    *) Добавление: директива override_charset.
7285
7286    *) Изменение: при использовании неизвестной переменной в SSI-командах
7287       echo и if expr='$name' теперь не записывается в лог сообщение о
7288       неизвестной переменной.
7289
7290    *) Исправление: счётчик активных соединений рос при превышении лимита
7291       соединений, заданного директивой worker_connections; ошибка появилась
7292       в 0.2.0.
7293
7294    *) Исправление: при некоторых условия ограничение скорости соединения
7295       могло не работать; ошибка появилась в 0.3.38.
7296
7297
7298Изменения в nginx 0.3.38                                          14.04.2006
7299
7300    *) Добавление: модуль ngx_http_dav_module.
7301
7302    *) Изменение: оптимизация модуля ngx_http_perl_module.
7303       Спасибо Сергею Скворцову.
7304
7305    *) Добавление: модуль ngx_http_perl_module поддерживает метод
7306       $r->request_body_file.
7307
7308    *) Добавление: директива client_body_in_file_only.
7309
7310    *) Изменение: теперь при переполнении диска nginx пытается писать
7311       access_log'и только раз в секунду.
7312       Спасибо Антону Южанинову и Максиму Дунину.
7313
7314    *) Исправление: теперь директива limit_rate точнее ограничивает скорость
7315       при значениях больше 100 Kbyte/s.
7316       Спасибо ForJest.
7317
7318    *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
7319       символы "\r" и "\n" в логине и пароле в закодированном виде.
7320       Спасибо Максиму Дунину.
7321
7322
7323Изменения в nginx 0.3.37                                          07.04.2006
7324
7325    *) Добавление: директива limit_except.
7326
7327    *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
7328       "!-f".
7329
7330    *) Добавление: модуль ngx_http_perl_module поддерживает метод
7331       $r->request_body.
7332
7333    *) Исправление: в модуле ngx_http_addition_filter_module.
7334
7335
7336Изменения в nginx 0.3.36                                          05.04.2006
7337
7338    *) Добавление: модуль ngx_http_addition_filter_module.
7339
7340    *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
7341       внутри блока if.
7342
7343    *) Добавление: директивы proxy_ignore_client_abort и
7344       fastcgi_ignore_client_abort.
7345
7346    *) Добавление: переменная $request_completion.
7347
7348    *) Добавление: модуль ngx_http_perl_module поддерживает методы
7349       $r->request_method и $r->remote_addr.
7350
7351    *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
7352
7353    *) Исправление: строка "\/" в начале выражения команды if модуля
7354       ngx_http_ssi_module воспринималась неверно.
7355
7356    *) Исправление: в использовании регулярных выражениях в команде if
7357       модуля ngx_http_ssi_module.
7358
7359    *) Исправление: при задании относительного пути в директивах
7360       client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
7361       perl_modules использовался каталог относительно текущего каталога, а
7362       не относительно префикса сервера.
7363
7364
7365Изменения в nginx 0.3.35                                          22.03.2006
7366
7367    *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
7368       для первой директивы listen; ошибка появилась в 0.3.31.
7369
7370    *) Исправление: в директиве proxy_pass без URI при использовании в
7371       подзапросе.
7372
7373
7374Изменения в nginx 0.3.34                                          21.03.2006
7375
7376    *) Добавление: директива add_header поддерживает переменные.
7377
7378
7379Изменения в nginx 0.3.33                                          15.03.2006
7380
7381    *) Добавление: параметр http_503 в директивах proxy_next_upstream или
7382       fastcgi_next_upstream.
7383
7384    *) Исправление: ngx_http_perl_module не работал со встроенным в
7385       конфигурационный файл кодом, если он не начинался сразу же с "sub".
7386
7387    *) Исправление: в директиве post_action.
7388
7389
7390Изменения в nginx 0.3.32                                          11.03.2006
7391
7392    *) Исправление: удаление отладочного логгирования на старте и при
7393       переконфигурации; ошибка появилась в 0.3.31.
7394
7395
7396Изменения в nginx 0.3.31                                          10.03.2006
7397
7398    *) Изменение: теперь nginx передаёт неверные ответы проксированного
7399       бэкенда.
7400
7401    *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
7402
7403    *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
7404
7405    *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
7406       64-битном ядре MacOSX.
7407       Спасибо Андрею Нигматулину.
7408
7409    *) Исправление: если внутри одного сервера описаны несколько директив
7410       listen, слушающих на разных адресах, то имена серверов вида
7411       "*.domain.tld" работали только для первого адреса; ошибка появилась в
7412       0.3.18.
7413
7414    *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
7415       не передавались запросы с телом, записанным во временный файл.
7416
7417    *) Исправление: совместимость с perl 5.8.8.
7418
7419
7420Изменения в nginx 0.3.30                                          22.02.2006
7421
7422    *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
7423       с уровня crit.
7424
7425    *) Исправление: модуль ngx_http_perl_module не собирался без модуля
7426       ngx_http_ssi_filter_module.
7427
7428    *) Исправление: nginx не собирался на i386 платформе, если использовался
7429       PIC; ошибка появилась в 0.3.27.
7430
7431
7432Изменения в nginx 0.3.29                                          20.02.2006
7433
7434    *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
7435       FastCGI передаёт большое количество предупреждений перед ответом.
7436
7437    *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
7438       строка заголовка "Transfer-Encoding: chunked".
7439
7440    *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
7441       передавал полные строки заголовка ответа в отдельных FastCGI записях.
7442
7443    *) Исправление: если в директиве post_action был указан проксируемый
7444       URI, то он выполнялся только после успешного завершения запроса.
7445
7446
7447Изменения в nginx 0.3.28                                          16.02.2006
7448
7449    *) Добавление: директива restrict_host_names упразднена.
7450
7451    *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
7452
7453    *) Исправление: при некоторых условиях проксированное соединение с
7454       клиентом завершалось преждевременно.
7455       Спасибо Владимиру Шутову.
7456
7457    *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для
7458       запросов, перенаправленных с помощью строки "X-Accel-Redirect".
7459
7460    *) Исправление: директива post_action работала только после успешного
7461       завершения запроса.
7462
7463    *) Исправление: тело проксированного ответа, создаваемого директивой
7464       post_action, передавалось клиенту.
7465
7466
7467Изменения в nginx 0.3.27                                          08.02.2006
7468
7469    *) Изменение: директивы variables_hash_max_size и
7470       variables_hash_bucket_size.
7471
7472    *) Добавление: переменная $body_bytes_sent доступна не только в
7473       директиве log_format.
7474
7475    *) Добавление: переменные $ssl_protocol и $ssl_cipher.
7476
7477    *) Добавление: определение размера строки кэша распространённых
7478       процессоров при старте.
7479
7480    *) Добавление: директива accept_mutex теперь поддерживается посредством
7481       fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
7482
7483    *) Добавление: директива lock_file и параметр автоконфигурации
7484       --with-lock-path=PATH.
7485
7486    *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
7487       не передавались запросы с телом.
7488
7489
7490Изменения в nginx 0.3.26                                          03.02.2006
7491
7492    *) Изменение: директива optimize_host_names переименована в
7493       optimize_server_names.
7494
7495    *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
7496       URI основного запроса, если в директиве proxy_pass отсутствовал URI.
7497
7498
7499Изменения в nginx 0.3.25                                          01.02.2006
7500
7501    *) Исправление: при неверной конфигурации на старте или во время
7502       переконфигурации происходил segmentation fault; ошибка появилась в
7503       0.3.24.
7504
7505
7506Изменения в nginx 0.3.24                                          01.02.2006
7507
7508    *) Изменение: обход ошибки в kqueue во FreeBSD.
7509
7510    *) Исправление: ответ, создаваемый директивой post_action, теперь не
7511       передаётся клиенту.
7512
7513    *) Исправление: при использовании большого количества лог-файлов
7514       происходила утечка памяти.
7515
7516    *) Исправление: внутри одного location работала только первая директива
7517       proxy_redirect.
7518
7519    *) Исправление: на 64-битных платформах при старте мог произойти
7520       segmentation fault, если использовалось большое количество имён в
7521       директивах server_name; ошибка появилась в 0.3.18.
7522
7523
7524Изменения в nginx 0.3.23                                          24.01.2006
7525
7526    *) Добавление: директива optimize_host_names.
7527
7528    *) Исправление: ошибки при использовании переменных в директивах path и
7529       alias.
7530
7531    *) Исправление: модуль ngx_http_perl_module неправильно собирался на
7532       Linux и Solaris.
7533
7534
7535Изменения в nginx 0.3.22                                          17.01.2006
7536
7537    *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
7538       и $r->unescape.
7539
7540    *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
7541       упразднён.
7542
7543    *) Исправление: если в директиве valid_referers указаны только none или
7544       blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
7545
7546
7547Изменения в nginx 0.3.21                                          16.01.2006
7548
7549    *) Добавление: модуль ngx_http_perl_module.
7550
7551    *) Изменение: директива valid_referers разрешает использовать рефереры
7552       совсем без URI.
7553
7554
7555Изменения в nginx 0.3.20                                          11.01.2006
7556
7557    *) Исправление: ошибки в обработке SSI.
7558
7559    *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
7560       виде /uri?args.
7561
7562
7563Изменения в nginx 0.3.19                                          28.12.2005
7564
7565    *) Добавление: директивы path и alias поддерживают переменные.
7566
7567    *) Изменение: теперь директива valid_referers опять учитывает URI.
7568
7569    *) Исправление: ошибки в обработке SSI.
7570
7571
7572Изменения в nginx 0.3.18                                          26.12.2005
7573
7574    *) Добавление: директива server_names поддерживает имена вида
7575       ".domain.tld".
7576
7577    *) Добавление: директива server_names использует хэш для имён вида
7578       "*.domain.tld" и более эффективный хэш для обычных имён.
7579
7580    *) Изменение: директивы server_names_hash_max_size и
7581       server_names_hash_bucket_size.
7582
7583    *) Изменение: директивы server_names_hash и server_names_hash_threshold
7584       упразднены.
7585
7586    *) Добавление: директива valid_referers использует хэш для имён сайтов.
7587
7588    *) Изменение: теперь директива valid_referers проверяет только имена
7589       сайтов без учёта URI.
7590
7591    *) Исправление: некоторые имена вида ".domain.tld" неверно
7592       обрабатывались модулем ngx_http_map_module.
7593
7594    *) Исправление: если конфигурационного файла не было, то происходил
7595       segmentation fault; ошибка появилась в 0.3.12.
7596
7597    *) Исправление: на 64-битных платформах при старте мог произойти
7598       segmentation fault; ошибка появилась в 0.3.16.
7599
7600
7601Изменения в nginx 0.3.17                                          18.12.2005
7602
7603    *) Изменение: на Linux configure теперь проверяет наличие epoll и
7604       sendfile64() в ядре.
7605
7606    *) Добавление: директива map поддерживает доменные имена в формате
7607       ".domain.tld".
7608
7609    *) Исправление: во время SSL handshake не иcпользовались таймауты;
7610       ошибка появилась в 0.2.4.
7611
7612    *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
7613
7614    *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
7615       по умолчанию использовался порт 80.
7616
7617
7618Изменения в nginx 0.3.16                                          16.12.2005
7619
7620    *) Добавление: модуль ngx_http_map_module.
7621
7622    *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
7623
7624    *) Добавление: директива ssi_value_length.
7625
7626    *) Добавление: директива worker_rlimit_core.
7627
7628    *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
7629       Pentium 4 номер соединения в логах всегда был равен 1.
7630
7631    *) Исправление: команда config timefmt в SSI задавала неверный формат
7632       времени.
7633
7634    *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
7635       использовании SSL соединений; ошибка появилась в 0.3.13.
7636       Спасибо Rob Mueller.
7637
7638    *) Исправление: segmentation fault мог произойти во время SSL shutdown;
7639       ошибка появилась в 0.3.13.
7640
7641
7642Изменения в nginx 0.3.15                                          07.12.2005
7643
7644    *) Добавление: новой код 444 в директиве return для закрытия соединения.
7645
7646    *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
7647
7648    *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
7649       соединений только при плавном выходе и включённой директиве
7650       debug_points.
7651
7652
7653Изменения в nginx 0.3.14                                          05.12.2005
7654
7655    *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
7656       в 0.3.13.
7657
7658
7659Изменения в nginx 0.3.13                                          05.12.2005
7660
7661    *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
7662
7663    *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
7664       /dev/poll.
7665
7666    *) Исправление: ошибки в обработке SSI.
7667
7668    *) Исправление: sendfilev() в Solaris теперь не используется при
7669       передаче тела запроса FastCGI-серверу через unix domain сокет.
7670
7671    *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка
7672       появилась в 0.3.11.
7673
7674
7675Изменения в nginx 0.3.12                                          26.11.2005
7676
7677    *) Безопасность: если nginx был собран с модулем ngx_http_realip_module,
7678       то при использовании директивы "satisfy_any on" директивы доступа и
7679       аутентификации не работали. Модуль ngx_http_realip_module не
7680       собирался и не собирается по умолчанию.
7681
7682    *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
7683
7684    *) Изменение: директивы proxy_header_buffer_size и
7685       fastcgi_header_buffer_size переименованы соответственно в
7686       proxy_buffer_size и fastcgi_buffer_size.
7687
7688    *) Добавление: модуль ngx_http_memcached_module.
7689
7690    *) Добавление: директива proxy_buffering.
7691
7692    *) Исправление: изменение в работе с accept mutex при использовании
7693       метода rtsig; ошибка появилась в 0.3.0.
7694
7695    *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
7696       в заголовке запроса, то nginx теперь выдаёт ошибку 411.
7697
7698    *) Исправление: при наследовании директивы auth_basic с уровня http в
7699       строке "WWW-Authenticate" заголовка ответа выводился realm без текста
7700       "Basic realm".
7701
7702    *) Исправление: если в директиве access_log был явно указан формат
7703       combined, то в лог записывались пустые строки; ошибка появилась в
7704       0.3.8.
7705
7706    *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме
7707       Solaris.
7708
7709    *) Исправление: в директиве if теперь не нужно разделять пробелом строку
7710       в кавычках и закрывающую скобку.
7711
7712
7713Изменения в nginx 0.3.11                                          15.11.2005
7714
7715    *) Исправление: nginx не передавал при проксировании тело запроса и
7716       строки заголовка клиента; ошибка появилась в 0.3.10.
7717
7718
7719Изменения в nginx 0.3.10                                          15.11.2005
7720
7721    *) Изменение: директива valid_referers и переменная $invalid_referer
7722       перенесены из модуля ngx_http_rewrite_module в новый модуль
7723       ngx_http_referer_module.
7724
7725    *) Изменение: имя переменной "$apache_bytes_sent" изменено на
7726       "$body_bytes_sent".
7727
7728    *) Добавление: переменные "$sent_http_...".
7729
7730    *) Добавление: директива if поддерживает операции "=" и "!=".
7731
7732    *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
7733
7734    *) Добавление: директива proxy_set_body.
7735
7736    *) Добавление: директива post_action.
7737
7738    *) Добавление: модуль ngx_http_empty_gif_module.
7739
7740    *) Добавление: директива worker_cpu_affinity для Linux.
7741
7742    *) Исправление: директива rewrite не раскодировала символы в редиректах
7743       в URI, теперь символы раскодируются, кроме символов %00-%25 и
7744       %7F-%FF.
7745
7746    *) Исправление: nginx не собирался компилятором icc 9.0.
7747
7748    *) Исправление: если для статического файла нулевого размера был
7749       разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
7750
7751
7752Изменения в nginx 0.3.9                                           10.11.2005
7753
7754    *) Исправление: nginx считал небезопасными URI, в которых между двумя
7755       слэшами находилось два любых символа; ошибка появилась в 0.3.8.
7756
7757
7758Изменения в nginx 0.3.8                                           09.11.2005
7759
7760    *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
7761       строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
7762       наличие путей "/../" и нулей.
7763
7764    *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
7765       строке "Authorization" в заголовке запроса.
7766
7767    *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module
7768       и ngx_imap_ssl_module.
7769
7770    *) Добавление: директива auth_http_header модуля
7771       ngx_imap_auth_http_module.
7772
7773    *) Добавление: директива add_header.
7774
7775    *) Добавление: модуль ngx_http_realip_module.
7776
7777    *) Добавление: новые переменные для использования в директиве
7778       log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
7779       $uri, $request_time, $request_length, $upstream_status,
7780       $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
7781       $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
7782       упразднены.
7783
7784    *) Изменение: в директиве "if" ложными значениями переменных теперь
7785       являются пустая строка "" и строки, начинающиеся на "0".
7786
7787    *) Исправление: при работает с проксированными или FastCGI-серверами
7788       nginx мог оставлять открытыми соединения и временные файлы с
7789       запросами клиентов.
7790
7791    *) Исправление: рабочие процессы не сбрасывали буферизированные логи при
7792       плавном выходе.
7793
7794    *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
7795       запрос проксировался в location, заданном регулярным выражением, то
7796       бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
7797
7798    *) Исправление: директива expires не удаляла уже установленную строку
7799       заголовка "Expires".
7800
7801    *) Исправление: при использовании метода rtsig и нескольких рабочих
7802       процессах nginx мог перестать принимать запросы.
7803
7804    *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
7805       "\'".
7806
7807    *) Исправление: если ответ заканчивался сразу же после SSI команды, то
7808       при использовании сжатия ответ передавался не до конца или не
7809       передавался вообще.
7810
7811
7812Изменения в nginx 0.3.7                                           27.10.2005
7813
7814    *) Добавление: директива access_log поддерживает параметр buffer=.
7815
7816    *) Исправление: nginx не собирался на платформах, отличных от i386,
7817       amd64, sparc и ppc; ошибка появилась в 0.3.2.
7818
7819
7820Изменения в nginx 0.3.6                                           24.10.2005
7821
7822    *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
7823       пустой логин.
7824
7825    *) Добавление: директива log_format поддерживает переменные в виде
7826       $name.
7827
7828    *) Исправление: если хотя бы в одном сервере не было описано ни одной
7829       директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
7830       0.3.3.
7831
7832    *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
7833       использовался порт 80.
7834
7835
7836Изменения в nginx 0.3.5                                           21.10.2005
7837
7838    *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
7839       мог произойти segmentation fault; ошибка появилась в 0.2.2.
7840
7841    *) Исправление: accept mutex не работал, все соединения обрабатывались
7842       одним рабочим процессом; ошибка появилась в 0.3.3.
7843
7844    *) Исправление: при использовании метода rtsig и директивы
7845       timer_resolution не работали таймауты.
7846
7847
7848Изменения в nginx 0.3.4                                           19.10.2005
7849
7850    *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
7851       появилась в 0.3.3.
7852
7853
7854Изменения в nginx 0.3.3                                           19.10.2005
7855
7856    *) Изменение: параметры "bl" и "af" директивы listen переименованы в
7857       "backlog" и "accept_filter".
7858
7859    *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
7860
7861    *) Изменение: параметр лога $msec теперь не требует дополнительного
7862       системного вызова gettimeofday().
7863
7864    *) Добавление: ключ -t теперь проверяет директивы listen.
7865
7866    *) Исправление: если в директиве listen был указан неверный адрес, то
7867       nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
7868
7869    *) Исправление: для индексных файлов, содержащих в имени переменную, мог
7870       неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0.
7871
7872    *) Добавление: директива timer_resolution.
7873
7874    *) Добавление: параметр лога $upstream_response_time в миллисекундах.
7875
7876    *) Исправление: временный файл с телом запроса клиента теперь удаляется
7877       сразу после того, как клиенту передан заголовок ответа.
7878
7879    *) Исправление: совместимость с OpenSSL 0.9.6.
7880
7881    *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
7882       относительными.
7883
7884    *) Исправление: директива ssl_prefer_server_ciphers не работала для
7885       модуля ngx_imap_ssl_module.
7886
7887    *) Исправление: директива ssl_protocols позволяла задать только один
7888       протокол.
7889
7890
7891Изменения в nginx 0.3.2                                           12.10.2005
7892
7893    *) Добавление: поддержка Sun Studio 10 C compiler.
7894
7895    *) Добавление: директивы proxy_upstream_max_fails,
7896       proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
7897       fastcgi_upstream_fail_timeout.
7898
7899
7900Изменения в nginx 0.3.1                                           10.10.2005
7901
7902    *) Исправление: во время переполнения очереди сигналов при использовании
7903       метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0.
7904
7905    *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
7906
7907
7908Изменения в nginx 0.3.0                                           07.10.2005
7909
7910    *) Изменение: убрано десятидневное ограничение времени работы рабочего
7911       процесса. Ограничение было введено из-за переполнения миллисекундных
7912       таймеров.
7913
7914
7915Изменения в nginx 0.2.6                                           05.10.2005
7916
7917    *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
7918       бэкенду при использовании распределения нагрузки.
7919
7920    *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный
7921       запрос теперь передаётся, если в директиве proxy_pass отсутствует
7922       URI.
7923
7924    *) Добавление: директива error_page поддерживает редиректы и позволяет
7925       более гибко менять код ошибки.
7926
7927    *) Изменение: в проксированных подзапросах теперь игнорируется
7928       переданный charset.
7929
7930    *) Исправление: если после изменения URI в блоке if для запроса не
7931       находилась новая конфигурация, то правила модуля
7932       ngx_http_rewrite_module выполнялись снова.
7933
7934    *) Исправление: если директива set устанавливала переменную модуля
7935       ngx_http_geo_module в какой-либо части конфигурации, то эта
7936       переменная не была доступна в других частях конфигурации и выдавалась
7937       ошибка "using uninitialized variable"; ошибка появилась в 0.2.2.
7938
7939
7940Изменения в nginx 0.2.5                                           04.10.2005
7941
7942    *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module
7943       теперь выдаёт предупреждение и изменяет старое значение.
7944
7945    *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
7946
7947    *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
7948       команде include.
7949
7950    *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
7951       значений переменных в выражениях команды if.
7952
7953
7954Изменения в nginx 0.2.4                                           03.10.2005
7955
7956    *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
7957       "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
7958       if.
7959
7960    *) Исправление: ошибки при проксировании location без слэша в конце;
7961       ошибка появилась в 0.1.44.
7962
7963    *) Исправление: при использовании метода rtsig мог произойти
7964       segmentation fault; ошибка появилась в 0.2.0.
7965
7966
7967Изменения в nginx 0.2.3                                           30.09.2005
7968
7969    *) Исправление: nginx не собирался без параметра --with-debug; ошибка
7970       появилась в 0.2.2.
7971
7972
7973Изменения в nginx 0.2.2                                           30.09.2005
7974
7975    *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
7976
7977    *) Изменение: переменные модуля ngx_http_geo_module можно переопределять
7978       директивой set.
7979
7980    *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
7981       модулей ngx_http_ssl_module и ngx_imap_ssl_module.
7982
7983    *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
7984       длинных имён файлов;
7985
7986    *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
7987       файлы, начинающиеся на точку.
7988
7989    *) Исправление: если SSL handshake завершался с ошибкой, то это могло
7990       привести также к закрытию другого соединения.
7991       Спасибо Rob Mueller.
7992
7993    *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
7994       HTTPS.
7995
7996
7997Изменения в nginx 0.2.1                                           23.09.2005
7998
7999    *) Исправление: если все бэкенды, используемые для балансировки
8000       нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
8001       nginx мог зациклится; ошибка появилась в 0.2.0.
8002
8003
8004Изменения в nginx 0.2.0                                           23.09.2005
8005
8006    *) Изменились имена pid-файлов, используемые во время обновления
8007       исполняемого файла. Ручное переименование теперь не нужно. Старый
8008       основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
8009       запускает новый исполняемый файл. Новый основной процесс создаёт
8010       обычный pid-файл без суффикса ".newbin". Если новый основной процесс
8011       выходит, то старый процесс переименовывает свой pid-файл c суффиксом
8012       ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
8013       0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
8014       0.2.0 - используют pid-файл без суффиксов.
8015
8016    *) Изменение: директива worker_connections, новое название директивы
8017       connections; директива теперь задаёт максимальное число соединений, а
8018       не максимально возможный номер дескриптора для сокета.
8019
8020    *) Добавление: SSL поддерживает кэширование сессий в пределах одного
8021       рабочего процесса.
8022
8023    *) Добавление: директива satisfy_any.
8024
8025    *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module
8026       не работают для подзапросов.
8027
8028    *) Добавление: директивы worker_rlimit_nofile и
8029       worker_rlimit_sigpending.
8030
8031    *) Исправление: если все бэкенды, используемые для балансировки
8032       нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
8033       nginx не обращался к ним в течение 60 секунд.
8034
8035    *) Исправление: в парсинге аргументов IMAP/POP3 команд.
8036       Спасибо Rob Mueller.
8037
8038    *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
8039
8040    *) Исправление: ошибки при использовании SSI и сжатия.
8041
8042    *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
8043       "Expires" и "Cache-Control".
8044       Спасибо Александру Кукушкину.
8045
8046
8047Изменения в nginx 0.1.45                                          08.09.2005
8048
8049    *) Изменение: директива ssl_engine упразднена в модуле
8050       ngx_http_ssl_module и перенесена на глобальный уровень.
8051
8052    *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
8053       передавались через SSL соединение.
8054
8055    *) Разные исправления в IMAP/POP3 прокси.
8056
8057
8058Изменения в nginx 0.1.44                                          06.09.2005
8059
8060    *) Добавление: IMAP/POP3 прокси поддерживает SSL.
8061
8062    *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
8063
8064    *) Добавление: директива userid_mark.
8065
8066    *) Добавление: значение переменной $remote_user определяется независимо
8067       от того, используется ли авторизация или нет.
8068
8069
8070Изменения в nginx 0.1.43                                          30.08.2005
8071
8072    *) Добавление: listen(2) backlog в директиве listen можно менять по
8073       сигналу -HUP.
8074
8075    *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
8076
8077    *) Изменение: параметры FastCGI с пустым значениями теперь передаются
8078       серверу.
8079
8080    *) Исправление: если в ответе проксированного сервера или FastCGI
8081       сервера была строка "Cache-Control", то при использовании директивы
8082       expires происходил segmentation fault или рабочий процесс мог
8083       зациклится; в режиме прокси ошибка появилась в 0.1.29.
8084
8085
8086Изменения в nginx 0.1.42                                          23.08.2005
8087
8088    *) Исправление: если URI запроса получался нулевой длины после обработки
8089       модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module
8090       происходил segmentation fault или bus error.
8091
8092    *) Исправление: директива limit_rate не работала внутри блока if; ошибка
8093       появилась в 0.1.38.
8094
8095
8096Изменения в nginx 0.1.41                                          25.07.2005
8097
8098    *) Исправление: если переменная использовалась в файле конфигурации, то
8099       она не могла использоваться в SSI.
8100
8101
8102Изменения в nginx 0.1.40                                          22.07.2005
8103
8104    *) Исправление: если клиент слал очень длинную строку заголовка, то в
8105       логе не помещалась информация, связанная с этим запросом.
8106
8107    *) Исправление: при использовании "X-Accel-Redirect" не передавалась
8108       строка "Set-Cookie"; ошибка появилась в 0.1.39.
8109
8110    *) Исправление: при использовании "X-Accel-Redirect" не передавалась
8111       строка "Content-Disposition".
8112
8113    *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
8114       на которых он слушал.
8115
8116    *) Исправление: после обновления исполняемого файла на лету на Linux и
8117       Solaris название процесса в команде ps становилось короче.
8118
8119
8120Изменения в nginx 0.1.39                                          14.07.2005
8121
8122    *) Изменения в модуле ngx_http_charset_module: директива default_charset
8123       упразднена; директива charset задаёт кодировку ответа; директива
8124       source_charset задаёт только исходную кодировку.
8125
8126    *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
8127       не передавалась строка заголовка "WWW-Authenticate".
8128
8129    *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
8130       могли закрыть соединение до того, как что-нибудь было передано
8131       клиенту; ошибка появилась в 0.1.38.
8132
8133    *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
8134
8135    *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
8136       URI в команде include virtual.
8137
8138    *) Исправление: если в строке заголовка ответа бэкенда была строка
8139       "Location", которую nginx не должен был изменять, то в ответе
8140       передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
8141
8142    *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
8143       ngx_http_fastcgi_module не наследовались с уровня server на уровень
8144       location; ошибка появилась в 0.1.29.
8145
8146    *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
8147       сертификатов.
8148
8149    *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
8150       длинных имён файлов; ошибка появилась в 0.1.38.
8151
8152    *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
8153       стадии login.
8154
8155
8156Изменения в nginx 0.1.38                                          08.07.2005
8157
8158    *) Добавление: директива limit_rate поддерживается в режиме прокси и
8159       FastCGI.
8160
8161    *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
8162       "X-Accel-Limit-Rate" в ответе бэкенда.
8163
8164    *) Добавление: директива break.
8165
8166    *) Добавление: директива log_not_found.
8167
8168    *) Исправление: при перенаправлении запроса с помощью строки заголовка
8169       "X-Accel-Redirect" не изменялся код ответа.
8170
8171    *) Исправление: переменные, установленные директивой set не могли
8172       использоваться в SSI.
8173
8174    *) Исправление: при включении в SSI более одного удалённого подзапроса
8175       мог произойти segmentation fault.
8176
8177    *) Исправление: если статусная строка в ответе бэкенда передавалась в
8178       двух пакетах, то nginx считал ответ неверным; ошибка появилась в
8179       0.1.29.
8180
8181    *) Добавление: директива ssi_types.
8182
8183    *) Добавление: директива autoindex_exact_size.
8184
8185    *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
8186       имена файлов в UTF-8.
8187
8188    *) Добавление: IMAP/POP3 прокси.
8189
8190
8191Изменения в nginx 0.1.37                                          23.06.2005
8192
8193    *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
8194
8195    *) Исправление: при включении большого количества вставок или нескольких
8196       больших вставок с помощью SSI ответ мог передаваться не полностью.
8197
8198    *) Исправление: если все бэкенды возвращали ответ 404, то при
8199       использовании параметра http_404 в директивах proxy_next_upstream или
8200       fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова.
8201
8202
8203Изменения в nginx 0.1.36                                          15.06.2005
8204
8205    *) Изменение: если в заголовке запроса есть дублирующиеся строки "Host",
8206       "Connection", "Content-Length" и "Authorization", то nginx теперь
8207       выдаёт ошибку 400.
8208
8209    *) Изменение: директива post_accept_timeout упразднена.
8210
8211    *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
8212       listen.
8213
8214    *) Добавление: поддержка accept фильтров во FreeBSD.
8215
8216    *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
8217
8218    *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
8219       файлов в UTF-8.
8220
8221    *) Исправление: после добавления новый лог-файл ротация этого лога по
8222       сигналу -USR1 выполнялась, только если переконфигурировать nginx два
8223       раза по сигналу -HUP.
8224
8225
8226Изменения в nginx 0.1.35                                          07.06.2005
8227
8228    *) Добавление: директива working_directory.
8229
8230    *) Добавление: директива port_in_redirect.
8231
8232    *) Исправление: если заголовок ответа бэкенда не помещался в один пакет,
8233       то происходил segmentation fault; ошибка появилась в 0.1.29.
8234
8235    *) Исправление: если было сконфигурировано более 10 серверов или в
8236       сервере не описана директива "listen", то при запуске мог произойти
8237       segmentation fault.
8238
8239    *) Исправление: если ответ не помещался во временный файл, то мог
8240       произойти segmentation fault.
8241
8242    *) Исправление: nginx возвращал ошибку 400 на запросы вида
8243       "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
8244
8245
8246Изменения в nginx 0.1.34                                          26.05.2005
8247
8248    *) Исправление: при включении больших ответов с помощью SSI рабочий
8249       процесс мог зациклиться.
8250
8251    *) Исправление: переменные, устанавливаемые директивой "set", не были
8252       доступны в SSI.
8253
8254    *) Добавление: директива autoindex_localtime.
8255
8256    *) Исправление: пустое значение в директиве proxy_set_header запрещает
8257       передачу заголовка.
8258
8259
8260Изменения в nginx 0.1.33                                          23.05.2005
8261
8262    *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
8263       появилась в 0.1.29.
8264
8265    *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
8266       вызывали bus fault при запуске.
8267
8268    *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
8269       HTTP.
8270
8271    *) Исправление: если директива rewrite использовала выделения внутри
8272       директивы if, то возвращалась ошибка 500.
8273
8274
8275Изменения в nginx 0.1.32                                          19.05.2005
8276
8277    *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не
8278       передавались аргументы; ошибка появилась в 0.1.29.
8279
8280    *) Добавление: директива if поддерживает выделения в регулярных
8281       выражениях.
8282
8283    *) Добавление: директива set поддерживает переменные и выделения из
8284       регулярных выражений.
8285
8286    *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
8287       "X-Accel-Redirect" в ответе бэкенда.
8288
8289
8290Изменения в nginx 0.1.31                                          16.05.2005
8291
8292    *) Исправление: при использовании SSL ответ мог передаваться не до
8293       конца.
8294
8295    *) Исправление: ошибки при обработке SSI в ответе, полученного от
8296       FastCGI-сервера.
8297
8298    *) Исправление: ошибки при использовании SSI и сжатия.
8299
8300    *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка
8301       появилась в 0.1.30.
8302
8303
8304Изменения в nginx 0.1.30                                          14.05.2005
8305
8306    *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
8307
8308    *) Исправление: при использовании SSL ответ мог передаваться не до
8309       конца.
8310
8311    *) Исправление: если длина части ответа, полученного за один раз от
8312       проксируемого или FastCGI сервера была равна 500 байт, то nginx
8313       возвращал код ответа 500; в режиме прокси ошибка появилась только в
8314       0.1.29.
8315
8316    *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
8317       параметрами.
8318
8319    *) Добавление: директива return может возвращать код ответа 204.
8320
8321    *) Добавление: директива ignore_invalid_headers.
8322
8323
8324Изменения в nginx 0.1.29                                          12.05.2005
8325
8326    *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
8327       virtual.
8328
8329    *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
8330       вида 'if expr="$NAME"' и команды else и endif. Допускается только
8331       один уровень вложенности.
8332
8333    *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
8334       DATE_LOCAL и DATE_GMT и команду config timefmt.
8335
8336    *) Добавление: директива ssi_ignore_recycled_buffers.
8337
8338    *) Исправление: если переменная QUERY_STRING не была определена, то в
8339       команде echo не ставилось значение по умолчанию.
8340
8341    *) Изменение: модуль ngx_http_proxy_module полностью переписан.
8342
8343    *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
8344       proxy_pass_request_body и proxy_method.
8345
8346    *) Добавление: директива proxy_set_header. Директива proxy_x_var
8347       упразднена и должна быть заменена директивой proxy_set_header.
8348
8349    *) Изменение: директива proxy_preserve_host упразднена и должна быть
8350       заменена директивами "proxy_set_header Host $host" и "proxy_redirect
8351       off" или директивой "proxy_set_header Host $host:$proxy_port" и
8352       соответствующими ей директивами proxy_redirect.
8353
8354    *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
8355       заменена директивой "proxy_set_header X-Real-IP $remote_addr".
8356
8357    *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
8358       быть заменена директивой
8359       "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
8360
8361    *) Изменение: директива proxy_set_x_url упразднена и должна быть
8362       заменена директивой
8363       "proxy_set_header X-URL http://$host:$server_port$request_uri".
8364
8365    *) Добавление: директива fastcgi_param.
8366
8367    *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
8368       упразднены и должны быть замены директивами fastcgi_param.
8369
8370    *) Добавление: директива index может использовать переменные.
8371
8372    *) Добавление: директива index может быть указана на уровне http и
8373       server.
8374
8375    *) Изменение: только последний параметр в директиве index может быть
8376       абсолютным.
8377
8378    *) Добавление: в директиве rewrite могут использоваться переменные.
8379
8380    *) Добавление: директива internal.
8381
8382    *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
8383       SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
8384       SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
8385
8386    *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса
8387       клиента и ответа бэкенда.
8388
8389    *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
8390       меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
8391
8392    *) Исправление: если бэкенд передавал неверную строку в заголовке
8393       ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
8394
8395    *) Исправление: при использовании отказоустойчивой конфигурации в
8396       FastCGI мог происходить segmentation fault.
8397
8398    *) Исправление: директива expires не удаляла уже установленные строки
8399       заголовка "Expires" и "Cache-Control".
8400
8401    *) Исправление: nginx не учитывал завершающую точку в строке заголовка
8402       запроса "Host".
8403
8404    *) Исправление: модуль ngx_http_auth_module не работал на Linux.
8405
8406    *) Исправление: директива rewrite неверно работала, если в запросе
8407       присутствовали аргументы.
8408
8409    *) Исправление: nginx не собирался на MacOS X.
8410
8411
8412Изменения в nginx 0.1.28                                          08.04.2005
8413
8414    *) Исправление: при проксировании больших файлов nginx сильно нагружал
8415       процессор.
8416
8417    *) Исправление: nginx не собирался gcc 4.0 на Linux.
8418
8419
8420Изменения в nginx 0.1.27                                          28.03.2005
8421
8422    *) Добавление: параметр blocked в директиве valid_referers.
8423
8424    *) Изменение: ошибки обработки заголовка запроса теперь записываются на
8425       уровне info, в лог также записывается имя сервера и строки заголовка
8426       запроса "Host" и "Referer".
8427
8428    *) Изменение: при записи ошибок в лог записывается также строка
8429       заголовка запроса "Host".
8430
8431    *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
8432       символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
8433
8434    *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
8435       параметр конфигурации --without-ngx_http_auth_basic_module.
8436
8437
8438Изменения в nginx 0.1.26                                          22.03.2005
8439
8440    *) Изменение: неверные строки заголовка, переданные клиентом, теперь
8441       игнорируется и записываются в error_log на уровне info.
8442
8443    *) Изменение: при записи ошибок в лог записывается также имя сервера,
8444       при обращении к которому произошла ошибка.
8445
8446    *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
8447       и auth_basic_user_file.
8448
8449
8450Изменения в nginx 0.1.25                                          19.03.2005
8451
8452    *) Исправление: nginx не работал на Linux parisc.
8453
8454    *) Добавление: nginx теперь не запускается под FreeBSD, если значение
8455       sysctl kern.ipc.somaxconn слишком большое.
8456
8457    *) Исправление: если модуль ngx_http_index_module делал внутреннее
8458       перенаправление запроса в модули ngx_http_proxy_module или
8459       ngx_http_fastcgi_module, то файл индекса не закрывался после
8460       обслуживания запроса.
8461
8462    *) Добавление: директива proxy_pass может использоваться в location,
8463       заданных регулярным выражением.
8464
8465    *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
8466       условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
8467
8468    *) Исправление: nginx очень медленно запускался при большом количестве
8469       адресов и использовании текстовых значений в директиве geo.
8470
8471    *) Изменение: имя переменной в директиве geo нужно указывать, как $name.
8472       Прежний вариант без "$" пока работает, но вскоре будет убран.
8473
8474    *) Добавление: параметр лога "%{VARIABLE}v".
8475
8476    *) Добавление: директива "set $name value".
8477
8478    *) Исправление: совместимость с gcc 4.0.
8479
8480    *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
8481
8482
8483Изменения в nginx 0.1.24                                          04.03.2005
8484
8485    *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные
8486       QUERY_STRING и DOCUMENT_URI.
8487
8488    *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
8489       на существующий каталог, если этот каталог был указан как alias.
8490
8491    *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
8492       при больших ответах.
8493
8494    *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
8495       правильным referrer'ом.
8496
8497
8498Изменения в nginx 0.1.23                                          01.03.2005
8499
8500    *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
8501       ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
8502       var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
8503
8504    *) Добавление: параметр лога %request_time.
8505
8506    *) Добавление: если запрос пришёл без строки заголовка "Host", то
8507       директива proxy_preserve_host устанавливает в качестве этого
8508       заголовка первое имя сервера из директивы server_name.
8509
8510    *) Исправление: nginx не собирался на платформах, отличных от i386,
8511       amd64, sparc и ppc; ошибка появилась в 0.1.22.
8512
8513    *) Исправление: модуль ngx_http_autoindex_module теперь показывает
8514       информацию не о символическом линке, а о файле или каталоге, на
8515       который он указывает.
8516
8517    *) Исправление: если клиенту ничего не передавалось, то параметр
8518       %apache_length записывал в лог отрицательную длину заголовка ответа.
8519
8520
8521Изменения в nginx 0.1.22                                          22.02.2005
8522
8523    *) Исправление: модуль ngx_http_stub_status_module показывал неверную
8524       статистику для обработанных соединений, если использовалось
8525       проксирование или FastCGI-сервер.
8526
8527    *) Исправление: на Linux и Solaris установочные пути были неверно
8528       заключены в кавычки; ошибка появилась в 0.1.21.
8529
8530
8531Изменения в nginx 0.1.21                                          22.02.2005
8532
8533    *) Исправление: модуль ngx_http_stub_status_module показывал неверную
8534       статистику при использовании метода rtsig или при использовании
8535       нескольких рабочих процессов на SMP машине.
8536
8537    *) Исправление: nginx не собирался компилятором icc под Линуксом или
8538       если библиотека zlib-1.2.x собиралась из исходных текстов.
8539
8540    *) Исправление: nginx не собирался под NetBSD 2.0.
8541
8542
8543Изменения в nginx 0.1.20                                          17.02.2005
8544
8545    *) Добавление: новые параметры script_filename и remote_port в директиве
8546       fastcgi_params.
8547
8548    *) Исправление: неправильно обрабатывался поток stderr от
8549       FastCGI-сервера.
8550
8551
8552Изменения в nginx 0.1.19                                          16.02.2005
8553
8554    *) Исправление: если в запросе есть нуль, то для локальных запросов
8555       теперь возвращается ошибка 404.
8556
8557    *) Исправление: nginx не собирался под NetBSD 2.0.
8558
8559    *) Исправление: во время чтения тела запроса клиента в SSL соединении
8560       мог произойти таймаут.
8561
8562
8563Изменения в nginx 0.1.18                                          09.02.2005
8564
8565    *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events
8566       и devpoll_changes значения по умолчанию уменьшены с 512 до 32.
8567
8568    *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
8569       наследовались.
8570
8571    *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
8572       присоединялись к URI через символ "&" вместо "?".
8573
8574    *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во
8575       включённом файле игнорировались.
8576
8577    *) Добавление: модуль ngx_http_stub_status_module.
8578
8579    *) Исправление: неизвестный формат лог-файла в директиве access_log
8580       вызывал segmentation fault.
8581
8582    *) Добавление: новый параметр document_root в директиве fastcgi_params.
8583
8584    *) Добавление: директива fastcgi_redirect_errors.
8585
8586    *) Добавление: новый модификатор break в директиве rewrite позволяет
8587       прекратить цикл rewrite/location и устанавливает текущую конфигурацию
8588       для запроса.
8589
8590
8591Изменения в nginx 0.1.17                                          03.02.2005
8592
8593    *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь
8594       можно делать редиректы, возвращать коды ошибок и проверять переменные
8595       и рефереры. Эти директивы можно использовать внутри location.
8596       Директива redirect упразднена.
8597
8598    *) Добавление: модуль ngx_http_geo_module.
8599
8600    *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
8601
8602    *) Исправление: конфигурация location с модификатором "=" могла
8603       использоваться в другом location.
8604
8605    *) Исправление: правильный тип ответа выставлялся только для запросов, у
8606       которых в расширении были только маленькие буквы.
8607
8608    *) Исправление: если для location установлен proxy_pass или
8609       fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
8610       на статическую страницу, то происходил segmentation fault.
8611
8612    *) Исправление: если в проксированном ответе в заголовке "Location"
8613       передавался относительный URL, то к нему добавлялось имя хоста и
8614       слэш; ошибка появилась в 0.1.14.
8615
8616    *) Исправление: на Linux в лог не записывался текст системной ошибки.
8617
8618
8619Изменения в nginx 0.1.16                                          25.01.2005
8620
8621    *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
8622       выдавался завершающий chunk.
8623
8624    *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
8625       директива keepalive_timeout запрещала использование keep-alive.
8626
8627    *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
8628       segmentation fault.
8629
8630    *) Исправление: при использовании SSL сжатый ответ мог передаваться не
8631       до конца.
8632
8633    *) Исправление: опции TCP_NODELAY, TCP_NOPUSH и TCP_CORK, специфичные
8634       для TCP сокетов, не используются для unix domain сокетов.
8635
8636    *) Добавление: директива rewrite поддерживает перезаписывание
8637       аргументов.
8638
8639    *) Исправление: на запрос POST с заголовком "Content-Length: 0"
8640       возвращался ответ 400; ошибка появилась в 0.1.14.
8641
8642
8643Изменения в nginx 0.1.15                                          19.01.2005
8644
8645    *) Исправление: ошибка соединения с FastCGI-сервером вызывала
8646       segmentation fault.
8647
8648    *) Исправление: корректная обработка регулярного выражения, в котором
8649       число выделенных частей не совпадает с числом подстановок.
8650
8651    *) Добавление: location, который передаётся FastCGI-серверу, может быть
8652       задан с помощью регулярного выражения.
8653
8654    *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
8655       аргументами и в том виде, в котором был получен от клиента.
8656
8657    *) Исправление: для использования регулярных выражений в location нужно
8658       было собирать nginx вместе с ngx_http_rewrite_module.
8659
8660    *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
8661       директивы "proxy_preserve_host on" в заголовке "Host" указывался
8662       также порт 80; ошибка появилась в 0.1.14.
8663
8664    *) Исправление: если задать одинаковые пути в параметрах
8665       автоконфигурации --http-client-body-temp-path=PATH и
8666       --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
8667       --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
8668
8669
8670Изменения в nginx 0.1.14                                          18.01.2005
8671
8672    *) Добавление: параметры автоконфигурации
8673       --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
8674       --http-fastcgi-temp-path=PATH
8675
8676    *) Изменение: имя каталога с временными файлами, содержащие тело запроса
8677       клиента, задаётся директивой client_body_temp_path, по умолчанию
8678       <prefix>/client_body_temp.
8679
8680    *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
8681       fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
8682       fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
8683       fastcgi_header_buffer_size, fastcgi_buffers,
8684       fastcgi_busy_buffers_size, fastcgi_temp_path,
8685       fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
8686       fastcgi_next_upstream и fastcgi_x_powered_by.
8687
8688    *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
8689       0.1.3.
8690
8691    *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
8692       после имени хоста.
8693
8694    *) Изменение: если в URI встречался символ %3F, то он считался началом
8695       строки аргументов.
8696
8697    *) Добавление: поддержка unix domain сокетов в модуле
8698       ngx_http_proxy_module.
8699
8700    *) Добавление: директивы ssl_engine и ssl_ciphers.
8701       Спасибо Сергею Скворцову за SSL-акселератор.
8702
8703
8704Изменения в nginx 0.1.13                                          21.12.2004
8705
8706    *) Добавление: директивы server_names_hash и
8707       server_names_hash_threshold.
8708
8709    *) Исправление: имена *.domain.tld в директиве server_name не работали.
8710
8711    *) Исправление: параметр лога %request_length записывал неверную длину.
8712
8713
8714Изменения в nginx 0.1.12                                          06.12.2004
8715
8716    *) Добавление: параметр лога %request_length.
8717
8718    *) Исправление: при использовании /dev/poll, select и poll на
8719       платформах, где возможны ложные срабатывания указанных методов, могли
8720       быть длительные задержки при обработке запроса по keep-alive
8721       соединению. Наблюдалось по крайней мере на Solaris с использованием
8722       /dev/poll.
8723
8724    *) Исправление: директива send_lowat игнорируется на Linux, так как
8725       Linux не поддерживает опцию SO_SNDLOWAT.
8726
8727
8728Изменения в nginx 0.1.11                                          02.12.2004
8729
8730    *) Добавление: директива worker_priority.
8731
8732    *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
8733       влияют на передачу ответа.
8734
8735    *) Исправление: nginx не вызывал initgroups().
8736       Спасибо Андрею Ситникову и Андрею Нигматулину.
8737
8738    *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
8739       байтах.
8740
8741    *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
8742       каталоге есть битый symlink.
8743
8744    *) Исправление: файлы больше 4G не передавались с использованием
8745       sendfile.
8746
8747    *) Исправление: если бэкенд резолвился в несколько адресов и при
8748       ожидании от него ответа происходила ошибка, то процесс зацикливался.
8749
8750    *) Исправление: при использовании метода /dev/poll рабочий процесс мог
8751       завершиться с сообщением "unknown cycle".
8752
8753    *) Исправление: ошибки "close() channel failed".
8754
8755    *) Исправление: автоматическое определение групп nobody и nogroup.
8756
8757    *) Исправление: директива send_lowat не работала на Linux.
8758
8759    *) Исправление: если в конфигурации не было раздела events, то
8760       происходил segmentation fault.
8761
8762    *) Исправление: nginx не собирался под OpenBSD.
8763
8764    *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
8765
8766
8767Изменения в nginx 0.1.10                                          26.11.2004
8768
8769    *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
8770       или "%XX", то терялся последний символ в строке запроса; ошибка
8771       появилась в 0.1.9.
8772
8773    *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux
8774       не работало.
8775
8776
8777Изменения в nginx 0.1.9                                           25.11.2004
8778
8779    *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
8780       проксируемый запрос передавался без аргументов.
8781
8782    *) Исправление: при сжатии больших ответов иногда они передавались не
8783       полностью.
8784
8785    *) Исправление: не передавались файлы больше 2G на Linux,
8786       неподдерживающем sendfile64().
8787
8788    *) Исправление: на Linux при конфигурации сборки нужно было обязательно
8789       использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
8790
8791
8792Изменения в nginx 0.1.8                                           20.11.2004
8793
8794    *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
8795       длинных имён файлов.
8796
8797    *) Добавление: модификатор "^~" в директиве location.
8798
8799    *) Добавление: директива proxy_max_temp_file_size.
8800
8801
8802Изменения в nginx 0.1.7                                           12.11.2004
8803
8804    *) Исправление: при использовании sendfile, если передаваемый файл
8805       менялся, то мог произойти segmentation fault на FreeBSD; ошибка
8806       появилась в 0.1.5.
8807
8808
8809Изменения в nginx 0.1.6                                           11.11.2004
8810
8811    *) Исправление: при некоторых комбинациях директив location c
8812       регулярными выражениями использовалась конфигурация не из того
8813       location.
8814
8815
8816Изменения в nginx 0.1.5                                           11.11.2004
8817
8818    *) Исправление: на Solaris и Linux могло быть очень много сообщений
8819       "recvmsg() returned not enough data".
8820
8821    *) Исправление: в режиме прокси без использования sendfile на Solaris
8822       возникала ошибка "writev() failed (22: Invalid argument)". На других
8823       платформах, не поддерживающих sendfile, процесс зацикливался.
8824
8825    *) Исправление: при использовании sendfile в режиме прокси на Solaris
8826       возникал segmentation fault.
8827
8828    *) Исправление: segmentation fault на Solaris.
8829
8830    *) Исправление: обновление исполняемого файла на лету не работало на
8831       Linux.
8832
8833    *) Исправление: в списке файлов, выдаваемом модулем
8834       ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
8835       знаки процента.
8836
8837    *) Изменение: уменьшение операций копирования.
8838
8839    *) Добавление: директива userid_p3p.
8840
8841
8842Изменения в nginx 0.1.4                                           26.10.2004
8843
8844    *) Исправление: ошибка в модуле ngx_http_autoindex_module.
8845
8846
8847Изменения в nginx 0.1.3                                           25.10.2004
8848
8849    *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
8850
8851    *) Добавление: директива proxy_set_x_url.
8852
8853    *) Исправление: модуль проксировании мог привести к зацикливанию, если
8854       не использовался sendfile.
8855
8856
8857Изменения в nginx 0.1.2                                           21.10.2004
8858
8859    *) Добавление: параметры --user=USER, --group=GROUP и
8860       --with-ld-opt=OPTIONS в configure.
8861
8862    *) Добавление: директива server_name поддерживает *.domain.tld.
8863
8864    *) Исправление: улучшена переносимость на неизвестные платформы.
8865
8866    *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
8867       файл указан в командной строке; ошибка появилась в 0.1.1.
8868
8869    *) Исправление: модуль проксировании мог привести к зацикливанию, если
8870       не использовался sendfile.
8871
8872    *) Исправление: при использовании sendfile текст ответа не
8873       перекодировался согласно директивам модуля charset; ошибка появилась
8874       в 0.1.1.
8875
8876    *) Исправление: очень редкая ошибка при обработке kqueue.
8877
8878    *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
8879       проксировании.
8880
8881
8882Изменения в nginx 0.1.1                                           11.10.2004
8883
8884    *) Добавление: директива gzip_types.
8885
8886    *) Добавление: директива tcp_nodelay.
8887
8888    *) Добавление: директива send_lowat работает не только на платформах,
8889       поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
8890       SO_SNDLOWAT.
8891
8892    *) Добавление: эмуляция setproctitle() для Linux и Solaris.
8893
8894    *) Исправление: ошибка при переписывании заголовка "Location" при
8895       проксировании.
8896
8897    *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
8898       зацикливанию.
8899
8900    *) Исправление: ошибки в модуле /dev/poll.
8901
8902    *) Исправление: при проксировании и использовании временных файлов
8903       ответы портились.
8904
8905    *) Исправление: бэкенду передавались запросы с неперекодированными
8906       символами.
8907
8908    *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
8909       обязательно использовать параметр --with-poll_module.
8910
8911
8912Изменения в nginx 0.1.0                                           04.10.2004
8913
8914    *) Первая публично доступная версия.
8915
8916