comparison text/ru/CHANGES.ru-1.14 @ 2152:a226918def86

nginx-1.14.0
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 17 Apr 2018 18:36:58 +0300
parents text/ru/CHANGES.ru@10751277a8ad
children 3fa4584907b8
comparison
equal deleted inserted replaced
2151:ed6b44206600 2152:a226918def86
1
2 Изменения в nginx 1.14.0 17.04.2018
3
4 *) Стабильная ветка 1.14.x.
5
6
7 Изменения в nginx 1.13.12 10.04.2018
8
9 *) Исправление: при возврате большого ответа соединения с gRPC-бэкендами
10 могли неожиданно закрываться.
11
12
13 Изменения в nginx 1.13.11 03.04.2018
14
15 *) Добавление: параметр proxy_protocol директивы listen теперь
16 поддерживает протокол PROXY версии 2.
17
18 *) Исправление: nginx не собирался с OpenSSL 1.1.1 статически на Linux.
19
20 *) Исправление: в параметрах http_404, http_500 и им подобных директивы
21 proxy_next_upstream.
22
23
24 Изменения в nginx 1.13.10 20.03.2018
25
26 *) Добавление: теперь параметр set в SSI-директиве include позволяет
27 сохранять в переменную любые ответы; максимальный размер ответа
28 задаётся директивой subrequest_output_buffer_size.
29
30 *) Добавление: теперь nginx использует вызов
31 clock_gettime(CLOCK_MONOTONIC), если он доступен, что позволяет
32 избежать некорректного срабатывания таймаутов при изменениях
33 системного времени.
34
35 *) Добавление: параметр "escape=none" директивы log_format.
36 Спасибо Johannes Baiter и Calin Don.
37
38 *) Добавление: переменная $ssl_preread_alpn_protocols в модуле
39 ngx_stream_ssl_preread_module.
40
41 *) Добавление: модуль ngx_http_grpc_module.
42
43 *) Исправление: в обработке ошибок выделения памяти в директиве geo.
44
45 *) Исправление: при использовании переменных в директиве
46 auth_basic_user_file в лог мог выводиться символ '\0'.
47 Спасибо Вадиму Филимонову.
48
49
50 Изменения в nginx 1.13.9 20.02.2018
51
52 *) Добавление: поддержка HTTP/2 server push; директивы http2_push и
53 http2_push_preload.
54
55 *) Исправление: при использовании кэша в логах могли появляться
56 сообщения "header already sent"; ошибка появилась в 1.9.13.
57
58 *) Исправление: при использовании директивы ssl_verify_client в рабочем
59 процессе мог произойти segmentation fault, если в виртуальном сервере
60 не был указан SSL-сертификат.
61
62 *) Исправление: в модуле ngx_http_v2_module.
63
64 *) Исправление: в модуле ngx_http_dav_module.
65
66
67 Изменения в nginx 1.13.8 26.12.2017
68
69 *) Добавление: теперь при использовании параметра transparent директив
70 proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind
71 nginx автоматически сохраняет capability CAP_NET_RAW в рабочих
72 процессах.
73
74 *) Добавление: улучшения в определении размера строки кэша процессора.
75 Спасибо Debayan Ghosh.
76
77 *) Добавление: новые директивы в скриптах подсветки синтаксиса для vim.
78 Спасибо Геннадию Махомеду.
79
80 *) Исправление: процедура обновления исполняемого файла не работала,
81 если после завершения родительского процесса новым родительским
82 процессом nginx'а становился процесс с PID, отличным от 1.
83
84 *) Исправление: модуль ngx_http_autoindex_module неправильно обрабатывал
85 запросы с телом.
86
87 *) Исправление: в директиве proxy_limit_rate при использовании с
88 директивой keepalive.
89
90 *) Исправление: при использовании "proxy_buffering off" часть ответа
91 могла буферизироваться, если клиентское соединение использовало SSL.
92 Спасибо Patryk Lesiewicz.
93
94 *) Исправление: в директиве proxy_cache_background_update.
95
96 *) Исправление: переменную вида "${name}" с именем в фигурных скобках
97 нельзя было использовать в начале параметра не заключив весь параметр
98 в кавычки.
99
100
101 Изменения в nginx 1.13.7 21.11.2017
102
103 *) Исправление: в переменной $upstream_status.
104
105 *) Исправление: в рабочем процессе мог произойти segmentation fault,
106 если бэкенд возвращал ответ "101 Switching Protocols" на подзапрос.
107
108 *) Исправление: если при переконфигурации изменялся размер зоны
109 разделяемой памяти и переконфигурация завершалась неудачно, то в
110 главном процессе происходил segmentation fault.
111
112 *) Исправление: в модуле ngx_http_fastcgi_module.
113
114 *) Исправление: nginx возвращал ошибку 500, если в директиве
115 xslt_stylesheet были заданы параметры без использования переменных.
116
117 *) Изменение: при использовании варианта библиотеки zlib от Intel в лог
118 писались сообщения "gzip filter failed to use preallocated memory".
119
120 *) Исправление: директива worker_shutdown_timeout не работала при
121 использовании почтового прокси-сервера и при проксировании
122 WebSocket-соединений.
123
124
125 Изменения в nginx 1.13.6 10.10.2017
126
127 *) Исправление: при использовании директивы ssl_preread в модуле stream
128 не работало переключение на следующий бэкенд.
129
130 *) Исправление: в модуле ngx_http_v2_module.
131 Спасибо Piotr Sikora.
132
133 *) Исправление: nginx не поддерживал даты после 2038 года на 32-битных
134 платформах с 64-битным time_t.
135
136 *) Исправление: в обработке дат до 1970 года и после 10000 года.
137
138 *) Исправление: в модуле stream таймауты ожидания UDP-пакетов от
139 бэкендов не логгировались или логгировались на уровне info вместо
140 error.
141
142 *) Исправление: при использовании HTTP/2 nginx мог вернуть ошибку 400,
143 не указав в логе причину.
144
145 *) Исправление: в обработке повреждённых файлов кэша.
146
147 *) Исправление: при кэшировании ошибок, перехваченных error_page, не
148 учитывались заголовки управления кэшированием.
149
150 *) Исправление: при использовании HTTP/2 тело запроса могло быть
151 повреждено.
152
153 *) Исправление: в обработке адресов клиентов при использовании unix
154 domain сокетов.
155
156 *) Исправление: при использовании директивы "hash ... consistent" в
157 блоке upstream nginx нагружал процессор, если использовались большие
158 веса и все или почти все бэкенды были недоступны.
159
160
161 Изменения в nginx 1.13.5 05.09.2017
162
163 *) Добавление: переменная $ssl_client_escaped_cert.
164
165 *) Исправление: директива ssl_session_ticket_key и параметр include
166 директивы geo не работали на Windows.
167
168 *) Исправление: на 32-битных платформах при запросе более 4 гигабайт с
169 помощью нескольких диапазонов возвращалась некорректная длина ответа.
170
171 *) Исправление: директива "expires modified" и обработка строки If-Range
172 заголовка запроса не учитывали время последнего изменения ответа,
173 если использовалось проксирование без кэширования.
174
175
176 Изменения в nginx 1.13.4 08.08.2017
177
178 *) Добавление: модуль ngx_http_mirror_module.
179
180 *) Исправление: клиентские соединения могли сбрасываться при
181 тестировании конфигурации, если использовался параметр reuseport
182 директивы listen на Linux.
183
184 *) Исправление: тело запроса могло быть недоступно в подзапросах, если
185 оно было сохранено в файл и использовалось проксирование.
186
187 *) Исправление: очистка кэша по max_size не работала на Windows.
188
189 *) Исправление: любое выделение разделяемой памяти на Windows требовало
190 4096 байт памяти.
191
192 *) Исправление: при использовании директивы zone в блоке upstream на
193 Windows рабочий процесс мог завершаться аварийно.
194
195
196 Изменения в nginx 1.13.3 11.07.2017
197
198 *) Безопасность: специально созданный запрос мог вызвать целочисленное
199 переполнение в range-фильтре и последующую некорректную обработку
200 запрошенных диапазонов, что потенциально могло привести к утечке
201 конфиденциальной информации (CVE-2017-7529).
202
203
204 Изменения в nginx 1.13.2 27.06.2017
205
206 *) Изменение: теперь при запросе диапазона, начинающегося с 0, из
207 пустого файла nginx возвращает ответ 200 вместо 416.
208
209 *) Добавление: директива add_trailer.
210 Спасибо Piotr Sikora.
211
212 *) Исправление: nginx не собирался под Cygwin и NetBSD; ошибка появилась
213 в 1.13.0.
214
215 *) Исправление: nginx не собирался под MSYS2 / MinGW 64-bit.
216 Спасибо Orgad Shaneh.
217
218 *) Исправление: при использовании SSI с большим количеством подзапросов
219 и proxy_pass с переменными в рабочем процессе мог произойти
220 segmentation fault.
221
222 *) Исправление: в модуле ngx_http_v2_module.
223 Спасибо Piotr Sikora.
224
225
226 Изменения в nginx 1.13.1 30.05.2017
227
228 *) Добавление: теперь в качестве параметра директивы set_real_ip_from
229 можно указывать имя хоста.
230
231 *) Добавление: улучшения в скриптах подсветки синтаксиса для vim.
232
233 *) Добавление: директива worker_cpu_affinity теперь работает на
234 DragonFly BSD.
235 Спасибо Sepherosa Ziehau.
236
237 *) Исправление: SSL renegotiation в соединениях к бэкендам не работал
238 при использовании OpenSSL до 1.1.0.
239
240 *) Изменение: nginx не собирался с Oracle Developer Studio 12.5.
241
242 *) Изменение: теперь cache manager пропускает заблокированные записи при
243 очистке кэша по max_size.
244
245 *) Исправление: клиентские SSL-соединения сразу закрывались, если
246 использовался отложенный accept и параметр proxy_protocol директивы
247 listen.
248
249 *) Исправление: в директиве proxy_cache_background_update.
250
251 *) Изменение: теперь директива tcp_nodelay устанавливает опцию
252 TCP_NODELAY перед SSL handshake.
253
254
255 Изменения в nginx 1.13.0 25.04.2017
256
257 *) Изменение: теперь SSL renegotiation допускается в соединениях к
258 бэкендам.
259
260 *) Добавление: параметры rcvbuf и sndbuf директив listen в почтовом
261 прокси-сервере и модуле stream.
262
263 *) Добавление: директивы return и error_page теперь могут использоваться
264 для возврата перенаправлений с кодом 308.
265 Спасибо Simon Leblanc.
266
267 *) Добавление: параметр TLSv1.3 в директиве ssl_protocols.
268
269 *) Добавление: при логгировании сигналов теперь указывается PID
270 отправившего сигнал процесса.
271
272 *) Исправление: в обработке ошибок выделения памяти.
273
274 *) Исправление: если сервер в модуле stream слушал на wildcard-адресе,
275 исходящий адрес ответного UDP-пакета мог отличаться от адреса
276 назначения исходного пакета.
277
278
279 Изменения в nginx 1.11.13 04.04.2017
280
281 *) Добавление: параметр http_429 в директивах proxy_next_upstream,
282 fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream.
283 Спасибо Piotr Sikora.
284
285 *) Исправление: в обработке ошибок выделения памяти.
286
287 *) Исправление: при использовании директив sendfile и timer_resolution
288 на Linux запросы могли зависать.
289
290 *) Исправление: при использовании с подзапросами директив sendfile и
291 aio_write запросы могли зависать.
292
293 *) Исправление: в модуле ngx_http_v2_module.
294 Спасибо Piotr Sikora.
295
296 *) Исправление: при использовании HTTP/2 в рабочем процессе мог
297 произойти segmentation fault.
298
299 *) Исправление: запросы могли зависать при использовании с подзапросами
300 директив limit_rate, sendfile_max_chunk, limit_req или метода
301 $r->sleep() встроенного перла.
302
303 *) Исправление: в модуле ngx_http_slice_module.
304
305
306 Изменения в nginx 1.11.12 24.03.2017
307
308 *) Исправление: nginx мог нагружать процессор; ошибка появилась в
309 1.11.11.
310
311
312 Изменения в nginx 1.11.11 21.03.2017
313
314 *) Добавление: директива worker_shutdown_timeout.
315
316 *) Добавление: улучшения в скриптах подсветки синтаксиса для vim.
317 Спасибо Wei-Ko Kao.
318
319 *) Исправление: при попытке установить переменную $limit_rate в пустую
320 строку в рабочем процессе мог произойти segmentation fault.
321
322 *) Исправление: директивы proxy_cache_background_update,
323 fastcgi_cache_background_update, scgi_cache_background_update и
324 uwsgi_cache_background_update могли работать некорректно, если
325 использовалась директива if.
326
327 *) Исправление: в рабочем процессе мог произойти segmentation fault,
328 если количество large_client_header_buffers в виртуальном сервере
329 отличалось от такового в сервере по умолчанию.
330
331 *) Исправление: в почтовом прокси-сервере.
332
333
334 Изменения в nginx 1.11.10 14.02.2017
335
336 *) Изменение: формат заголовка кэша был изменен, ранее закэшированные
337 ответы будут загружены заново.
338
339 *) Добавление: поддержка расширений stale-while-revalidate и
340 stale-if-error в строке "Cache-Control" в заголовке ответа бэкенда.
341
342 *) Добавление: директивы proxy_cache_background_update,
343 fastcgi_cache_background_update, scgi_cache_background_update и
344 uwsgi_cache_background_update.
345
346 *) Добавление: теперь nginx может кэшировать ответы со строкой Vary
347 заголовка длиной до 128 символов (вместо 42 символов в предыдущих
348 версиях).
349
350 *) Добавление: параметр build директивы server_tokens.
351 Спасибо Tom Thorogood.
352
353 *) Исправление: при обработке запросов со строкой "Expect: 100-continue"
354 в заголовке запроса в логах могли появляться сообщения "[crit]
355 SSL_write() failed".
356
357 *) Исправление: модуль ngx_http_slice_module не работал в именованных
358 location'ах.
359
360 *) Исправление: при использовании AIO после перенаправления запроса с
361 помощью X-Accel-Redirect в рабочем процессе мог произойти
362 segmentation fault.
363
364 *) Исправление: уменьшено потребление памяти для долгоживущих запросов,
365 использующих сжатие.
366
367
368 Изменения в nginx 1.11.9 24.01.2017
369
370 *) Исправление: при использовании модуля stream nginx мог нагружать
371 процессор; ошибка появилась в 1.11.5.
372
373 *) Исправление: метод аутентификации EXTERNAL в почтовом прокси-сервере
374 можно было использовать, даже если он не был разрешён в конфигурации.
375
376 *) Исправление: при использовании директивы ssl_verify_client модуля
377 stream в рабочем процессе мог произойти segmentation fault.
378
379 *) Исправление: директива ssl_verify_client модуля stream могла не
380 работать.
381
382 *) Исправление: при исчерпании рабочим процессом свободных соединений
383 keepalive-соединения могли закрываться излишне агрессивно.
384 Спасибо Joel Cunningham.
385
386 *) Исправление: при использовании директивы sendfile на FreeBSD и macOS
387 мог возвращаться некорректный ответ; ошибка появилась в 1.7.8.
388
389 *) Исправление: при использовании директивы aio_write ответ мог
390 сохраняться в кэш не полностью.
391
392 *) Исправление: при использовании директивы aio_write могла происходить
393 утечка сокетов.
394
395
396 Изменения в nginx 1.11.8 27.12.2016
397
398 *) Добавление: директива absolute_redirect.
399
400 *) Добавление: параметр escape директивы log_format.
401
402 *) Добавление: проверка клиентских SSL-сертификатов в модуле stream.
403
404 *) Добавление: директива ssl_session_ticket_key поддерживает шифрование
405 TLS session tickets с помощью AES256 при использовании с 80-байтными
406 ключами.
407
408 *) Добавление: поддержка vim-commentary в скриптах для vim.
409 Спасибо Armin Grodon.
410
411 *) Исправление: рекурсия при получении значений переменных не
412 ограничивалась.
413
414 *) Исправление: в модуле ngx_stream_ssl_preread_module.
415
416 *) Исправление: если сервер, описанный в блоке upstream в модуле stream,
417 был признан неработающим, то после истечения fail_timeout он
418 признавался работающим только после завершения тестового соединения;
419 теперь достаточно, чтобы соединение было успешно установлено.
420
421 *) Исправление: nginx/Windows не собирался с 64-битным Visual Studio.
422
423 *) Исправление: nginx/Windows не собирался с OpenSSL 1.1.0.
424
425
426 Изменения в nginx 1.11.7 13.12.2016
427
428 *) Изменение: переменная $ssl_client_verify теперь в случае ошибки
429 проверки клиентского сертификата содержит строку с описанием ошибки,
430 например, "FAILED:certificate has expired".
431
432 *) Добавление: переменные $ssl_ciphers, $ssl_curves,
433 $ssl_client_v_start, $ssl_client_v_end и $ssl_client_v_remain.
434
435 *) Добавление: параметр volatile директивы map.
436
437 *) Исправление: при сборке динамических модулей не учитывались заданные
438 для модуля зависимости.
439
440 *) Исправление: при использовании HTTP/2 и директив limit_req или
441 auth_request тело запроса могло быть повреждено; ошибка появилась в
442 1.11.0.
443
444 *) Исправление: при использовании HTTP/2 в рабочем процессе мог
445 произойти segmentation fault; ошибка появилась в 1.11.3.
446
447 *) Исправление: в модуле ngx_http_mp4_module.
448 Спасибо Congcong Hu.
449
450 *) Исправление: в модуле ngx_http_perl_module.
451
452
453 Изменения в nginx 1.11.6 15.11.2016
454
455 *) Изменение: формат переменных $ssl_client_s_dn и $ssl_client_i_dn
456 изменён на соответствующий RFC 2253 (RFC 4514); значения в старом
457 формате доступны через переменные $ssl_client_s_dn_legacy и
458 $ssl_client_i_dn_legacy.
459
460 *) Изменение: при сохранении временных файлов в каталоге кэша они теперь
461 располагаются не в отдельном подкаталоге для временных файлов, а в
462 том же подкаталоге, что и соответствующие файлы в кэше.
463
464 *) Добавление: поддержка метода аутентификации EXTERNAL в почтовом
465 прокси-сервере.
466 Спасибо Robert Norris.
467
468 *) Добавление: поддержка WebP в модуле ngx_http_image_filter_module.
469
470 *) Добавление: директива proxy_method поддерживает переменные.
471 Спасибо Дмитрию Лазуркину.
472
473 *) Добавление: директива http2_max_requests в модуле ngx_http_v2_module.
474
475 *) Добавление: директивы proxy_cache_max_range_offset,
476 fastcgi_cache_max_range_offset, scgi_cache_max_range_offset и
477 uwsgi_cache_max_range_offset.
478
479 *) Исправление: плавное завершение старых рабочих процессов могло
480 занимать бесконечное время при использовании HTTP/2.
481
482 *) Исправление: в модуле ngx_http_mp4_module.
483
484 *) Исправление: при проксировании WebSocket-соединений и включённом
485 кэшировании в логах могли появляться сообщения "ignore long locked
486 inactive cache entry".
487
488 *) Исправление: если во время SSL handshake с бэкендом происходил
489 таймаут, nginx ничего не писал в лог и возвращал ответ с кодом 502
490 вместо 504.
491
492
493 Изменения в nginx 1.11.5 11.10.2016
494
495 *) Изменение: параметр configure --with-ipv6 упразднён, поддержка IPv6
496 теперь собирается автоматически.
497
498 *) Изменение: теперь, если в блоке upstream не оказалось доступных
499 серверов, nginx не сбрасывает статистику ошибок всех серверов, как
500 делал ранее, а ожидает истечения fail_timeout.
501
502 *) Добавление: модуль ngx_stream_ssl_preread_module.
503
504 *) Добавление: директива server в блоке upstream поддерживает параметр
505 max_conns.
506
507 *) Добавление: параметр configure --with-compat.
508
509 *) Добавление: параметры manager_files, manager_threshold и
510 manager_sleep директив proxy_cache_path, fastcgi_cache_path,
511 scgi_cache_path и uwsgi_cache_path.
512
513 *) Исправление: при сборке perl-модуля не использовались флаги, заданные
514 с помощью параметра configure --with-ld-opt.
515
516 *) Исправление: в директиве add_after_body при использовании совместно с
517 директивой sub_filter.
518
519 *) Исправление: в переменной $realip_remote_addr.
520
521 *) Исправление: директивы dav_access, proxy_store_access,
522 fastcgi_store_access, scgi_store_access и uwsgi_store_access
523 игнорировали права, заданные для пользователя.
524
525 *) Исправление: unix domain listen-сокеты могли не наследоваться при
526 обновлении исполняемого файла на Linux.
527
528 *) Исправление: nginx возвращал ошибку 400 на запросы с символом "-" в
529 HTTP-методе.
530
531
532 Изменения в nginx 1.11.4 13.09.2016
533
534 *) Добавление: переменная $upstream_bytes_received.
535
536 *) Добавление: переменные $bytes_received, $session_time, $protocol,
537 $status, $upstream_addr, $upstream_bytes_sent,
538 $upstream_bytes_received, $upstream_connect_time,
539 $upstream_first_byte_time и $upstream_session_time в модуле stream.
540
541 *) Добавление: модуль ngx_stream_log_module.
542
543 *) Добавление: параметр proxy_protocol в директиве listen, переменные
544 $proxy_protocol_addr и $proxy_protocol_port в модуле stream.
545
546 *) Добавление: модуль ngx_stream_realip_module.
547
548 *) Исправление: nginx не собирался с модулем stream и модулем
549 ngx_http_ssl_module, но без модуля ngx_stream_ssl_module; ошибка
550 появилась в 1.11.3.
551
552 *) Добавление: опция сокета IP_BIND_ADDRESS_NO_PORT не использовалась;
553 ошибка появилась в 1.11.2.
554
555 *) Исправление: в параметре ranges директивы geo.
556
557 *) Исправление: при использовании директив "aio threads" и sendfile мог
558 возвращаться некорректный ответ; ошибка появилась в 1.9.13.
559
560
561 Изменения в nginx 1.11.3 26.07.2016
562
563 *) Изменение: теперь accept_mutex по умолчанию выключен.
564
565 *) Добавление: теперь nginx использует EPOLLEXCLUSIVE на Linux.
566
567 *) Добавление: модуль ngx_stream_geo_module.
568
569 *) Добавление: модуль ngx_stream_geoip_module.
570
571 *) Добавление: модуль ngx_stream_split_clients_module.
572
573 *) Добавление: директивы proxy_pass и proxy_ssl_name в модуле stream
574 поддерживают переменные.
575
576 *) Исправление: утечки сокетов при использовании HTTP/2.
577
578 *) Исправление: в configure.
579 Спасибо Piotr Sikora.
580
581
582 Изменения в nginx 1.11.2 05.07.2016
583
584 *) Изменение: теперь nginx всегда использует внутренние реализации MD5 и
585 SHA1; параметры configure --with-md5 и --with-sha1 упразднены.
586
587 *) Добавление: поддержка переменных в модуле stream.
588
589 *) Добавление: модуль ngx_stream_map_module.
590
591 *) Добавление: модуль ngx_stream_return_module.
592
593 *) Добавление: в директивах proxy_bind, fastcgi_bind, memcached_bind,
594 scgi_bind и uwsgi_bind теперь можно указывать порт.
595
596 *) Добавление: теперь nginx использует опцию сокета
597 IP_BIND_ADDRESS_NO_PORT, если она доступна.
598
599 *) Исправление: при использовании HTTP/2 и директивы
600 proxy_request_buffering в рабочем процессе мог произойти segmentation
601 fault.
602
603 *) Исправление: при использовании HTTP/2 к запросам, передаваемым на
604 бэкенд, всегда добавлялась строка заголовка "Content-Length", даже
605 если у запроса не было тела.
606
607 *) Исправление: при использовании HTTP/2 в логах могли появляться
608 сообщения "http request count is zero".
609
610 *) Исправление: при использовании директивы sub_filter могло
611 буферизироваться больше данных, чем это необходимо; проблема
612 появилась в 1.9.4.
613
614
615 Изменения в nginx 1.11.1 31.05.2016
616
617 *) Безопасность: при записи тела специально созданного запроса во
618 временный файл в рабочем процессе мог происходить segmentation fault
619 (CVE-2016-4450); ошибка появилась в 1.3.9.
620
621
622 Изменения в nginx 1.11.0 24.05.2016
623
624 *) Добавление: параметр transparent директив proxy_bind, fastcgi_bind,
625 memcached_bind, scgi_bind и uwsgi_bind.
626
627 *) Добавление: переменная $request_id.
628
629 *) Добавление: директива map поддерживает комбинации нескольких
630 переменных в качестве результирующих значений.
631
632 *) Добавление: теперь при использовании метода epoll nginx проверяет,
633 поддерживает ли ядро события EPOLLRDHUP, и соответственно
634 оптимизирует обработку соединений.
635
636 *) Добавление: директивы ssl_certificate и ssl_certificate_key теперь
637 можно указывать несколько раз для загрузки сертификатов разных типов
638 (например, RSA и ECDSA).
639
640 *) Добавление: при использовании OpenSSL 1.0.2 и новее с помощью
641 директивы ssl_ecdh_curve теперь можно задать список кривых; по
642 умолчанию используется встроенный в OpenSSL список кривых.
643
644 *) Изменение: для использования DHE-шифров теперь надо явно задавать
645 файл параметров с помощью директивы ssl_dhparam.
646
647 *) Добавление: переменная $proxy_protocol_port.
648
649 *) Добавление: переменная $realip_remote_port в модуле
650 ngx_http_realip_module.
651
652 *) Добавление: модуль ngx_http_realip_module теперь позволяет
653 устанавливать не только адрес, но и порт клиента.
654
655 *) Изменение: при попытке запросить виртуальный сервер, отличающийся от
656 согласованного в процессе SSL handshake, теперь возвращается ответ
657 "421 Misdirected Request"; это улучшает совместимость с некоторыми
658 HTTP/2-клиентами в случае использования клиентских сертификатов.
659
660 *) Изменение: HTTP/2-клиенты теперь могут сразу присылать тело запроса;
661 директива http2_body_preread_size позволяет указать размер буфера,
662 который будет использоваться до того, как nginx начнёт читать тело.
663
664 *) Исправление: при использовании директивы proxy_cache_bypass не
665 обновлялись закэшированные ошибочные ответы.
666
667
668 Изменения в nginx 1.9.15 19.04.2016
669
670 *) Исправление: при использовании HHVM в качестве FastCGI-сервера могли
671 возникать ошибки "recv() failed".
672
673 *) Исправление: при использовании HTTP/2 и директив limit_req или
674 auth_request при чтении тела запроса мог произойти таймаут или ошибка
675 "client violated flow control"; ошибка появилась в 1.9.14.
676
677 *) Изменение: при использовании HTTP/2 ответ мог не показываться
678 некоторыми браузерами, если тело запроса было прочитано не целиком;
679 ошибка появилась в 1.9.14.
680
681 *) Исправление: при использовании директивы "aio threads" соединения
682 могли зависать.
683 Спасибо Mindaugas Rasiukevicius.
684
685
686 Изменения в nginx 1.9.14 05.04.2016
687
688 *) Добавление: совместимость с OpenSSL 1.1.0.
689
690 *) Добавление: директивы proxy_request_buffering,
691 fastcgi_request_buffering, scgi_request_buffering и
692 uwsgi_request_buffering теперь работают при использовании HTTP/2.
693
694 *) Исправление: при использовании HTTP/2 в логах могли появляться
695 сообщения "zero size buf in output".
696
697 *) Исправление: при использовании HTTP/2 директива client_max_body_size
698 могла работать неверно.
699
700 *) Исправление: незначительных ошибок логгирования.
701
702
703 Изменения в nginx 1.9.13 29.03.2016
704
705 *) Изменение: неидемпотентные запросы (POST, LOCK, PATCH) теперь по
706 умолчанию не передаются на другой сервер, если запрос уже был
707 отправлен на бэкенд; параметр non_idempotent директивы
708 proxy_next_upstream явно разрешает повторять такие запросы.
709
710 *) Добавление: модуль ngx_http_perl_module теперь можно собрать
711 динамически.
712
713 *) Добавление: поддержка UDP в модуле stream.
714
715 *) Добавление: директива aio_write.
716
717 *) Добавление: теперь cache manager следит за количеством элементов в
718 кэше и старается не допускать переполнений зоны разделяемой памяти.
719
720 *) Исправление: при использовании директив sendfile и aio с подзапросами
721 в логах могли появляться сообщения "task already active" и "second
722 aio post".
723
724 *) Исправление: при использовании кэширования в логах могли появляться
725 сообщения "zero size buf in output", если клиент закрывал соединение
726 преждевременно.
727
728 *) Исправление: при использовании кэширования соединения с клиентами
729 могли закрываться без необходимости.
730 Спасибо Justin Li.
731
732 *) Исправление: nginx мог нагружать процессор при использовании
733 директивы sendfile на Linux и Solaris, если отправляемый файл был
734 изменён в процессе отправки.
735
736 *) Исправление: при использовании директив sendfile и "aio threads"
737 соединения могли зависать.
738
739 *) Исправление: в директивах proxy_pass, fastcgi_pass, scgi_pass и
740 uwsgi_pass при использовании переменных.
741 Спасибо Piotr Sikora.
742
743 *) Исправление: в модуле ngx_http_sub_filter_module.
744
745 *) Исправление: если в закэшированном соединении к бэкенду происходила
746 ошибка, запрос передавался на другой сервер без учёта директивы
747 proxy_next_upstream.
748
749 *) Исправление: ошибки "CreateFile() failed" при создании временных
750 файлов на Windows.
751
752
753 Изменения в nginx 1.9.12 24.02.2016
754
755 *) Добавление: кодирование Хаффмана заголовков ответов в HTTP/2.
756 Спасибо Владу Краснову.
757
758 *) Добавление: директива worker_cpu_affinity теперь поддерживает более
759 64 процессоров.
760
761 *) Исправление: совместимость со сторонними модулями на C++; ошибка
762 появилась в 1.9.11.
763 Спасибо Piotr Sikora.
764
765 *) Исправление: nginx не собирался статически с OpenSSL на Linux; ошибка
766 появилась в 1.9.11.
767
768 *) Исправление: директива "add_header ... always" с пустым значением не
769 удаляла из заголовков ошибочных ответов строки Last-Modified и ETag.
770
771 *) Изменение: при использовании OpenSSL 1.0.2f в логах могли появляться
772 сообщения "called a function you should not call" и "shutdown while
773 in init".
774
775 *) Исправление: ошибочные заголовки могли логгироваться некорректно.
776
777 *) Исправление: утечки сокетов при использовании HTTP/2.
778
779 *) Исправление: в модуле ngx_http_v2_module.
780
781
782 Изменения в nginx 1.9.11 09.02.2016
783
784 *) Добавление: теперь resolver поддерживает TCP.
785
786 *) Добавление: динамические модули.
787
788 *) Исправление: при использовании HTTP/2 переменная $request_length не
789 учитывала размер заголовков запроса.
790
791 *) Исправление: в модуле ngx_http_v2_module.
792
793
794 Изменения в nginx 1.9.10 26.01.2016
795
796 *) Безопасность: при использовании директивы resolver во время обработки
797 ответов DNS-сервера могло происходить разыменование некорректного
798 адреса, что позволяло атакующему, имеющему возможность подделывать
799 UDP-пакеты от DNS-сервера, вызвать segmentation fault в рабочем
800 процессе (CVE-2016-0742).
801
802 *) Безопасность: при использовании директивы resolver во время обработки
803 CNAME-записей могло произойти обращение к ранее освобождённой памяти,
804 что позволяло атакующему, имеющему возможность инициировать
805 преобразование произвольных имён в адреса, вызвать segmentation fault
806 в рабочем процессе, а также потенциально могло иметь другие
807 последствия (CVE-2016-0746).
808
809 *) Безопасность: при использовании директивы resolver во время обработки
810 CNAME-записей не во всех случаях проверялось ограничение на
811 максимальное количество записей в цепочке, что позволяло атакующему,
812 имеющему возможность инициировать преобразование произвольных имён в
813 адреса, вызвать чрезмерное потребление ресурсов рабочими процессами
814 (CVE-2016-0747).
815
816 *) Добавление: параметр auto директивы worker_cpu_affinity.
817
818 *) Исправление: параметр proxy_protocol директивы listen не работал с
819 IPv6 listen-сокетами.
820
821 *) Исправление: при использовании директивы keepalive соединения к
822 бэкендам могли кэшироваться некорректно.
823
824 *) Исправление: после перенаправления запроса с помощью X-Accel-Redirect
825 при проксировании использовался HTTP-метод оригинального запроса.
826
827
828 Изменения в nginx 1.9.9 09.12.2015
829
830 *) Исправление: проксирование в unix domain сокеты не работало при
831 использовании переменных; ошибка появилась в 1.9.8.
832
833
834 Изменения в nginx 1.9.8 08.12.2015
835
836 *) Добавление: поддержка pwritev().
837
838 *) Добавление: директива include в блоке upstream.
839
840 *) Добавление: модуль ngx_http_slice_module.
841
842 *) Исправление: при использовании LibreSSL в рабочем процессе мог
843 произойти segmentation fault; ошибка появилась в 1.9.6.
844
845 *) Исправление: nginx мог не собираться на OS X.
846
847
848 Изменения в nginx 1.9.7 17.11.2015
849
850 *) Добавление: параметр nohostname логгирования в syslog.
851
852 *) Добавление: директива proxy_cache_convert_head.
853
854 *) Добавление: переменная $realip_remote_addr в модуле
855 ngx_http_realip_module.
856
857 *) Исправление: директива expires могла не срабатывать при использовании
858 переменных.
859
860 *) Исправление: при использовании HTTP/2 в рабочем процессе мог
861 произойти segmentation fault; ошибка появилась в 1.9.6.
862
863 *) Исправление: если nginx был собран с модулем ngx_http_v2_module,
864 протокол HTTP/2 мог быть использован клиентом, даже если не был
865 указан параметр http2 директивы listen.
866
867 *) Исправление: в модуле ngx_http_v2_module.
868
869
870 Изменения в nginx 1.9.6 27.10.2015
871
872 *) Исправление: при использовании HTTP/2 в рабочем процессе мог
873 произойти segmentation fault.
874 Спасибо Piotr Sikora и Denis Andzakovic.
875
876 *) Исправление: при использовании HTTP/2 переменная $server_protocol
877 была пустой.
878
879 *) Исправление: SSL-соединения к бэкендам в модуле stream могли
880 неожиданно завершаться по таймауту.
881
882 *) Исправление: при использовании различных настроек ssl_session_cache в
883 разных виртуальных серверах в рабочем процессе мог произойти
884 segmentation fault.
885
886 *) Исправление: nginx/Windows не собирался с MinGW gcc; ошибка появилась
887 в 1.9.4.
888 Спасибо Kouhei Sutou.
889
890 *) Исправление: при использовании директивы timer_resolution на Windows
891 время не обновлялось.
892
893 *) Незначительные исправления и улучшения.
894 Спасибо Markus Linnala, Kurtis Nusbaum и Piotr Sikora.
895
896
897 Изменения в nginx 1.9.5 22.09.2015
898
899 *) Добавление: модуль ngx_http_v2_module (заменяет модуль
900 ngx_http_spdy_module).
901 Спасибо Dropbox и Automattic за спонсирование разработки.
902
903 *) Изменение: теперь по умолчанию директива output_buffers использует
904 два буфера.
905
906 *) Изменение: теперь nginx ограничивает максимальную вложенность
907 подзапросов, а не количество одновременных подзапросов.
908
909 *) Изменение: теперь при возврате ответов из кэша nginx проверяет ключ
910 полностью.
911 Спасибо Геннадию Махомеду и Сергею Брестеру.
912
913 *) Исправление: при использовании кэша в логах могли появляться
914 сообщения "header already sent"; ошибка появилась в 1.7.5.
915
916 *) Исправление: при использовании CephFS и директивы timer_resolution на
917 Linux в логах могли появляться сообщения "writev() failed (4:
918 Interrupted system call)".
919
920 *) Исправление: в обработке ошибок конфигурации.
921 Спасибо Markus Linnala.
922
923 *) Исправление: при использовании директивы sub_filter на уровне http в
924 рабочем процессе происходил segmentation fault; ошибка появилась в
925 1.9.4.
926
927
928 Изменения в nginx 1.9.4 18.08.2015
929
930 *) Изменение: директивы proxy_downstream_buffer и proxy_upstream_buffer
931 в модуле stream заменены директивой proxy_buffer_size.
932
933 *) Добавление: директива tcp_nodelay в модуле stream.
934
935 *) Добавление: теперь можно указать несколько директив sub_filter
936 одновременно.
937
938 *) Добавление: директива sub_filter поддерживает переменные в строке
939 поиска.
940
941 *) Изменение: тестирование конфигурации могло не работать под Linux
942 OpenVZ.
943 Спасибо Геннадию Махомеду.
944
945 *) Исправление: после переконфигурации старые рабочие процессы могли
946 сильно нагружать процессор при больших значениях worker_connections.
947
948 *) Исправление: при совместном использовании директив try_files и alias
949 внутри location'а, заданного регулярным выражением, в рабочем
950 процессе мог произойти segmentation fault; ошибка появилась в 1.7.1.
951
952 *) Исправление: директива try_files внутри вложенного location'а,
953 заданного регулярным выражением, работала неправильно, если во
954 внешнем location'е использовалась директива alias.
955
956 *) Исправление: в обработке ошибок при построении хэш-таблиц.
957
958 *) Исправление: nginx не собирался с Visual Studio 2015.
959
960
961 Изменения в nginx 1.9.3 14.07.2015
962
963 *) Изменение: дублирующиеся блоки http, mail и stream теперь запрещены.
964
965 *) Добавление: ограничение количества соединений в модуле stream.
966
967 *) Добавление: ограничение скорости в модуле stream.
968
969 *) Исправление: директива zone в блоке upstream не работала на Windows.
970
971 *) Исправление: совместимость с LibreSSL в модуле stream.
972 Спасибо Piotr Sikora.
973
974 *) Исправление: в параметре --builddir в configure.
975 Спасибо Piotr Sikora.
976
977 *) Исправление: директива ssl_stapling_file не работала; ошибка
978 появилась в 1.9.2.
979 Спасибо Faidon Liambotis и Brandon Black.
980
981 *) Исправление: при использовании директивы ssl_stapling в рабочем
982 процессе мог произойти segmentation fault; ошибка появилась в 1.9.2.
983 Спасибо Matthew Baldwin.
984
985
986 Изменения в nginx 1.9.2 16.06.2015
987
988 *) Добавление: параметр backlog директивы listen в почтовом
989 прокси-сервере и модуле stream.
990
991 *) Добавление: директивы allow и deny в модуле stream.
992
993 *) Добавление: директива proxy_bind в модуле stream.
994
995 *) Добавление: директива proxy_protocol в модуле stream.
996
997 *) Добавление: ключ -T.
998
999 *) Добавление: параметр REQUEST_SCHEME добавлен в стандартные
1000 конфигурационные файлы fastcgi.conf, fastcgi_params, scgi_params и
1001 uwsgi_params.
1002
1003 *) Исправление: параметр reuseport директивы listen в модуле stream не
1004 работал.
1005
1006 *) Исправление: OCSP stapling в некоторых случаях мог вернуть устаревший
1007 OCSP-ответ.
1008
1009
1010 Изменения в nginx 1.9.1 26.05.2015
1011
1012 *) Изменение: теперь протокол SSLv3 по умолчанию запрещён.
1013
1014 *) Изменение: некоторые давно устаревшие директивы больше не
1015 поддерживаются.
1016
1017 *) Добавление: параметр reuseport директивы listen.
1018 Спасибо Yingqi Lu из Intel и Sepherosa Ziehau.
1019
1020 *) Добавление: переменная $upstream_connect_time.
1021
1022 *) Исправление: в директиве hash на big-endian платформах.
1023
1024 *) Исправление: nginx мог не запускаться на некоторых старых версиях
1025 Linux; ошибка появилась в 1.7.11.
1026
1027 *) Исправление: в парсинге IP-адресов.
1028 Спасибо Сергею Половко.
1029
1030
1031 Изменения в nginx 1.9.0 28.04.2015
1032
1033 *) Изменение: устаревшие методы обработки соединений aio и rtsig больше
1034 не поддерживаются.
1035
1036 *) Добавление: директива zone в блоке upstream.
1037
1038 *) Добавление: модуль stream.
1039
1040 *) Добавление: поддержка byte ranges для ответов модуля
1041 ngx_http_memcached_module.
1042 Спасибо Martin Mlynář.
1043
1044 *) Добавление: разделяемую память теперь можно использовать на версиях
1045 Windows с рандомизацией адресного пространства.
1046 Спасибо Сергею Брестеру.
1047
1048 *) Добавление: директиву error_log теперь можно использовать на уровнях
1049 mail и server в почтовом прокси-сервере.
1050
1051 *) Исправление: параметр proxy_protocol директивы listen не работал,
1052 если не был указан в первой директиве listen для данного
1053 listen-сокета.
1054
1055
1056 Изменения в nginx 1.7.12 07.04.2015
1057
1058 *) Добавление: теперь директива tcp_nodelay работает для SSL-соединений
1059 с бэкендами.
1060
1061 *) Добавление: теперь потоки могут использоваться для чтения заголовков
1062 файлов в кэше.
1063
1064 *) Исправление: в директиве proxy_request_buffering.
1065
1066 *) Исправление: при использовании потоков на Linux в рабочем процессе
1067 мог произойти segmentation fault.
1068
1069 *) Исправление: в обработке ошибок при использовании директивы
1070 ssl_stapling.
1071 Спасибо Filipe da Silva.
1072
1073 *) Исправление: в модуле ngx_http_spdy_module.
1074
1075
1076 Изменения в nginx 1.7.11 24.03.2015
1077
1078 *) Изменение: параметр sendfile директивы aio более не нужен; теперь
1079 nginx автоматически использует AIO для подгрузки данных для sendfile,
1080 если одновременно используются директивы aio и sendfile.
1081
1082 *) Добавление: экспериментальная поддержка потоков.
1083
1084 *) Добавление: директивы proxy_request_buffering,
1085 fastcgi_request_buffering, scgi_request_buffering и
1086 uwsgi_request_buffering.
1087
1088 *) Добавление: экспериментальное API для обработки тела запроса.
1089
1090 *) Добавление: проверка клиентских SSL-сертификатов в почтовом
1091 прокси-сервере.
1092 Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva.
1093
1094 *) Добавление: уменьшение времени запуска при использовании директивы
1095 "hash ... consistent" в блоке upstream.
1096 Спасибо Wai Keen Woon.
1097
1098 *) Добавление: отладочное логгирование в кольцевой буфер в памяти.
1099
1100 *) Исправление: в обработке хэш-таблиц.
1101 Спасибо Chris West.
1102
1103 *) Исправление: в директиве proxy_cache_revalidate.
1104
1105 *) Исправление: SSL-соединения могли зависать, если использовался
1106 отложенный accept или параметр proxy_protocol директивы listen.
1107 Спасибо James Hamlin.
1108
1109 *) Исправление: переменная $upstream_response_time могла содержать
1110 неверное значение при использовании директивы image_filter.
1111
1112 *) Исправление: в обработке целочисленных переполнений.
1113 Спасибо Régis Leroy.
1114
1115 *) Исправление: при использовании LibreSSL было невозможно включить
1116 поддержку SSLv3.
1117
1118 *) Исправление: при использовании LibreSSL в логах появлялись сообщения
1119 "ignoring stale global SSL error ... called a function you should not
1120 call".
1121
1122 *) Исправление: сертификаты, указанные в директивах
1123 ssl_client_certificate и ssl_trusted_certificate, использовались для
1124 автоматического построения цепочек сертификатов.
1125
1126
1127 Изменения в nginx 1.7.10 10.02.2015
1128
1129 *) Добавление: параметр use_temp_path директив proxy_cache_path,
1130 fastcgi_cache_path, scgi_cache_path и uwsgi_cache_path.
1131
1132 *) Добавление: переменная $upstream_header_time.
1133
1134 *) Изменение: теперь при переполнении диска nginx пытается писать
1135 error_log'и только раз в секунду.
1136
1137 *) Исправление: директива try_files при тестировании каталогов не
1138 игнорировала обычные файлы.
1139 Спасибо Damien Tournoud.
1140
1141 *) Исправление: при использовании директивы sendfile на OS X возникали
1142 ошибки "sendfile() failed"; ошибка появилась в nginx 1.7.8.
1143
1144 *) Исправление: в лог могли писаться сообщения "sem_post() failed".
1145
1146 *) Исправление: nginx не собирался с musl libc.
1147 Спасибо James Taylor.
1148
1149 *) Исправление: nginx не собирался на Tru64 UNIX.
1150 Спасибо Goetz T. Fischer.
1151
1152
1153 Изменения в nginx 1.7.9 23.12.2014
1154
1155 *) Добавление: директивы proxy_cache, fastcgi_cache, scgi_cache и
1156 uwsgi_cache поддерживают переменные.
1157
1158 *) Добавление: директива expires поддерживает переменные.
1159
1160 *) Добавление: возможность загрузки секретных ключей с аппаратных
1161 устройств с помощью OpenSSL engines.
1162 Спасибо Дмитрию Пичулину.
1163
1164 *) Добавление: директива autoindex_format.
1165
1166 *) Исправление: ревалидация элементов кэша теперь используется только
1167 для ответов с кодами 200 и 206.
1168 Спасибо Piotr Sikora.
1169
1170 *) Исправление: строка "TE" заголовка запроса клиента передавалась на
1171 бэкенд при проксировании.
1172
1173 *) Исправление: директивы proxy_pass, fastcgi_pass, scgi_pass и
1174 uwsgi_pass могли неправильно работать внутри блоков if и
1175 limit_except.
1176
1177 *) Исправление: директива proxy_store с параметром "on" игнорировалась,
1178 если на предыдущем уровне использовалась директива proxy_store с явно
1179 заданным путём к файлам.
1180
1181 *) Исправление: nginx не собирался с BoringSSL.
1182 Спасибо Lukas Tribus.
1183
1184
1185 Изменения в nginx 1.7.8 02.12.2014
1186
1187 *) Изменение: теперь строки "If-Modified-Since", "If-Range" и им
1188 подобные в заголовке запроса клиента передаются бэкенду при
1189 включённом кэшировании, если nginx заранее знает, что не будет
1190 кэшировать ответ (например, при использовании proxy_cache_min_uses).
1191
1192 *) Изменение: теперь после истечения proxy_cache_lock_timeout nginx
1193 отправляет запрос на бэкенд без кэширования; новые директивы
1194 proxy_cache_lock_age, fastcgi_cache_lock_age, scgi_cache_lock_age и
1195 uwsgi_cache_lock_age позволяют указать, через какое время блокировка
1196 будет принудительно снята и будет сделана ещё одна попытка
1197 закэшировать ответ.
1198
1199 *) Изменение: директива log_format теперь может использоваться только на
1200 уровне http.
1201
1202 *) Добавление: директивы proxy_ssl_certificate,
1203 proxy_ssl_certificate_key, proxy_ssl_password_file,
1204 uwsgi_ssl_certificate, uwsgi_ssl_certificate_key и
1205 uwsgi_ssl_password_file.
1206 Спасибо Piotr Sikora.
1207
1208 *) Добавление: теперь с помощью X-Accel-Redirect можно перейти в
1209 именованный location.
1210 Спасибо Toshikuni Fukaya.
1211
1212 *) Добавление: теперь директива tcp_nodelay работает для
1213 SPDY-соединений.
1214
1215 *) Добавление: новые директивы в скриптах подсветки синтаксиса для vim.
1216 Спасибо Peter Wu.
1217
1218 *) Исправление: nginx игнорировал значение "s-maxage" в строке
1219 "Cache-Control" в заголовке ответа бэкенда.
1220 Спасибо Piotr Sikora.
1221
1222 *) Исправление: в модуле ngx_http_spdy_module.
1223 Спасибо Piotr Sikora.
1224
1225 *) Исправление: в директиве ssl_password_file при использовании OpenSSL
1226 0.9.8zc, 1.0.0o, 1.0.1j.
1227
1228 *) Исправление: при использовании директивы post_action в лог писались
1229 сообщения "header already sent"; ошибка появилась в nginx 1.5.4.
1230
1231 *) Исправление: при использовании директивы "postpone_output 0" с
1232 SSI-подзапросами в лог могли писаться сообщения "the http output
1233 chain is empty".
1234
1235 *) Исправление: в директиве proxy_cache_lock при использовании
1236 SSI-подзапросов.
1237 Спасибо Yichun Zhang.
1238
1239
1240 Изменения в nginx 1.7.7 28.10.2014
1241
1242 *) Изменение: теперь nginx учитывает при кэшировании строку "Vary" в
1243 заголовке ответа бэкенда.
1244
1245 *) Добавление: директивы proxy_force_ranges, fastcgi_force_ranges,
1246 scgi_force_ranges и uwsgi_force_ranges.
1247
1248 *) Добавление: директивы proxy_limit_rate, fastcgi_limit_rate,
1249 scgi_limit_rate и uwsgi_limit_rate.
1250
1251 *) Добавление: параметр Vary директив proxy_ignore_headers,
1252 fastcgi_ignore_headers, scgi_ignore_headers и uwsgi_ignore_headers.
1253
1254 *) Исправление: последняя часть ответа, полученного от бэкенда при
1255 небуферизированном проксировании, могла не отправляться клиенту, если
1256 использовались директивы gzip или gunzip.
1257
1258 *) Исправление: в директиве proxy_cache_revalidate.
1259 Спасибо Piotr Sikora.
1260
1261 *) Исправление: в обработке ошибок.
1262 Спасибо Yichun Zhang и Даниилу Бондареву.
1263
1264 *) Исправление: в директивах proxy_next_upstream_tries и
1265 proxy_next_upstream_timeout.
1266 Спасибо Feng Gu.
1267
1268 *) Исправление: nginx/Windows не собирался с MinGW-w64 gcc.
1269 Спасибо Kouhei Sutou.
1270
1271
1272 Изменения в nginx 1.7.6 30.09.2014
1273
1274 *) Изменение: устаревшая директива limit_zone больше не поддерживается.
1275
1276 *) Добавление: в директивах limit_conn_zone и limit_req_zone теперь
1277 можно использовать комбинации нескольких переменных.
1278
1279 *) Исправление: при повторной отправке FastCGI-запроса на бэкенд тело
1280 запроса могло передаваться неправильно.
1281
1282 *) Исправление: в логгировании в syslog.
1283
1284
1285 Изменения в nginx 1.7.5 16.09.2014
1286
1287 *) Безопасность: при использовании общего для нескольких блоков server
1288 разделяемого кэша SSL-сессий или общего ключа для шифрования TLS
1289 session tickets было возможно повторно использовать SSL-сессию в
1290 контексте другого блока server (CVE-2014-3616).
1291 Спасибо Antoine Delignat-Lavaud.
1292
1293 *) Изменение: директиву stub_status теперь можно указывать без
1294 параметров.
1295
1296 *) Добавление: параметр always директивы add_header.
1297
1298 *) Добавление: директивы proxy_next_upstream_tries,
1299 proxy_next_upstream_timeout, fastcgi_next_upstream_tries,
1300 fastcgi_next_upstream_timeout, memcached_next_upstream_tries,
1301 memcached_next_upstream_timeout, scgi_next_upstream_tries,
1302 scgi_next_upstream_timeout, uwsgi_next_upstream_tries и
1303 uwsgi_next_upstream_timeout.
1304
1305 *) Исправление: в параметре if директивы access_log.
1306
1307 *) Исправление: в модуле ngx_http_perl_module.
1308 Спасибо Piotr Sikora.
1309
1310 *) Исправление: директива listen почтового прокси-сервера не позволяла
1311 указать более двух параметров.
1312
1313 *) Исправление: директива sub_filter не работала с заменяемой строкой из
1314 одного символа.
1315
1316 *) Исправление: запросы могли зависать, если использовался resolver и в
1317 процессе обращения к DNS-серверу происходил таймаут.
1318
1319 *) Исправление: в модуле ngx_http_spdy_module при использовании
1320 совместно с AIO.
1321
1322 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1323 если с помощью директивы set изменялись переменные "$http_...",
1324 "$sent_http_..." или "$upstream_http_...".
1325
1326 *) Исправление: в обработке ошибок выделения памяти.
1327 Спасибо Markus Linnala и Feng Gu.
1328
1329
1330 Изменения в nginx 1.7.4 05.08.2014
1331
1332 *) Безопасность: pipelined-команды не отбрасывались после команды
1333 STARTTLS в SMTP прокси-сервере (CVE-2014-3556); ошибка появилась в
1334 1.5.6.
1335 Спасибо Chris Boulton.
1336
1337 *) Изменение: экранирование символов в URI теперь использует
1338 шестнадцатеричные цифры в верхнем регистре.
1339 Спасибо Piotr Sikora.
1340
1341 *) Добавление: теперь nginx можно собрать с BoringSSL и LibreSSL.
1342 Спасибо Piotr Sikora.
1343
1344 *) Исправление: запросы могли зависать, если использовался resolver и
1345 DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8.
1346
1347 *) Исправление: в модуле ngx_http_spdy_module.
1348 Спасибо Piotr Sikora.
1349
1350 *) Исправление: переменная $uri могла содержать мусор при возврате
1351 ошибок с кодом 400.
1352 Спасибо Сергею Боброву.
1353
1354 *) Исправление: в обработке ошибок в директиве proxy_store и в модуле
1355 ngx_http_dav_module.
1356 Спасибо Feng Gu.
1357
1358 *) Исправление: при логгировании ошибок в syslog мог происходить
1359 segmentation fault; ошибка появилась в 1.7.1.
1360
1361 *) Исправление: переменные $geoip_latitude, $geoip_longitude,
1362 $geoip_dma_code и $geoip_area_code могли не работать.
1363 Спасибо Yichun Zhang.
1364
1365 *) Исправление: в обработке ошибок выделения памяти.
1366 Спасибо Tatsuhiko Kubo и Piotr Sikora.
1367
1368
1369 Изменения в nginx 1.7.3 08.07.2014
1370
1371 *) Добавление: weak entity tags теперь не удаляются при изменениях
1372 ответа, а strong entity tags преобразуются в weak.
1373
1374 *) Добавление: ревалидация элементов кэша теперь, если это возможно,
1375 использует заголовок If-None-Match.
1376
1377 *) Добавление: директива ssl_password_file.
1378
1379 *) Исправление: при возврате ответа из кэша заголовок запроса
1380 If-None-Match игнорировался, если в ответе не было заголовка
1381 Last-Modified.
1382
1383 *) Исправление: сообщения "peer closed connection in SSL handshake" при
1384 соединении с бэкендами логгировались на уровне info вместо error.
1385
1386 *) Исправление: в модуле ngx_http_dav_module в nginx/Windows.
1387
1388 *) Исправление: SPDY-соединения могли неожиданно закрываться, если
1389 использовалось кэширование.
1390
1391
1392 Изменения в nginx 1.7.2 17.06.2014
1393
1394 *) Добавление: директива hash в блоке upstream.
1395
1396 *) Добавление: дефрагментация свободных блоков разделяемой памяти.
1397 Спасибо Wandenberg Peixoto и Yichun Zhang.
1398
1399 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1400 если использовалось значение access_log по умолчанию; ошибка
1401 появилась в 1.7.0.
1402 Спасибо Piotr Sikora.
1403
1404 *) Исправление: завершающий слэш ошибочно удалялся из последнего
1405 параметра директивы try_files.
1406
1407 *) Исправление: nginx мог не собираться на OS X.
1408
1409 *) Исправление: в модуле ngx_http_spdy_module.
1410
1411
1412 Изменения в nginx 1.7.1 27.05.2014
1413
1414 *) Добавление: переменные "$upstream_cookie_...".
1415
1416 *) Добавление: переменная $ssl_client_fingerprint.
1417
1418 *) Добавление: директивы error_log и access_log теперь поддерживают
1419 логгирование в syslog.
1420
1421 *) Добавление: почтовый прокси-сервер теперь логгирует порт клиента при
1422 соединении.
1423
1424 *) Исправление: утечки памяти при использовании директивы
1425 "ssl_stapling".
1426 Спасибо Filipe da Silva.
1427
1428 *) Исправление: директива alias внутри location'а, заданного регулярным
1429 выражением, работала неправильно, если использовались директивы if
1430 или limit_except.
1431
1432 *) Исправление: директива charset не ставила кодировку для сжатых
1433 ответов бэкендов.
1434
1435 *) Исправление: директива proxy_pass без URI могла использовать
1436 оригинальный запрос после установки переменной $args.
1437 Спасибо Yichun Zhang.
1438
1439 *) Исправление: в работе параметра none директивы smtp_auth; ошибка
1440 появилась в 1.5.6.
1441 Спасибо Святославу Никольскому.
1442
1443 *) Исправление: при совместном использовании sub_filter и SSI ответы
1444 могли передаваться неверно.
1445
1446 *) Исправление: nginx не собирался с параметром --with-file-aio на
1447 Linux/aarch64.
1448
1449
1450 Изменения в nginx 1.7.0 24.04.2014
1451
1452 *) Добавление: проверка SSL-сертификатов бэкендов.
1453
1454 *) Добавление: поддержка SNI при работе с бэкендами по SSL.
1455
1456 *) Добавление: переменная $ssl_server_name.
1457
1458 *) Добавление: параметр if директивы access_log.
1459
1460
1461 Изменения в nginx 1.5.13 08.04.2014
1462
1463 *) Изменение: улучшена обработка хэш-таблиц; в директивах
1464 variables_hash_max_size и types_hash_bucket_size значения по
1465 умолчанию изменены на 1024 и 64 соответственно.
1466
1467 *) Добавление: модуль ngx_http_mp4_module теперь понимает аргумент end.
1468
1469 *) Добавление: поддержка byte ranges модулем ngx_http_mp4_module и при
1470 сохранении ответов в кэш.
1471
1472 *) Исправление: теперь nginx не пишет в лог сообщения "ngx_slab_alloc()
1473 failed: no memory" при использовании разделяемой памяти в
1474 ssl_session_cache и в модуле ngx_http_limit_req_module.
1475
1476 *) Исправление: директива underscores_in_headers не разрешала
1477 подчёркивание в первом символе заголовка.
1478 Спасибо Piotr Sikora.
1479
1480 *) Исправление: cache manager мог нагружать процессор при выходе в
1481 nginx/Windows.
1482
1483 *) Исправление: при использовании ssl_session_cache с параметром shared
1484 рабочий процесс nginx/Windows завершался аварийно.
1485
1486 *) Исправление: в модуле ngx_http_spdy_module.
1487
1488
1489 Изменения в nginx 1.5.12 18.03.2014
1490
1491 *) Безопасность: при обработке специально созданного запроса модулем
1492 ngx_http_spdy_module могло происходить переполнение буфера в рабочем
1493 процессе, что потенциально могло приводить к выполнению произвольного
1494 кода (CVE-2014-0133).
1495 Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky,
1496 Buenos Aires, Argentina.
1497
1498 *) Добавление: параметр proxy_protocol в директивах listen и
1499 real_ip_header, переменная $proxy_protocol_addr.
1500
1501 *) Исправление: в директиве fastcgi_next_upstream.
1502 Спасибо Lucas Molas.
1503
1504
1505 Изменения в nginx 1.5.11 04.03.2014
1506
1507 *) Безопасность: при обработке специально созданного запроса модулем
1508 ngx_http_spdy_module на 32-битных платформах могла повреждаться
1509 память рабочего процесса, что потенциально могло приводить к
1510 выполнению произвольного кода (CVE-2014-0088); ошибка появилась в
1511 1.5.10.
1512 Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky,
1513 Buenos Aires, Argentina.
1514
1515 *) Добавление: переменная $ssl_session_reused.
1516
1517 *) Исправление: директива client_max_body_size могла не работать при
1518 чтении тела запроса с использованием chunked transfer encoding;
1519 ошибка появилась в 1.3.9.
1520 Спасибо Lucas Molas.
1521
1522 *) Исправление: при проксировании WebSocket-соединений в рабочем
1523 процессе мог произойти segmentation fault.
1524
1525 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1526 если использовался модуль ngx_http_spdy_module на 32-битных
1527 платформах; ошибка появилась в 1.5.10.
1528
1529 *) Исправление: значение переменной $upstream_status могло быть
1530 неверным, если использовались директивы proxy_cache_use_stale или
1531 proxy_cache_revalidate.
1532 Спасибо Piotr Sikora.
1533
1534 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1535 если ошибки с кодом 400 с помощью директивы error_page
1536 перенаправлялись в именованный location.
1537
1538 *) Исправление: nginx/Windows не собирался с Visual Studio 2013.
1539
1540
1541 Изменения в nginx 1.5.10 04.02.2014
1542
1543 *) Добавление: модуль ngx_http_spdy_module теперь использует протокол
1544 SPDY 3.1.
1545 Спасибо Automattic и MaxCDN за спонсирование разработки.
1546
1547 *) Добавление: модуль ngx_http_mp4_module теперь пропускает дорожки,
1548 имеющие меньшую длину, чем запрошенная перемотка.
1549
1550 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1551 если переменная $ssl_session_id использовалась при логгировании;
1552 ошибка появилась в 1.5.9.
1553
1554 *) Исправление: переменные $date_local и $date_gmt использовали неверный
1555 формат вне модуля ngx_http_ssi_filter_module.
1556
1557 *) Исправление: клиентские соединения могли сразу закрываться, если
1558 использовался отложенный accept; ошибка появилась в 1.3.15.
1559
1560 *) Исправление: сообщения "getsockopt(TCP_FASTOPEN) ... failed"
1561 записывались в лог в процессе обновления исполняемого файла на Linux;
1562 ошибка появилась в 1.5.8.
1563 Спасибо Piotr Sikora.
1564
1565
1566 Изменения в nginx 1.5.9 22.01.2014
1567
1568 *) Изменение: теперь в заголовке X-Accel-Redirect nginx ожидает
1569 закодированный URI.
1570
1571 *) Добавление: директива ssl_buffer_size.
1572
1573 *) Добавление: директиву limit_rate теперь можно использовать для
1574 ограничения скорости передачи ответов клиенту в SPDY-соединениях.
1575
1576 *) Добавление: директива spdy_chunk_size.
1577
1578 *) Добавление: директива ssl_session_tickets.
1579 Спасибо Dirkjan Bussink.
1580
1581 *) Исправление: переменная $ssl_session_id содержала всю сессию в
1582 сериализованном виде вместо её идентификатора.
1583 Спасибо Ivan Ristić.
1584
1585 *) Исправление: nginx неправильно обрабатывал закодированный символ "?"
1586 в команде SSI include.
1587
1588 *) Исправление: модуль ngx_http_dav_module не раскодировал целевой URI
1589 при обработке методов COPY и MOVE.
1590
1591 *) Исправление: resolver не понимал доменные имена с точкой в конце.
1592 Спасибо Yichun Zhang.
1593
1594 *) Исправление: при проксировании в логах могли появляться сообщения
1595 "zero size buf in output"; ошибка появилась в 1.3.9.
1596
1597 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1598 если использовался модуль ngx_http_spdy_module.
1599
1600 *) Исправление: при использовании методов обработки соединений select,
1601 poll и /dev/poll проксируемые WebSocket-соединения могли зависать
1602 сразу после открытия.
1603
1604 *) Исправление: директива xclient почтового прокси-сервера некорректно
1605 передавала IPv6-адреса.
1606
1607
1608 Изменения в nginx 1.5.8 17.12.2013
1609
1610 *) Добавление: теперь resolver поддерживает IPv6.
1611
1612 *) Добавление: директива listen поддерживает параметр fastopen.
1613 Спасибо Mathew Rodley.
1614
1615 *) Добавление: поддержка SSL в модуле ngx_http_uwsgi_module.
1616 Спасибо Roberto De Ioris.
1617
1618 *) Добавление: скрипты подсветки синтаксиса для vim добавлены в contrib.
1619 Спасибо Evan Miller.
1620
1621 *) Исправление: при чтении тела запроса с использованием chunked
1622 transfer encoding по SSL-соединению мог произойти таймаут.
1623
1624 *) Исправление: директива master_process работала неправильно в
1625 nginx/Windows.
1626
1627 *) Исправление: параметр setfib директивы listen мог не работать.
1628
1629 *) Исправление: в модуле ngx_http_spdy_module.
1630
1631
1632 Изменения в nginx 1.5.7 19.11.2013
1633
1634 *) Безопасность: символ, следующий за незакодированным пробелом в строке
1635 запроса, обрабатывался неправильно (CVE-2013-4547); ошибка появилась
1636 в 0.8.41.
1637 Спасибо Ivan Fratric из Google Security Team.
1638
1639 *) Изменение: уровень логгирования ошибок auth_basic об отсутствии
1640 пароля понижен с уровня error до info.
1641
1642 *) Добавление: директивы proxy_cache_revalidate,
1643 fastcgi_cache_revalidate, scgi_cache_revalidate и
1644 uwsgi_cache_revalidate.
1645
1646 *) Добавление: директива ssl_session_ticket_key.
1647 Спасибо Piotr Sikora.
1648
1649 *) Исправление: директива "add_header Cache-Control ''" добавляла строку
1650 заголовка ответа "Cache-Control" с пустым значением.
1651
1652 *) Исправление: директива "satisfy any" могла вернуть ошибку 403 вместо
1653 401 при использовании директив auth_request и auth_basic.
1654 Спасибо Jan Marc Hoffmann.
1655
1656 *) Исправление: параметры accept_filter и deferred директивы listen
1657 игнорировались для listen-сокетов, создаваемых в процессе обновления
1658 исполняемого файла.
1659 Спасибо Piotr Sikora.
1660
1661 *) Исправление: часть данных, полученных от бэкенда при
1662 небуферизированном проксировании, могла не отправляться клиенту
1663 сразу, если использовались директивы gzip или gunzip.
1664 Спасибо Yichun Zhang.
1665
1666 *) Исправление: в обработке ошибок в модуле
1667 ngx_http_gunzip_filter_module.
1668
1669 *) Исправление: ответы могли зависать, если использовался модуль
1670 ngx_http_spdy_module и директива auth_request.
1671
1672 *) Исправление: утечки памяти в nginx/Windows.
1673
1674
1675 Изменения в nginx 1.5.6 01.10.2013
1676
1677 *) Добавление: директива fastcgi_buffering.
1678
1679 *) Добавление: директивы proxy_ssl_protocols и proxy_ssl_ciphers.
1680 Спасибо Piotr Sikora.
1681
1682 *) Добавление: оптимизация SSL handshake при использовании длинных
1683 цепочек сертификатов.
1684
1685 *) Добавление: почтовый прокси-сервер поддерживает SMTP pipelining.
1686
1687 *) Исправление: в модуле ngx_http_auth_basic_module при использовании
1688 метода шифрования паролей "$apr1$".
1689 Спасибо Markus Linnala.
1690
1691 *) Исправление: на MacOSX, Cygwin и nginx/Windows для обработки запроса
1692 мог использоваться неверный location, если для задания location'ов
1693 использовались символы разных регистров.
1694
1695 *) Исправление: автоматическое перенаправление с добавлением
1696 завершающего слэша для проксированных location'ов могло не работать.
1697
1698 *) Исправление: в почтовом прокси-сервере.
1699
1700 *) Исправление: в модуле ngx_http_spdy_module.
1701
1702
1703 Изменения в nginx 1.5.5 17.09.2013
1704
1705 *) Изменение: теперь nginx по умолчанию использует HTTP/1.0, если точно
1706 определить протокол не удалось.
1707
1708 *) Добавление: директива disable_symlinks теперь использует O_PATH на
1709 Linux.
1710
1711 *) Добавление: для определения того, что клиент закрыл соединение, при
1712 использовании метода epoll теперь используются события EPOLLRDHUP.
1713
1714 *) Исправление: в директиве valid_referers при использовании параметра
1715 server_names.
1716
1717 *) Исправление: переменная $request_time не работала в nginx/Windows.
1718
1719 *) Исправление: в директиве image_filter.
1720 Спасибо Lanshun Zhou.
1721
1722 *) Исправление: совместимость с OpenSSL 1.0.1f.
1723 Спасибо Piotr Sikora.
1724
1725
1726 Изменения в nginx 1.5.4 27.08.2013
1727
1728 *) Изменение: MIME-тип для расширения js изменён на
1729 "application/javascript"; значение по умолчанию директивы
1730 charset_types изменено соответственно.
1731
1732 *) Изменение: теперь директива image_filter с параметром size возвращает
1733 ответ с MIME-типом "application/json".
1734
1735 *) Добавление: модуль ngx_http_auth_request_module.
1736
1737 *) Исправление: на старте или во время переконфигурации мог произойти
1738 segmentation fault, если использовалась директива try_files с пустым
1739 параметром.
1740
1741 *) Исправление: утечки памяти при использовании в директивах root и
1742 auth_basic_user_file относительных путей, заданных с помощью
1743 переменных.
1744
1745 *) Исправление: директива valid_referers неправильно выполняла
1746 регулярные выражения, если заголовок Referer начинался с "https://".
1747 Спасибо Liangbin Li.
1748
1749 *) Исправление: ответы могли зависать, если использовались подзапросы и
1750 при обработке подзапроса происходила ошибка во время SSL handshake с
1751 бэкендом.
1752 Спасибо Aviram Cohen.
1753
1754 *) Исправление: в модуле ngx_http_autoindex_module.
1755
1756 *) Исправление: в модуле ngx_http_spdy_module.
1757
1758
1759 Изменения в nginx 1.5.3 30.07.2013
1760
1761 *) Изменение во внутреннем API: теперь при небуферизированной работе с
1762 бэкендами u->length по умолчанию устанавливается в -1.
1763
1764 *) Изменение: теперь при получении неполного ответа от бэкенда nginx
1765 отправляет полученную часть ответа, после чего закрывает соединение с
1766 клиентом.
1767
1768 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1769 если использовался модуль ngx_http_spdy_module и директива
1770 client_body_in_file_only.
1771
1772 *) Исправление: параметр so_keepalive директивы listen мог работать
1773 некорректно на DragonFlyBSD.
1774 Спасибо Sepherosa Ziehau.
1775
1776 *) Исправление: в модуле ngx_http_xslt_filter_module.
1777
1778 *) Исправление: в модуле ngx_http_sub_filter_module.
1779
1780
1781 Изменения в nginx 1.5.2 02.07.2013
1782
1783 *) Добавление: теперь можно использовать несколько директив error_log.
1784
1785 *) Исправление: метод $r->header_in() встроенного перла не возвращал
1786 значения строк "Cookie" и "X-Forwarded-For" из заголовка запроса;
1787 ошибка появилась в 1.3.14.
1788
1789 *) Исправление: в модуле ngx_http_spdy_module.
1790 Спасибо Jim Radford.
1791
1792 *) Исправление: nginx не собирался на Linux при использовании x32 ABI.
1793 Спасибо Сергею Иванцову.
1794
1795
1796 Изменения в nginx 1.5.1 04.06.2013
1797
1798 *) Добавление: директивы ssi_last_modified, sub_filter_last_modified и
1799 xslt_last_modified.
1800 Спасибо Алексею Колпакову.
1801
1802 *) Добавление: параметр http_403 в директивах proxy_next_upstream,
1803 fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream.
1804
1805 *) Добавление: директивы allow и deny теперь поддерживают unix domain
1806 сокеты.
1807
1808 *) Исправление: nginx не собирался с модулем ngx_mail_ssl_module, но без
1809 модуля ngx_http_ssl_module; ошибка появилась в 1.3.14.
1810
1811 *) Исправление: в директиве proxy_set_body.
1812 Спасибо Lanshun Zhou.
1813
1814 *) Исправление: в директиве lingering_time.
1815 Спасибо Lanshun Zhou.
1816
1817 *) Исправление: параметр fail_timeout директивы server в блоке upstream
1818 мог не работать, если использовался параметр max_fails; ошибка
1819 появилась в 1.3.0.
1820
1821 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1822 если использовалась директива ssl_stapling.
1823 Спасибо Piotr Sikora.
1824
1825 *) Исправление: в почтовом прокси-сервере.
1826 Спасибо Filipe Da Silva.
1827
1828 *) Исправление: nginx/Windows мог перестать принимать соединения, если
1829 использовалось несколько рабочих процессов.
1830
1831
1832 Изменения в nginx 1.5.0 07.05.2013
1833
1834 *) Безопасность: при обработке специально созданного запроса мог
1835 перезаписываться стек рабочего процесса, что могло приводить к
1836 выполнению произвольного кода (CVE-2013-2028); ошибка появилась в
1837 1.3.9.
1838 Спасибо Greg MacManus, iSIGHT Partners Labs.
1839
1840
1841 Изменения в nginx 1.4.0 24.04.2013
1842
1843 *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
1844 использовался параметр --with-openssl; ошибка появилась в 1.3.16.
1845
1846 *) Исправление: в работе с телом запроса из модуля ngx_http_perl_module;
1847 ошибка появилась в 1.3.9.
1848
1849
1850 Изменения в nginx 1.3.16 16.04.2013
1851
1852 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1853 если использовались подзапросы; ошибка появилась в 1.3.9.
1854
1855 *) Исправление: директива tcp_nodelay вызывала ошибку при проксировании
1856 WebSocket-соединений в unix domain сокет.
1857
1858 *) Исправление: переменная $upstream_response_length возвращала значение
1859 "0", если не использовалась буферизация.
1860 Спасибо Piotr Sikora.
1861
1862 *) Исправление: в методах обработки соединений eventport и /dev/poll.
1863
1864
1865 Изменения в nginx 1.3.15 26.03.2013
1866
1867 *) Изменение: открытие и закрытие соединения без отправки в нём
1868 каких-либо данных больше не записывается в access_log с кодом ошибки
1869 400.
1870
1871 *) Добавление: модуль ngx_http_spdy_module.
1872 Спасибо Automattic за спонсирование разработки.
1873
1874 *) Добавление: директивы limit_req_status и limit_conn_status.
1875 Спасибо Nick Marden.
1876
1877 *) Добавление: директива image_filter_interlace.
1878 Спасибо Ивану Боброву.
1879
1880 *) Добавление: переменная $connections_waiting в модуле
1881 ngx_http_stub_status_module.
1882
1883 *) Добавление: теперь почтовый прокси-сервер поддерживает IPv6-бэкенды.
1884
1885 *) Исправление: при повторной отправке запроса на бэкенд тело запроса
1886 могло передаваться неправильно; ошибка появилась в 1.3.9.
1887 Спасибо Piotr Sikora.
1888
1889 *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
1890 1.3.9.
1891
1892 *) Исправление: ответы могли зависать, если использовались подзапросы и
1893 при обработке подзапроса происходила DNS-ошибка.
1894 Спасибо Lanshun Zhou.
1895
1896 *) Исправление: в процедуре учёта использования бэкендов.
1897
1898
1899 Изменения в nginx 1.3.14 05.03.2013
1900
1901 *) Добавление: переменные $connections_active, $connections_reading и
1902 $connections_writing в модуле ngx_http_stub_status_module.
1903
1904 *) Добавление: поддержка WebSocket-соединений в модулях
1905 ngx_http_uwsgi_module и ngx_http_scgi_module.
1906
1907 *) Исправление: в обработке виртуальных серверов при использовании SNI.
1908
1909 *) Исправление: при использовании директивы "ssl_session_cache shared"
1910 новые сессии могли не сохраняться, если заканчивалось место в
1911 разделяемой памяти.
1912 Спасибо Piotr Sikora.
1913
1914 *) Исправление: несколько заголовков X-Forwarded-For обрабатывались
1915 неправильно.
1916 Спасибо Neal Poole за спонсирование разработки.
1917
1918 *) Исправление: в модуле ngx_http_mp4_module.
1919 Спасибо Gernot Vormayr.
1920
1921
1922 Изменения в nginx 1.3.13 19.02.2013
1923
1924 *) Изменение: теперь для сборки по умолчанию используется компилятор с
1925 именем "cc".
1926
1927 *) Добавление: поддержка проксирования WebSocket-соединений.
1928 Спасибо Apcera и CloudBees за спонсирование разработки.
1929
1930 *) Добавление: директива auth_basic_user_file поддерживает шифрование
1931 паролей методом "{SHA}".
1932 Спасибо Louis Opter.
1933
1934
1935 Изменения в nginx 1.3.12 05.02.2013
1936
1937 *) Добавление: директивы proxy_bind, fastcgi_bind, memcached_bind,
1938 scgi_bind и uwsgi_bind поддерживают переменные.
1939
1940 *) Добавление: переменные $pipe, $request_length, $time_iso8601 и
1941 $time_local теперь можно использовать не только в директиве
1942 log_format.
1943 Спасибо Kiril Kalchev.
1944
1945 *) Добавление: поддержка IPv6 в модуле ngx_http_geoip_module.
1946 Спасибо Gregor Kališnik.
1947
1948 *) Исправление: директива proxy_method работала неверно, если была
1949 указана на уровне http.
1950
1951 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1952 если использовался resolver и метод poll.
1953
1954 *) Исправление: nginx мог нагружать процессор во время SSL handshake с
1955 бэкендом при использовании методов обработки соединений select, poll
1956 и /dev/poll.
1957
1958 *) Исправление: ошибка "[crit] SSL_write() failed (SSL:)".
1959
1960 *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
1961 1.3.9.
1962
1963 *) Исправление: в директиве fastcgi_keep_conn.
1964
1965
1966 Изменения в nginx 1.3.11 10.01.2013
1967
1968 *) Исправление: при записи в лог мог происходить segmentation fault;
1969 ошибка появилась в 1.3.10.
1970
1971 *) Исправление: директива proxy_pass не работала с IP-адресами без
1972 явного указания порта; ошибка появилась в 1.3.10.
1973
1974 *) Исправление: на старте или во время переконфигурации происходил
1975 segmentation fault, если директива keepalive была указана несколько
1976 раз в одном блоке upstream.
1977
1978 *) Исправление: параметр default директивы geo не определял значение по
1979 умолчанию для IPv6-адресов.
1980
1981
1982 Изменения в nginx 1.3.10 25.12.2012
1983
1984 *) Изменение: для указанных в конфигурационном файле доменных имён
1985 теперь используются не только IPv4, но и IPv6 адреса.
1986
1987 *) Изменение: теперь при использовании директивы include с маской на
1988 Unix-системах включаемые файлы сортируются в алфавитном порядке.
1989
1990 *) Изменение: директива add_header добавляет строки в ответы с кодом
1991 201.
1992
1993 *) Добавление: директива geo теперь поддерживает IPv6 адреса в формате
1994 CIDR.
1995
1996 *) Добавление: параметры flush и gzip в директиве access_log.
1997
1998 *) Добавление: директива auth_basic поддерживает переменные.
1999
2000 *) Исправление: nginx в некоторых случаях не собирался с модулем
2001 ngx_http_perl_module.
2002
2003 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2004 если использовался модуль ngx_http_xslt_module.
2005
2006 *) Исправление: nginx мог не собираться на MacOSX.
2007 Спасибо Piotr Sikora.
2008
2009 *) Исправление: при использовании директивы limit_rate с большими
2010 значениями скорости на 32-битных системах ответ мог возвращаться не
2011 целиком.
2012 Спасибо Алексею Антропову.
2013
2014 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2015 если использовалась директива if.
2016 Спасибо Piotr Sikora.
2017
2018 *) Исправление: ответ "100 Continue" выдавался вместе с ответом "413
2019 Request Entity Too Large".
2020
2021 *) Исправление: директивы image_filter, image_filter_jpeg_quality и
2022 image_filter_sharpen могли наследоваться некорректно.
2023 Спасибо Ивану Боброву.
2024
2025 *) Исправление: при использовании директивы auth_basic под Linux могли
2026 возникать ошибки "crypt_r() failed".
2027
2028 *) Исправление: в обработке backup-серверов.
2029 Спасибо Thomas Chen.
2030
2031 *) Исправление: при проксировании HEAD-запросов мог возвращаться
2032 некорректный ответ, если использовалась директива gzip.
2033
2034
2035 Изменения в nginx 1.3.9 27.11.2012
2036
2037 *) Добавление: поддержка chunked transfer encoding при получении тела
2038 запроса.
2039
2040 *) Добавление: переменные $request_time и $msec теперь можно
2041 использовать не только в директиве log_format.
2042
2043 *) Исправление: cache manager и cache loader могли не запускаться, если
2044 использовалось более 512 listen-сокетов.
2045
2046 *) Исправление: в модуле ngx_http_dav_module.
2047
2048
2049 Изменения в nginx 1.3.8 30.10.2012
2050
2051 *) Добавление: параметр optional_no_ca директивы ssl_verify_client.
2052 Спасибо Михаилу Казанцеву и Eric O'Connor.
2053
2054 *) Добавление: переменные $bytes_sent, $connection и
2055 $connection_requests теперь можно использовать не только в директиве
2056 log_format.
2057 Спасибо Benjamin Grössing.
2058
2059 *) Добавление: параметр auto директивы worker_processes.
2060
2061 *) Исправление: сообщения "cache file ... has md5 collision".
2062
2063 *) Исправление: в модуле ngx_http_gunzip_filter_module.
2064
2065 *) Исправление: в директиве ssl_stapling.
2066
2067
2068 Изменения в nginx 1.3.7 02.10.2012
2069
2070 *) Добавление: поддержка OCSP stapling.
2071 Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки.
2072
2073 *) Добавление: директива ssl_trusted_certificate.
2074
2075 *) Добавление: теперь resolver случайным образом меняет порядок
2076 возвращаемых закэшированных адресов.
2077 Спасибо Антону Жулину.
2078
2079 *) Исправление: совместимость с OpenSSL 0.9.7.
2080
2081
2082 Изменения в nginx 1.3.6 12.09.2012
2083
2084 *) Добавление: модуль ngx_http_gunzip_filter_module.
2085
2086 *) Добавление: директива memcached_gzip_flag.
2087
2088 *) Добавление: параметр always директивы gzip_static.
2089
2090 *) Исправление: в директиве "limit_req"; ошибка появилась в 1.1.14.
2091 Спасибо Charles Chen.
2092
2093 *) Исправление: nginx не собирался gcc 4.7 с оптимизацией -O2 если
2094 использовался параметр --with-ipv6.
2095
2096
2097 Изменения в nginx 1.3.5 21.08.2012
2098
2099 *) Изменение: модуль ngx_http_mp4_module больше не отфильтровывает
2100 дорожки в форматах, отличных от H.264 и AAC.
2101
2102 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2103 если в директиве map в качестве значений использовались переменные.
2104
2105 *) Исправление: в рабочем процессе мог произойти segmentation fault при
2106 использовании директивы geo с параметром ranges, но без параметра
2107 default; ошибка появилась в 0.8.43.
2108 Спасибо Zhen Chen и Weibin Yao.
2109
2110 *) Исправление: в обработке параметра командной строки -p.
2111
2112 *) Исправление: в почтовом прокси-сервере.
2113
2114 *) Исправление: незначительных потенциальных ошибок.
2115 Спасибо Coverity.
2116
2117 *) Исправление: nginx/Windows не собирался с Visual Studio 2005 Express.
2118 Спасибо HAYASHI Kentaro.
2119
2120
2121 Изменения в nginx 1.3.4 31.07.2012
2122
2123 *) Изменение: теперь на слушающих IPv6-сокетах параметр ipv6only включён
2124 по умолчанию.
2125
2126 *) Добавление: поддержка компилятора Clang.
2127
2128 *) Исправление: могли создаваться лишние слушающие сокеты.
2129 Спасибо Роману Одайскому.
2130
2131 *) Исправление: nginx/Windows мог нагружать процессор, если при запуске
2132 рабочего процесса происходила ошибка.
2133 Спасибо Ricardo Villalobos Guevara.
2134
2135 *) Исправление: директивы proxy_pass_header, fastcgi_pass_header,
2136 scgi_pass_header, uwsgi_pass_header, proxy_hide_header,
2137 fastcgi_hide_header, scgi_hide_header и uwsgi_hide_header могли
2138 наследоваться некорректно.
2139
2140
2141 Изменения в nginx 1.3.3 10.07.2012
2142
2143 *) Добавление: поддержка entity tags и директива etag.
2144
2145 *) Исправление: при использовании директивы map с параметром hostnames
2146 не игнорировалась конечная точка в исходном значении.
2147
2148 *) Исправление: для обработки запроса мог использоваться неверный
2149 location, если переход в именованный location происходил после
2150 изменения URI с помощью директивы rewrite.
2151
2152
2153 Изменения в nginx 1.3.2 26.06.2012
2154
2155 *) Изменение: параметр single директивы keepalive теперь игнорируется.
2156
2157 *) Изменение: сжатие SSL теперь отключено в том числе при использовании
2158 OpenSSL старее 1.0.0.
2159
2160 *) Добавление: директиву "ip_hash" теперь можно использовать для
2161 балансировки IPv6 клиентов.
2162
2163 *) Добавление: переменную $status теперь можно использовать не только в
2164 директиве log_format.
2165
2166 *) Исправление: при завершении рабочего процесса мог произойти
2167 segmentation fault, если использовалась директива resolver.
2168
2169 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2170 если использовался модуль ngx_http_mp4_module.
2171
2172 *) Исправление: в модуле ngx_http_mp4_module.
2173
2174 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2175 если использовались конфликтующие имена серверов с масками.
2176
2177 *) Исправление: на платформе ARM nginx мог аварийно завершаться по
2178 сигналу SIGBUS.
2179
2180 *) Исправление: во время переконфигурации на HP-UX в лог записывался
2181 alert "sendmsg() failed (9: Bad file number)".
2182
2183
2184 Изменения в nginx 1.3.1 05.06.2012
2185
2186 *) Безопасность: теперь nginx/Windows игнорирует точку в конце
2187 компонента URI и не разрешает URI, содержащие последовательность
2188 ":$".
2189 Спасибо Владимиру Кочеткову, Positive Research Center.
2190
2191 *) Добавление: директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass
2192 и директива server в блоке upstream теперь поддерживают IPv6-адреса.
2193
2194 *) Добавление: в директиве resolver теперь можно указывать порт и
2195 задавать IPv6-адреса DNS-серверов.
2196
2197 *) Добавление: директива least_conn в блоке upstream.
2198
2199 *) Добавление: при использовании директивы ip_hash теперь можно задавать
2200 веса серверов.
2201
2202 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2203 если использовалась директива image_filter; ошибка появилась в 1.3.0.
2204
2205 *) Исправление: nginx не собирался с модулем ngx_cpp_test_module; ошибка
2206 появилась в 1.1.12.
2207
2208 *) Исправление: доступ к переменным из SSI и встроенного перла мог не
2209 работать после переконфигурации.
2210 Спасибо Yichun Zhang.
2211
2212 *) Исправление: в модуле ngx_http_xslt_filter_module.
2213 Спасибо Kuramoto Eiji.
2214
2215 *) Исправление: утечки памяти при использовании переменной $geoip_org.
2216 Спасибо Денису Латыпову.
2217
2218 *) Исправление: в директивах proxy_cookie_domain и proxy_cookie_path.
2219
2220
2221 Изменения в nginx 1.3.0 15.05.2012
2222
2223 *) Добавление: директива debug_connection теперь поддерживает
2224 IPv6-адреса и параметр "unix:".
2225
2226 *) Добавление: директива set_real_ip_from и параметр proxy директивы geo
2227 теперь поддерживают IPv6-адреса.
2228
2229 *) Добавление: директивы real_ip_recursive, geoip_proxy и
2230 geoip_proxy_recursive.
2231
2232 *) Добавление: параметр proxy_recursive директивы geo.
2233
2234 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2235 если использовалась директива resolver.
2236
2237 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2238 если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
2239 и бэкенд возвращал некорректный ответ.
2240
2241 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2242 если использовалась директива rewrite и в новых аргументах запроса в
2243 строке замены использовались переменные.
2244
2245 *) Исправление: nginx мог нагружать процессор, если было достигнуто
2246 ограничение на количество открытых файлов.
2247
2248 *) Исправление: при использовании директивы proxy_next_upstream с
2249 параметром http_404 nginx мог бесконечно перебирать бэкенды, если в
2250 блоке upstream был хотя бы один сервер с флагом backup.
2251
2252 *) Исправление: при использовании директивы ip_hash установка параметра
2253 down директивы server могла приводить к ненужному перераспределению
2254 клиентов между бэкендами.
2255
2256 *) Исправление: утечки сокетов.
2257 Спасибо Yichun Zhang.
2258
2259 *) Исправление: в модуле ngx_http_fastcgi_module.
2260
2261
2262 Изменения в nginx 1.2.0 23.04.2012
2263
2264 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2265 если использовалась директива try_files; ошибка появилась в 1.1.19.
2266
2267 *) Исправление: ответ мог быть передан не полностью, если использовалось
2268 больше IOV_MAX буферов.
2269
2270 *) Исправление: в работе параметра crop директивы image_filter.
2271 Спасибо Maxim Bublis.
2272
2273
2274 Изменения в nginx 1.1.19 12.04.2012
2275
2276 *) Безопасность: при обработке специально созданного mp4 файла модулем
2277 ngx_http_mp4_module могли перезаписываться области памяти рабочего
2278 процесса, что могло приводить к выполнению произвольного кода
2279 (CVE-2012-2089).
2280 Спасибо Matthew Daley.
2281
2282 *) Исправление: nginx/Windows мог завершаться аварийно.
2283 Спасибо Vincent Lee.
2284
2285 *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
2286 были помечены флагом backup.
2287
2288 *) Исправление: директивы allow и deny могли наследоваться некорректно,
2289 если в них использовались IPv6 адреса.
2290
2291 *) Исправление: директивы modern_browser и ancient_browser могли
2292 наследоваться некорректно.
2293
2294 *) Исправление: таймауты могли работать некорректно на Solaris/SPARC.
2295
2296 *) Исправление: в модуле ngx_http_mp4_module.
2297
2298
2299 Изменения в nginx 1.1.18 28.03.2012
2300
2301 *) Изменение: теперь keepalive соединения не запрещены для Safari по
2302 умолчанию.
2303
2304 *) Добавление: переменная $connection_requests.
2305
2306 *) Добавление: переменные $tcpinfo_rtt, $tcpinfo_rttvar,
2307 $tcpinfo_snd_cwnd и $tcpinfo_rcv_space.
2308
2309 *) Добавление: директива worker_cpu_affinity теперь работает на FreeBSD.
2310
2311 *) Добавление: директивы xslt_param и xslt_string_param.
2312 Спасибо Samuel Behan.
2313
2314 *) Исправление: в configure.
2315 Спасибо Piotr Sikora.
2316
2317 *) Исправление: в модуле ngx_http_xslt_filter_module.
2318
2319 *) Исправление: nginx не собирался на Debian GNU/Hurd.
2320
2321
2322 Изменения в nginx 1.1.17 15.03.2012
2323
2324 *) Безопасность: содержимое ранее освобождённой памяти могло быть
2325 отправлено клиенту, если бэкенд возвращал специально созданный ответ.
2326 Спасибо Matthew Daley.
2327
2328 *) Исправление: при использовании встроенного перла из SSI.
2329 Спасибо Matthew Daley.
2330
2331 *) Исправление: в модуле ngx_http_uwsgi_module.
2332
2333
2334 Изменения в nginx 1.1.16 29.02.2012
2335
2336 *) Изменение: ограничение на количество одновременных подзапросов
2337 поднято до 200.
2338
2339 *) Добавление: параметр from в директиве disable_symlinks.
2340
2341 *) Добавление: директивы return и error_page теперь могут использоваться
2342 для возврата перенаправлений с кодом 307.
2343
2344 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2345 если использовалась директива resolver и на глобальном уровне не была
2346 задана директива error_log.
2347 Спасибо Роману Арутюняну.
2348
2349 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2350 если использовались директивы "proxy_http_version 1.1" или
2351 "fastcgi_keep_conn on".
2352
2353 *) Исправление: утечек памяти.
2354 Спасибо Lanshun Zhou.
2355
2356 *) Исправление: в директиве disable_symlinks.
2357
2358 *) Исправление: при использовании ZFS размер кэша на диске мог считаться
2359 некорректно; ошибка появилась в 1.0.1.
2360
2361 *) Исправление: nginx не собирался компилятором icc 12.1.
2362
2363 *) Исправление: nginx не собирался gcc на Solaris; ошибка появилась в
2364 1.1.15.
2365
2366
2367 Изменения в nginx 1.1.15 15.02.2012
2368
2369 *) Добавление: директива disable_symlinks.
2370
2371 *) Добавление: директивы proxy_cookie_domain и proxy_cookie_path.
2372
2373 *) Исправление: nginx мог некорректно сообщать об ошибке "upstream
2374 prematurely closed connection" вместо "upstream sent too big header".
2375 Спасибо Feibo Li.
2376
2377 *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
2378 использовался параметр --with-openssl.
2379
2380 *) Исправление: количество внутренних перенаправлений в именованные
2381 location'ы не ограничивалось.
2382
2383 *) Исправление: вызов $r->flush() несколько раз подряд мог приводить к
2384 ошибкам в модуле ngx_http_gzip_filter_module.
2385
2386 *) Исправление: при использовании директивы proxy_store с
2387 SSI-подзапросами временные файлы могли не удаляться.
2388
2389 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
2390 $args) возвращали старое пустое закэшированное значение.
2391
2392 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2393 если одновременно создавалось слишком много SSI-подзапросов; ошибка
2394 появилась в 0.7.25.
2395
2396
2397 Изменения в nginx 1.1.14 30.01.2012
2398
2399 *) Добавление: теперь можно указать несколько ограничений limit_req
2400 одновременно.
2401
2402 *) Исправление: в обработке ошибок при соединении с бэкендом.
2403 Спасибо Piotr Sikora.
2404
2405 *) Исправление: в обработке ошибок при использовании AIO на FreeBSD.
2406
2407 *) Исправление: в инициализации библиотеки OpenSSL.
2408
2409 *) Исправление: директивы proxy_redirect могли наследоваться
2410 некорректно.
2411
2412 *) Исправление: утечки памяти при переконфигурации, если использовалась
2413 директива pcre_jit.
2414
2415
2416 Изменения в nginx 1.1.13 16.01.2012
2417
2418 *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
2419
2420 *) Исправление: параметры директивы limit_req наследовались некорректно;
2421 ошибка появилась в 1.1.12.
2422
2423 *) Исправление: директива proxy_redirect некорректно обрабатывала
2424 заголовок Refresh при использовании регулярных выражений.
2425
2426 *) Исправление: директива proxy_cache_use_stale с параметром error не
2427 возвращала ответ из кэша, если все бэкенды были признаны
2428 неработающими.
2429
2430 *) Исправление: директива worker_cpu_affinity могла не работать.
2431
2432 *) Исправление: nginx не собирался на Solaris; ошибка появилась в
2433 1.1.12.
2434
2435 *) Исправление: в модуле ngx_http_mp4_module.
2436
2437
2438 Изменения в nginx 1.1.12 26.12.2011
2439
2440 *) Изменение: после перенаправления запроса с помощью директивы
2441 error_page директива proxy_pass без URI теперь использует изменённый
2442 URI.
2443 Спасибо Lanshun Zhou.
2444
2445 *) Добавление: директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
2446 proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
2447
2448 *) Добавление: директива pcre_jit.
2449
2450 *) Добавление: SSI команда if поддерживает выделения в регулярных
2451 выражениях.
2452
2453 *) Исправление: SSI команда if не работала внутри команды block.
2454
2455 *) Исправление: директивы limit_conn_log_level и limit_req_log_level
2456 могли не работать.
2457
2458 *) Исправление: директива limit_rate не позволяла передавать на полной
2459 скорости, даже если был указан очень большой лимит.
2460
2461 *) Исправление: директива sendfile_max_chunk не работала, если
2462 использовалась директива limit_rate.
2463
2464 *) Исправление: если в директиве proxy_pass использовались переменные и
2465 не был указан URI, всегда использовался URI исходного запроса.
2466
2467 *) Исправление: после перенаправления запроса с помощью директивы
2468 try_files директива proxy_pass без URI могла использовать URI
2469 исходного запроса.
2470 Спасибо Lanshun Zhou.
2471
2472 *) Исправление: в модуле ngx_http_scgi_module.
2473
2474 *) Исправление: в модуле ngx_http_mp4_module.
2475
2476 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.1.9.
2477
2478
2479 Изменения в nginx 1.1.11 12.12.2011
2480
2481 *) Добавление: параметр so_keepalive в директиве listen.
2482 Спасибо Всеволоду Стахову.
2483
2484 *) Добавление: параметр if_not_empty в директивах
2485 fastcgi/scgi/uwsgi_param.
2486
2487 *) Добавление: переменная $https.
2488
2489 *) Добавление: директива proxy_redirect поддерживает переменные в первом
2490 параметре.
2491
2492 *) Добавление: директива proxy_redirect поддерживает регулярные
2493 выражения.
2494
2495 *) Исправление: переменная $sent_http_cache_control могла содержать
2496 неверное значение при использовании директивы expires.
2497 Спасибо Yichun Zhang.
2498
2499 *) Исправление: директива read_ahead могла не работать при использовании
2500 совместно с try_files и open_file_cache.
2501
2502 *) Исправление: если в параметре inactive директивы proxy_cache_path
2503 было указано малое время, в рабочем процессе мог произойти
2504 segmentation fault.
2505
2506 *) Исправление: ответы из кэша могли зависать.
2507
2508
2509 Изменения в nginx 1.1.10 30.11.2011
2510
2511 *) Исправление: при использовании AIO на Linux в рабочем процессе
2512 происходил segmentation fault; ошибка появилась в 1.1.9.
2513
2514
2515 Изменения в nginx 1.1.9 28.11.2011
2516
2517 *) Изменение: теперь двойные кавычки экранируется при выводе
2518 SSI-командой echo.
2519 Спасибо Зауру Абасмирзоеву.
2520
2521 *) Добавление: параметр valid в директиве resolver. По умолчанию теперь
2522 используется TTL, возвращённый DNS-сервером.
2523 Спасибо Кириллу Коринскому.
2524
2525 *) Исправление: nginx мог перестать отвечать, если рабочий процесс
2526 завершался аварийно.
2527
2528 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2529 если использовалось SNI; ошибка появилась в 1.1.2.
2530
2531 *) Исправление: в директиве keepalive_disable; ошибка появилась в 1.1.8.
2532 Спасибо Александру Усову.
2533
2534 *) Исправление: сигнал SIGWINCH переставал работать после первого
2535 обновления исполняемого файла; ошибка появилась в 1.1.1.
2536
2537 *) Исправление: теперь ответы бэкендов, длина которых не соответствует
2538 заголовку Content-Length, не кэширутся.
2539
2540 *) Исправление: в директиве scgi_param при использовании составных
2541 параметров.
2542
2543 *) Исправление: в методе epoll.
2544 Спасибо Yichun Zhang.
2545
2546 *) Исправление: в модуле ngx_http_flv_module.
2547 Спасибо Piotr Sikora.
2548
2549 *) Исправление: в модуле ngx_http_mp4_module.
2550
2551 *) Исправление: теперь nginx понимает IPv6-адреса в строке запроса и в
2552 заголовке Host.
2553
2554 *) Исправление: директивы add_header и expires не работали для ответов с
2555 кодом 206, если запрос проксировался.
2556
2557 *) Исправление: nginx не собирался на FreeBSD 10.
2558
2559 *) Исправление: nginx не собирался на AIX.
2560
2561
2562 Изменения в nginx 1.1.8 14.11.2011
2563
2564 *) Изменение: модуль ngx_http_limit_zone_module переименован в
2565 ngx_http_limit_conn_module.
2566
2567 *) Изменение: директива limit_zone заменена директивой limit_conn_zone с
2568 новым синтаксисом.
2569
2570 *) Добавление: поддержка ограничения по нескольким limit_conn на одном
2571 уровне.
2572
2573 *) Добавление: директива image_filter_sharpen.
2574
2575 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2576 если resolver получил большой DNS-ответ.
2577 Спасибо Ben Hawkes.
2578
2579 *) Исправление: в вычислении ключа для кэширования, если использовалась
2580 внутренняя реализация MD5; ошибка появилась в 1.0.4.
2581
2582 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
2583 заголовке запроса клиента могли передаваться бэкенду при кэшировании;
2584 или не передаваться при выключенном кэшировании, если кэширование
2585 было включено в другой части конфигурации.
2586
2587 *) Исправление: модуль ngx_http_mp4_module выдавал неверную строку
2588 "Content-Length" в заголовке ответа, использовался аргумент start.
2589 Спасибо Piotr Sikora.
2590
2591
2592 Изменения в nginx 1.1.7 31.10.2011
2593
2594 *) Добавление: поддержка нескольких DNS серверов в директиве "resolver".
2595 Спасибо Кириллу Коринскому.
2596
2597 *) Исправление: на старте или во время переконфигурации происходил
2598 segmentation fault, если директива ssl использовалась на уровне http
2599 и не был указан ssl_certificate.
2600
2601 *) Исправление: уменьшено потребление памяти при проксировании больших
2602 файлов, если они буферизировались на диск.
2603
2604 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2605 если использовалась директива "proxy_http_version 1.1".
2606
2607 *) Исправление: в директиве "expires @time".
2608
2609
2610 Изменения в nginx 1.1.6 17.10.2011
2611
2612 *) Изменение во внутреннем API: теперь при внутреннем редиректе в
2613 именованный location контексты модулей очищаются.
2614 По запросу Yichun Zhang.
2615
2616 *) Изменение: теперь если сервер, описанный в блоке upstream, был
2617 признан неработающим, то после истечения fail_timeout на него будет
2618 отправлен только один запрос; сервер будет считаться работающим, если
2619 успешно ответит на этот запрос.
2620
2621 *) Изменение: теперь символы 0x7F-0xFF в access_log записываются в виде
2622 \xXX.
2623
2624 *) Добавление: директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers"
2625 теперь поддерживают значения X-Accel-Limit-Rate, X-Accel-Buffering и
2626 X-Accel-Charset.
2627
2628 *) Добавление: уменьшение потребления памяти при использовании SSL.
2629
2630 *) Исправление: некоторые UTF-8 символы обрабатывались неправильно.
2631 Спасибо Алексею Куцу.
2632
2633 *) Исправление: директивы модуля ngx_http_rewrite_module, заданные на
2634 уровне server, применялись повторно, если для запроса не находилось
2635 ни одного location'а.
2636
2637 *) Исправление: при использовании "aio sendfile" могла происходить
2638 утечка сокетов.
2639
2640 *) Исправление: при использовании файлового AIO соединения с быстрыми
2641 клиентами могли быть закрыты по истечению send_timeout.
2642
2643 *) Исправление: в модуле ngx_http_autoindex_module.
2644
2645 *) Исправление: модуль ngx_http_mp4_module не поддерживал перемотку на
2646 32-битных платформах.
2647
2648
2649 Изменения в nginx 1.1.5 05.10.2011
2650
2651 *) Добавление: директивы uwsgi_buffering и scgi_buffering.
2652 Спасибо Peter Smit.
2653
2654 *) Исправление: при использовании proxy_cache_bypass могли быть
2655 закэшированы некэшируемые ответы.
2656 Спасибо John Ferlito.
2657
2658 *) Исправление: в модуле ngx_http_proxy_module при работе с бэкендами по
2659 HTTP/1.1.
2660
2661 *) Исправление: закэшированные ответы с пустым телом возвращались
2662 некорректно; ошибка появилась в 0.8.31.
2663
2664 *) Исправление: ответы с кодом 201 модуля ngx_http_dav_module были
2665 некорректны; ошибка появилась в 0.8.32.
2666
2667 *) Исправление: в директиве return.
2668
2669 *) Исправление: при использовании директивы "ssl_session_cache builtin"
2670 происходил segmentation fault; ошибка появилась в 1.1.1.
2671
2672
2673 Изменения в nginx 1.1.4 20.09.2011
2674
2675 *) Добавление: модуль ngx_http_upstream_keepalive.
2676
2677 *) Добавление: директива proxy_http_version.
2678
2679 *) Добавление: директива fastcgi_keep_conn.
2680
2681 *) Добавление: директива worker_aio_requests.
2682
2683 *) Исправление: если nginx был собран с файловым AIO, он не мог
2684 запускаться на Linux без поддержки AIO.
2685
2686 *) Исправление: в обработке ошибок при работе с Linux AIO.
2687 Спасибо Hagai Avrahami.
2688
2689 *) Исправление: уменьшено потребление памяти для долгоживущих запросов.
2690
2691 *) Исправление: модуль ngx_http_mp4_module не поддерживал 64-битный
2692 MP4-атом co64.
2693
2694
2695 Изменения в nginx 1.1.3 14.09.2011
2696
2697 *) Добавление: модуль ngx_http_mp4_module.
2698
2699 *) Исправление: в Linux AIO, используемым совместно с open_file_cache.
2700
2701 *) Исправление: open_file_cache не обновлял информацию о файле, если
2702 файл был изменён не атомарно.
2703
2704 *) Исправление: nginx не собирался на MacOSX 10.7.
2705
2706
2707 Изменения в nginx 1.1.2 05.09.2011
2708
2709 *) Изменение: теперь, если суммарный размер всех диапазонов больше
2710 размера исходного ответа, то nginx возвращает только исходный ответ,
2711 не обрабатывая диапазоны.
2712
2713 *) Добавление: директива max_ranges.
2714
2715 *) Исправление: директивы ssl_verify_client, ssl_verify_depth и
2716 ssl_prefer_server_cipher могли работать некорректно, если
2717 использовался SNI.
2718
2719 *) Исправление: в директивах proxy/fastcgi/scgi/
2720 uwsgi_ignore_client_abort.
2721
2722
2723 Изменения в nginx 1.1.1 22.08.2011
2724
2725 *) Изменение: теперь загрузчик кэша за каждую итерацию либо обрабатывает
2726 число файлов, указанное в параметре load_files, либо работает не
2727 дольше времени, указанного в параметре loader_threshold.
2728
2729 *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона.
2730
2731 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
2732 на Solaris.
2733 Спасибо Денису Иванову.
2734
2735 *) Добавление: теперь на NetBSD поддерживаются accept фильтры.
2736
2737 *) Исправление: nginx не собирался на Linux 3.0.
2738
2739 *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка
2740 появилась в 1.1.0.
2741
2742 *) Исправление: обработка тела запроса могла быть неверной, если клиент
2743 использовал pipelining.
2744
2745 *) Исправление: в директиве request_body_in_single_buf.
2746
2747 *) Исправление: в директивах proxy_set_body и proxy_pass_request_body
2748 при использовании SSL-соединения с бэкендом.
2749
2750 *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
2751 были помечены флагом down.
2752
2753 *) Исправление: при переконфигурации мог произойти segmentation fault,
2754 если в предыдущей конфигурации был определён, но не использовался
2755 ssl_session_cache.
2756
2757 *) Исправление: при использовании большого количества backup-серверов в
2758 рабочем процессе мог произойти segmentation fault.
2759
2760 *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со
2761 значениями, начинающимися со строки "HTTP_", в рабочем процессе мог
2762 произойти segmentation fault; ошибка появилась в 0.8.40.
2763
2764
2765 Изменения в nginx 1.1.0 01.08.2011
2766
2767 *) Добавление: уменьшение времени работы загрузчика кэша.
2768
2769 *) Добавление: параметры loader_files, loader_sleep и loader_threshold
2770 директив proxy/fastcgi/scgi/uwsgi_cache_path.
2771
2772 *) Добавление: уменьшение времени загрузки конфигураций с большим
2773 количеством HTTPS серверов.
2774
2775 *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
2776 Спасибо Adrian Kotelba.
2777
2778 *) Добавление: директива lingering_close.
2779 Спасибо Максиму Дунину.
2780
2781 *) Исправление: закрытия соединения для pipelined-запросов.
2782 Спасибо Максиму Дунину.
2783
2784 *) Исправление: nginx не запрещал сжатие при получении значения
2785 "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
2786
2787 *) Исправление: таймаута при небуферизированном проксировании.
2788 Спасибо Максиму Дунину.
2789
2790 *) Исправление: утечки памяти при использовании переменных в директиве
2791 proxy_pass при работе с бэкендом по HTTPS.
2792 Спасибо Максиму Дунину.
2793
2794 *) Исправление: в проверке параметра директивы proxy_pass, заданного
2795 переменными.
2796 Спасибо Lanshun Zhou.
2797
2798 *) Исправление: SSL не работал на QNX.
2799 Спасибо Максиму Дунину.
2800
2801 *) Исправление: SSL модули не собирались gcc 4.6 без параметра
2802 --with-debug.
2803
2804
2805 Изменения в nginx 1.0.5 19.07.2011
2806
2807 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
2808 "HIGH:!aNULL:!MD5".
2809 Спасибо Rob Stradling.
2810
2811 *) Добавление: директивы referer_hash_max_size и
2812 referer_hash_bucket_size.
2813 Спасибо Witold Filipczyk.
2814
2815 *) Добавление: переменная $uid_reset.
2816
2817 *) Исправление: при использовании кэширования в рабочем процессе мог
2818 произойти segmentation fault.
2819 Спасибо Lanshun Zhou.
2820
2821 *) Исправление: при использовании кэширования рабочие процессы могли
2822 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
2823 Спасибо Максиму Дунину.
2824
2825 *) Исправление: сообщения "stalled cache updating".
2826 Спасибо Максиму Дунину.
2827
2828
2829 Изменения в nginx 1.0.4 01.06.2011
2830
2831 *) Изменение: теперь в регулярных выражениях в директиве map можно
2832 задать чувствительность к регистру с помощью префиксов "~" и "~*".
2833
2834 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
2835 на Linux.
2836 Спасибо Денису Латыпову.
2837
2838 *) Исправление: сообщения "stalled cache updating".
2839
2840 *) Исправление: nginx не собирался с параметром
2841 --without-http_auth_basic_module; ошибка появилась в 1.0.3.
2842
2843
2844 Изменения в nginx 1.0.3 25.05.2011
2845
2846 *) Добавление: директива auth_basic_user_file поддерживает шифрование
2847 пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
2848 Спасибо Максиму Дунину.
2849
2850 *) Добавление: директива geoip_org и переменная $geoip_org.
2851 Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
2852
2853 *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
2854 поддерживают адреса IPv4, отображённые на IPv6 адреса.
2855
2856 *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в
2857 рабочем процессе происходил segmentation fault, если директивы access
2858 или deny были определены только для адресов IPv6; ошибка появилась в
2859 0.8.22.
2860
2861 *) Исправление: закэшированный ответ мог быть испорчен, если значения
2862 директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
2863 uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
2864
2865
2866 Изменения в nginx 1.0.2 10.05.2011
2867
2868 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX.
2869
2870 *) Исправление: в работе параметра rotate директивы image_filter.
2871 Спасибо Adam Bocim.
2872
2873 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
2874
2875
2876 Изменения в nginx 1.0.1 03.05.2011
2877
2878 *) Изменение: теперь директива split_clients использует алгоритм
2879 MurmurHash2 из-за лучшего распределения.
2880 Спасибо Олегу Мамонтову.
2881
2882 *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
2883 ложными значениями.
2884 Спасибо Максиму Дунину.
2885
2886 *) Изменение: теперь по умолчанию nginx использует значение 511 для
2887 listen backlog на Linux.
2888
2889 *) Добавление: переменные $upstream_... можно использовать в SSI и
2890 перловом модулях.
2891
2892 *) Исправление: теперь nginx лучше ограничивает размер кэша на диске.
2893 Спасибо Олегу Мамонтову.
2894
2895 *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
2896 segmentation fault; ошибка появилась в 0.8.22.
2897 Спасибо Максиму Дунину.
2898
2899 *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
2900
2901 *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
2902 появилась в 0.9.3.
2903 Спасибо Dagobert Michelsen.
2904
2905 *) Исправление: переменная $request_time имела неверные значения, если
2906 использовались подзапросы; ошибка появилась в 0.8.47.
2907 Спасибо Игорю А. Валькову.
2908
2909
2910 Изменения в nginx 1.0.0 12.04.2011
2911
2912 *) Исправление: cache manager мог нагружать процессор после
2913 переконфигурации.
2914 Спасибо Максиму Дунину.
2915
2916 *) Исправление: директива "image_filter crop" неправильно работала в
2917 сочетании с "image_filter rotate 180".
2918
2919 *) Исправление: директива "satisfy any" запрещала выдачу
2920 пользовательской страницы для 401 кода.
2921
2922
2923 Изменения в nginx 0.9.7 04.04.2011
2924
2925 *) Добавление: теперь соединения в состоянии keepalive могут быть
2926 закрыты преждевременно, если у воркера нет свободных соединений.
2927 Спасибо Максиму Дунину.
2928
2929 *) Добавление: параметр rotate директивы image_filter.
2930 Спасибо Adam Bocim.
2931
2932 *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
2933 scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
2934 upstream.
2935
2936
2937 Изменения в nginx 0.9.6 21.03.2011
2938
2939 *) Добавление: директива map поддерживает регулярные выражения в
2940 качестве значения первого параметра.
2941
2942 *) Добавление: переменная $time_iso8601 для access_log.
2943 Спасибо Michael Lustfield.
2944
2945
2946 Изменения в nginx 0.9.5 21.02.2011
2947
2948 *) Изменение: теперь по умолчанию nginx использует значение -1 для
2949 listen backlog на Linux.
2950 Спасибо Андрею Нигматулину.
2951
2952 *) Добавление: параметр utf8 в директивах geoip_country и geoip_city.
2953 Спасибо Денису Латыпову.
2954
2955 *) Исправление: исправление в умолчательной директиве proxy_redirect,
2956 если в директиве proxy_pass не был описан URI.
2957 Спасибо Максиму Дунину.
2958
2959 *) Исправление: директива error_page не работала с нестандартными кодами
2960 ошибок; ошибка появилась в 0.8.53.
2961 Спасибо Максиму Дунину.
2962
2963
2964 Изменения в nginx 0.9.4 21.01.2011
2965
2966 *) Добавление: директива server_name поддерживает переменную $hostname.
2967
2968 *) Добавление: 494 код для ошибки "Request Header Too Large".
2969
2970
2971 Изменения в nginx 0.9.3 13.12.2010
2972
2973 *) Исправление: если для пары IPv6-адрес:порт описан только один сервер,
2974 то выделения в регулярных выражениях в директиве server_name не
2975 работали.
2976
2977 *) Исправление: nginx не собирался под Solaris; ошибка появилась в
2978 0.9.0.
2979
2980
2981 Изменения в nginx 0.9.2 06.12.2010
2982
2983 *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
2984 запроса клиента.
2985
2986 *) Изменение: использование accept(), если accept4() не реализован;
2987 ошибка появилась в 0.9.0.
2988
2989 *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
2990
2991 *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
2992 Спасибо Максиму Дунину.
2993
2994
2995 Изменения в nginx 0.9.1 30.11.2010
2996
2997 *) Исправление: директивы вида "return CODE message" не работали; ошибка
2998 появилась в 0.9.0.
2999
3000
3001 Изменения в nginx 0.9.0 29.11.2010
3002
3003 *) Добавление: директива keepalive_disable.
3004
3005 *) Добавление: директива map поддерживает переменные в качестве значения
3006 определяемой переменной.
3007
3008 *) Добавление: директива map поддерживает пустые строки в качестве
3009 значения первого параметра.
3010
3011 *) Добавление: директива map поддерживает выражения в первом параметре.
3012
3013 *) Добавление: страница руководства nginx(8).
3014 Спасибо Сергею Осокину.
3015
3016 *) Добавление: поддержка accept4() в Linux.
3017 Спасибо Simon Liu.
3018
3019 *) Изменение: устранение предупреждения линкера о "sys_errlist" и
3020 "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
3021
3022 *) Исправление: при использовании директивы auth_basic в рабочем
3023 процессе мог произойти segmentation fault.
3024 Спасибо Михаилу Лалетину.
3025
3026 *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
3027 появилась в 0.8.42.
3028
3029
3030 Изменения в nginx 0.8.53 18.10.2010
3031
3032 *) Добавление: теперь директива error_page позволяет менять код статуса
3033 у редиректа.
3034
3035 *) Добавление: директива gzip_disable поддерживает специальную маску
3036 degradation.
3037
3038 *) Исправление: при использовании файлового AIO могла происходить утечка
3039 сокетов.
3040 Спасибо Максиму Дунину.
3041
3042 *) Исправление: если в первом сервере не была описана директива listen и
3043 нигде явно не описан сервер по умолчанию, то сервером по умолчанию
3044 становился следующий сервер с директивой listen; ошибка появилась в
3045 0.8.21.
3046
3047
3048 Изменения в nginx 0.8.52 28.09.2010
3049
3050 *) Исправление: nginx использовал режим SSL для listen сокета, если для
3051 него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
3052
3053
3054 Изменения в nginx 0.8.51 27.09.2010
3055
3056 *) Изменение: директива secure_link_expires упразднена.
3057
3058 *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
3059 alert на error.
3060
3061 *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
3062 несколько раз.
3063
3064
3065 Изменения в nginx 0.8.50 02.09.2010
3066
3067 *) Добавление: директивы secure_link, secure_link_md5 и
3068 secure_link_expires модуля ngx_http_secure_link_module.
3069
3070 *) Добавление: ключ -q.
3071 Спасибо Геннадию Махомеду.
3072
3073 *) Исправление: при использовании кэширования рабочие процессы и могли
3074 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
3075
3076 *) Исправление: в директиве gzip_disable.
3077 Спасибо Derrick Petzold.
3078
3079 *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
3080 reopen, reload процессу, запущенному в другой сессии.
3081
3082
3083 Изменения в nginx 0.8.49 09.08.2010
3084
3085 *) Добавление: директива image_filter_jpeg_quality поддерживает
3086 переменные.
3087
3088 *) Исправление: при использовании переменной $geoip_region_name в
3089 рабочем процессе мог произойти segmentation fault; ошибка появилась в
3090 0.8.48.
3091
3092 *) Исправление: ошибки, перехваченные error_page, кэшировались только до
3093 следующего запроса; ошибка появилась в 0.8.48.
3094
3095
3096 Изменения в nginx 0.8.48 03.08.2010
3097
3098 *) Изменение: теперь по умолчанию директива server_name имеет значение
3099 пустое имя "".
3100 Спасибо Геннадию Махомеду.
3101
3102 *) Изменение: теперь по умолчанию директива server_name_in_redirect
3103 имеет значение off.
3104
3105 *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
3106 $geoip_region_name.
3107 Спасибо Christine McGonagle.
3108
3109 *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
3110 scgi_pass не наследовались в блоки limit_except.
3111
3112 *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
3113 uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
3114 появилась в 0.8.46.
3115
3116 *) Исправление: директива fastcgi_split_path_info неверно использовала
3117 выделения, если в выделения попадала только часть URI.
3118 Спасибо Юрию Тарадаю и Frank Enderle.
3119
3120 *) Исправление: директива rewrite не экранировала символ ";" при
3121 копировании из URI в аргументы.
3122 Спасибо Daisuke Murase.
3123
3124 *) Исправление: модуль ngx_http_image_filter_module закрывал соединение,
3125 если изображение было больше размера image_filter_buffer.
3126
3127
3128 Изменения в nginx 0.8.47 28.07.2010
3129
3130 *) Исправление: переменная $request_time имела неверные значения для
3131 подзапросов.
3132
3133 *) Исправление: ошибки, перехваченные error_page, не кэшировались.
3134
3135 *) Исправление: если использовался параметр max_size, то cache manager
3136 мог зациклиться; ошибка появилась в 0.8.46.
3137
3138
3139 Изменения в nginx 0.8.46 19.07.2010
3140
3141 *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
3142 и scgi_no_cache теперь влияют только на сохранение закэшированного
3143 ответа.
3144
3145 *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
3146 uwsgi_cache_bypass и scgi_cache_bypass.
3147
3148 *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
3149 ошибки работы с бэкендом: память освобождалась только по истечении
3150 времени неактивности или при недостатке памяти.
3151
3152
3153 Изменения в nginx 0.8.45 13.07.2010
3154
3155 *) Добавление: улучшения в модуле ngx_http_xslt_filter.
3156 Спасибо Laurence Rowe.
3157
3158 *) Исправление: ответ SSI модуля мог передаваться не полностью после
3159 команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
3160 Спасибо Максиму Дунину.
3161
3162 *) Исправление: директива listen не поддерживала параметр setfib=0.
3163
3164
3165 Изменения в nginx 0.8.44 05.07.2010
3166
3167 *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
3168 заголовке которых есть строка "Set-Cookie".
3169
3170 *) Добавление: директива listen поддерживает параметр setfib.
3171 Спасибо Андрею Филонову.
3172
3173 *) Исправление: директива sub_filter могла изменять регистр букв при
3174 частичном совпадении.
3175
3176 *) Исправление: совместимость с HP/UX.
3177
3178 *) Исправление: совместимость с компилятором AIX xlC_r.
3179
3180 *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
3181 запросы.
3182 Спасибо Miroslaw Jaworski.
3183
3184
3185 Изменения в nginx 0.8.43 30.06.2010
3186
3187 *) Добавление: ускорение загрузки больших баз geo-диапазонов.
3188
3189 *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
3190 без изменения кода ответа оставляло тело ошибки; ошибка появилась в
3191 0.8.42.
3192
3193 *) Исправление: nginx мог закрывать IPv6 listen сокет во время
3194 переконфигурации.
3195 Спасибо Максиму Дунину.
3196
3197 *) Исправление: переменную $uid_set можно использовать на любой стадии
3198 обработки запроса.
3199
3200
3201 Изменения в nginx 0.8.42 21.06.2010
3202
3203 *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
3204 выражениями, если запрос полностью совпал с location'ом, заданным
3205 строкой префикса. Предыдущее поведение появилось в 0.7.1.
3206
3207 *) Добавление: модуль ngx_http_scgi_module.
3208 Спасибо Manlio Perillo.
3209
3210 *) Добавление: в директиве return можно добавлять текст ответа.
3211
3212
3213 Изменения в nginx 0.8.41 15.06.2010
3214
3215 *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
3216 при запросе файла с неверной кодировкой UTF-8.
3217
3218 *) Изменение: теперь nginx разрешает использовать пробелы в строке
3219 запроса.
3220
3221 *) Исправление: директива proxy_redirect неправильно изменяла строку
3222 "Refresh" в заголовке ответа бэкенда.
3223 Спасибо Андрею Андрееву и Максиму Согину.
3224
3225 *) Исправление: nginx не поддерживал путь без имени хоста в строке
3226 "Destination" в заголовке запроса.
3227
3228
3229 Изменения в nginx 0.8.40 07.06.2010
3230
3231 *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
3232 умолчанию.
3233 Спасибо Jose Antonio Vazquez Gonzalez.
3234
3235 *) Добавление: модуль ngx_http_uwsgi_module.
3236 Спасибо Roberto De Ioris.
3237
3238 *) Добавление: директива fastcgi_param со значением, начинающимся со
3239 строки "HTTP_", изменяет строку заголовка в запросе клиента.
3240
3241 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
3242 заголовке запроса клиента передавались FastCGI-серверу при
3243 кэшировании.
3244
3245 *) Исправление: listen unix domain сокет нельзя было изменить во время
3246 переконфигурации.
3247 Спасибо Максиму Дунину.
3248
3249
3250 Изменения в nginx 0.8.39 31.05.2010
3251
3252 *) Исправление: наследуемая директива alias неправильно работала во
3253 вложенном location'е.
3254
3255 *) Исправление: в комбинации директив alias с переменными и try_files;
3256
3257 *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
3258 время обновления без перерыва.
3259 Спасибо Максиму Дунину.
3260
3261
3262 Изменения в nginx 0.8.38 24.05.2010
3263
3264 *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
3265
3266 *) Добавление: теперь при использовании переменной $scheme в директиве
3267 rewrite автоматически делается редирект.
3268 Спасибо Piotr Sikora.
3269
3270 *) Исправление: теперь задержки в директиве limit_req соответствует
3271 описанному алгоритму.
3272 Спасибо Максиму Дунину.
3273
3274 *) Исправление: переменную $uid_got нельзя было использовать в SSI и
3275 перловом модулях.
3276
3277
3278 Изменения в nginx 0.8.37 17.05.2010
3279
3280 *) Добавление: модуль ngx_http_split_clients_module.
3281
3282 *) Добавление: директива map поддерживает ключи больше 255 символов.
3283
3284 *) Исправление: nginx игнорировал значения "private" и "no-store" в
3285 строке "Cache-Control" в заголовке ответа бэкенда.
3286
3287 *) Исправление: параметр stub в SSI-директиве include не использовался,
3288 если пустой ответ имел код 200.
3289
3290 *) Исправление: если проксированный или FastCGI запрос внутренне
3291 перенаправлялся в другой проксированный или FastCGI location, то в
3292 рабочем процессе мог произойти segmentation fault; ошибка появилась в
3293 0.8.33.
3294 Спасибо Yichun Zhang.
3295
3296 *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
3297 таймаута.
3298 Спасибо Alan Batie.
3299
3300
3301 Изменения в nginx 0.8.36 22.04.2010
3302
3303 *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
3304 методы DELETE, COPY и MOVE для симлинков.
3305
3306 *) Исправление: модуль SSI в подзапросах использовал закэшированные в
3307 основном запросе значения переменных $query_string, $arg_... и им
3308 подобных.
3309
3310 *) Исправление: значение переменной повторно экранировалось после
3311 каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
3312
3313 *) Исправление: рабочий процесс зависал при запросе файла FIFO.
3314 Спасибо Vicente Aguilar и Максиму Дунину.
3315
3316 *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
3317 Спасибо Максиму Дунину.
3318
3319 *) Исправление: nginx не собирался с параметром --without-http-cache;
3320 ошибка появилась в 0.8.35.
3321
3322
3323 Изменения в nginx 0.8.35 01.04.2010
3324
3325 *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
3326
3327 *) Добавление: директива chunked_transfer_encoding.
3328
3329 *) Исправление: символ "&" при копировании в аргументы в правилах
3330 rewrite не экранировался.
3331
3332 *) Исправление: nginx мог завершаться аварийно во время обработки
3333 сигнала или при использовании директивы timer_resolution на
3334 платформах, не поддерживающих методы kqueue или eventport.
3335 Спасибо George Xie и Максиму Дунину.
3336
3337 *) Исправление: если временные файлы и постоянное место хранения
3338 располагались на разных файловых системах, то у постоянных файлов
3339 время изменения было неверным.
3340 Спасибо Максиму Дунину.
3341
3342 *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
3343 "memcached sent invalid trailer".
3344 Спасибо Максиму Дунину.
3345
3346 *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
3347 текстов.
3348 Спасибо Максиму Дунину.
3349
3350 *) Исправление: в рабочем процессе происходил segmentation fault, если
3351 перед ответом FastCGI-сервера было много вывода в stderr; ошибка
3352 появилась в 0.8.34.
3353 Спасибо Максиму Дунину.
3354
3355
3356 Изменения в nginx 0.8.34 03.03.2010
3357
3358 *) Исправление: nginx не поддерживал все шифры, используемые в
3359 клиентских сертификатах.
3360 Спасибо Иннокентию Еникееву.
3361
3362 *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
3363 ответом было много вывода в stderr.
3364
3365 *) Исправление: nginx не поддерживал HTTPS-рефереры.
3366
3367 *) Исправление: nginx/Windows мог не находить файлы, если путь в
3368 конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
3369
3370 *) Исправление: переменная $date_local выдавала неверное время, если
3371 использовался формат "%s".
3372 Спасибо Максиму Дунину.
3373
3374 *) Исправление: если ssl_session_cache не был установлен или установлен
3375 в none, то при проверке клиентского сертификаты могла происходить
3376 ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
3377
3378 *) Исправление: geo-диапазон возвращал значение по умолчанию, если
3379 диапазон включал в себя одну и более сетей размером /16 и не
3380 начинался на границе сети размером /16.
3381
3382 *) Исправление: блок, используемый в параметре stub в SSI-директиве
3383 include, выводился с MIME-типом "text/plain".
3384
3385 *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
3386
3387
3388 Изменения в nginx 0.8.33 01.02.2010
3389
3390 *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
3391 Спасибо Dan Crowley, Core Security Technologies.
3392
3393 *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
3394 Спасибо Dan Crowley, Core Security Technologies.
3395
3396 *) Изменение: теперь keepalive соединения после запросов POST не
3397 запрещаются для MSIE 7.0+.
3398 Спасибо Adam Lounds.
3399
3400 *) Изменение: теперь keepalive соединения запрещены для Safari.
3401 Спасибо Joshua Sierles.
3402
3403 *) Исправление: если проксированный или FastCGI запрос внутренне
3404 перенаправлялся в другой проксированный или FastCGI location, то
3405 переменная $upstream_response_time могла иметь ненормально большое
3406 значение; ошибка появилась в 0.8.7.
3407
3408 *) Исправление: в рабочем процессе мог произойти segmentation fault при
3409 отбрасывания тела запроса; ошибка появилась в 0.8.11.
3410
3411
3412 Изменения в nginx 0.8.32 11.01.2010
3413
3414 *) Исправление: ошибки при использовании кодировки UTF-8 в
3415 ngx_http_autoindex_module.
3416 Спасибо Максиму Дунину.
3417
3418 *) Исправление: именованные выделения в регулярных выражениях работали
3419 только для двух переменных.
3420 Спасибо Максиму Дунину.
3421
3422 *) Исправление: теперь в строке заголовка запроса "Host" используется
3423 имя "localhost", если в директиве auth_http указан unix domain сокет.
3424 Спасибо Максиму Дунину.
3425
3426 *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
3427 ответов.
3428 Спасибо Julian Reich.
3429
3430 *) Исправление: если директива "expires modified" выставляла дату в
3431 прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
3432 отрицательное число.
3433 Спасибо Алексею Капранову.
3434
3435
3436 Изменения в nginx 0.8.31 23.12.2009
3437
3438 *) Добавление: теперь директива error_page может перенаправлять ответы
3439 со статусом 301 и 302.
3440
3441 *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
3442 $geoip_longitude.
3443 Спасибо Arvind Sundararajan.
3444
3445 *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет
3446 EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
3447
3448 *) Исправление: nginx закрывал соединение при запросе закэшированного
3449 ответа с пустым телом.
3450 Спасибо Piotr Sikora.
3451
3452 *) Исправление: nginx мог не собираться gcc 4.x при использовании
3453 оптимизации -O2 и выше.
3454 Спасибо Максиму Дунину и Денису Латыпову.
3455
3456 *) Исправление: регулярные выражения в location всегда тестировались с
3457 учётом регистра; ошибка появилась в 0.8.25.
3458
3459 *) Исправление: nginx кэшировал 304 ответ, если в заголовке
3460 проксируемого запроса была строка "If-None-Match".
3461 Спасибо Tim Dettrick и David Kostal.
3462
3463 *) Исправление: nginx/Windows пытался дважды удалить временный файл при
3464 перезаписи уже существующего файла.
3465
3466
3467 Изменения в nginx 0.8.30 15.12.2009
3468
3469 *) Изменение: теперь по умолчанию размер буфера директивы
3470 large_client_header_buffers равен 8K.
3471 Спасибо Andrew Cholakian.
3472
3473 *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
3474
3475 *) Исправление: nginx/Windows пытался дважды переименовать временный
3476 файл при перезаписи уже существующего файла.
3477
3478 *) Исправление: ошибки double free or corruption, возникающей, если имя
3479 хоста не было найдено; ошибка появилась в 0.8.22.
3480 Спасибо Константину Свисту.
3481
3482 *) Исправление: в использовании libatomic на некоторых платформах.
3483 Спасибо W-Mark Kubacki.
3484
3485
3486 Изменения в nginx 0.8.29 30.11.2009
3487
3488 *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код
3489 ответа "009".
3490
3491 *) Добавление: директивы addition_types, charset_types, gzip_types,
3492 ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
3493
3494 *) Добавление: использование встроенных атомарных операций GCC 4.1+.
3495 Спасибо W-Mark Kubacki.
3496
3497 *) Добавление: параметр --with-libatomic[=DIR] в configure.
3498 Спасибо W-Mark Kubacki.
3499
3500 *) Исправление: listen unix domain сокет имели ограниченные права
3501 доступа.
3502
3503 *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
3504 обрабатывались.
3505
3506 *) Исправление: именованные выделения в регулярных выражениях, заданные
3507 как "?P<...>", не работали в директиве server_name.
3508 Спасибо Максиму Дунину.
3509
3510
3511 Изменения в nginx 0.8.28 23.11.2009
3512
3513 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
3514 появилась в 0.8.25.
3515
3516
3517 Изменения в nginx 0.8.27 17.11.2009
3518
3519 *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка
3520 появилась в 0.8.25.
3521
3522
3523 Изменения в nginx 0.8.26 16.11.2009
3524
3525 *) Исправление: ошибки при использовании выделений в директиве rewrite;
3526 ошибка появилась в 0.8.25.
3527
3528 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
3529 появилась в 0.8.25.
3530
3531
3532 Изменения в nginx 0.8.25 16.11.2009
3533
3534 *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
3535 не найдена с помощью метода $r->variable().
3536
3537 *) Добавление: модуль ngx_http_degradation_module.
3538
3539 *) Добавление: именованные выделения в регулярных выражениях.
3540
3541 *) Добавление: теперь при использовании переменных в директиве
3542 proxy_pass не требуется задавать URI.
3543
3544 *) Добавление: теперь директива msie_padding работает и для Chrome.
3545
3546 *) Исправление: в рабочем процессе происходил segmentation fault при
3547 недостатке памяти; ошибка появилась в 0.8.18.
3548
3549 *) Исправление: nginx передавал сжатые ответы клиентам, не
3550 поддерживающим сжатие, при настройках gzip_static on и gzip_vary off;
3551 ошибка появилась в 0.8.16.
3552
3553
3554 Изменения в nginx 0.8.24 11.11.2009
3555
3556 *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
3557 заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
3558
3559 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
3560 появилась в 0.8.23.
3561
3562 *) Исправление: параметр "unix:" в директиве set_real_ip_from
3563 неправильно наследовался с предыдущего уровня.
3564
3565 *) Исправление: в resolver'е при определении пустого имени.
3566
3567
3568 Изменения в nginx 0.8.23 11.11.2009
3569
3570 *) Безопасность: теперь SSL/TLS renegotiation запрещён.
3571 Спасибо Максиму Дунину.
3572
3573 *) Исправление: listen unix domain сокет не наследовался во время
3574 обновления без перерыва.
3575
3576 *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал
3577 без ещё одной директивы с любым IP-адресом.
3578
3579 *) Исправление: segmentation fault и зацикливания в resolver'е.
3580
3581 *) Исправление: в resolver'е.
3582 Спасибо Артёму Бохану.
3583
3584
3585 Изменения в nginx 0.8.22 03.11.2009
3586
3587 *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
3588
3589 *) Добавление: директивы access и deny поддерживают IPv6.
3590
3591 *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
3592 заголовках запроса.
3593
3594 *) Добавление: параметр "unix:" в директиве set_real_ip_from.
3595
3596 *) Исправление: nginx не удалял unix domain сокет после тестирования
3597 конфигурации.
3598
3599 *) Исправление: nginx удалял unix domain сокет во время обновления без
3600 перерыва.
3601
3602 *) Исправление: оператор "!-x" не работал.
3603 Спасибо Максиму Дунину.
3604
3605 *) Исправление: в рабочем процессе мог произойти segmentation fault при
3606 использовании limit_rate в HTTPS сервере.
3607 Спасибо Максиму Дунину.
3608
3609 *) Исправление: при записи в лог переменной $limit_rate в рабочем
3610 процессе происходил segmentation fault.
3611 Спасибо Максиму Дунину.
3612
3613 *) Исправление: в рабочем процессе мог произойти segmentation fault,
3614 если внутри блока server не было директивы listen; ошибка появилась в
3615 0.8.21.
3616
3617
3618 Изменения в nginx 0.8.21 26.10.2009
3619
3620 *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
3621
3622 *) Добавление: директива listen модуля HTTP поддерживает unix domain
3623 сокеты.
3624 Спасибо Hongli Lai.
3625
3626 *) Добавление: параметр "default_server" в директиве listen.
3627
3628 *) Добавление: теперь параметр "default" не обязателен для установки
3629 параметров listen-сокета.
3630
3631 *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
3632 платформах;
3633
3634 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
3635
3636
3637 Изменения в nginx 0.8.20 14.10.2009
3638
3639 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
3640 "HIGH:!ADH:!MD5".
3641
3642 *) Исправление: модуль ngx_http_autoindex_module не показывал последний
3643 слэш для линков на каталоги; ошибка появилась в 0.7.15.
3644
3645 *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
3646 --error-log-path; ошибка появилась в 0.7.53.
3647
3648 *) Исправление: nginx не считал запятую разделителем в строке
3649 "Cache-Control" в заголовке ответа бэкенда.
3650
3651 *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше
3652 или файл с помощью директив proxy/fastcgi_store, если рабочий процесс
3653 не имел достаточно прав для работы с каталогами верхнего уровня.
3654
3655 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
3656 FastCGI-сервера не скрывались при кэшировании, если не использовались
3657 директивы fastcgi_hide_header с любыми параметрами.
3658
3659 *) Исправление: nginx неверно считал размер кэша на диске.
3660
3661
3662 Изменения в nginx 0.8.19 06.10.2009
3663
3664 *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
3665
3666 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
3667 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
3668
3669 *) Исправление: директива limit_req не работала; ошибка появилась в
3670 0.8.18.
3671
3672
3673 Изменения в nginx 0.8.18 06.10.2009
3674
3675 *) Добавление: директива read_ahead.
3676
3677 *) Добавление: теперь можно использовать несколько директив
3678 perl_modules.
3679
3680 *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
3681
3682 *) Исправление: теперь директива limit_req соответствует алгоритму leaky
3683 bucket.
3684 Спасибо Максиму Дунину.
3685
3686 *) Исправление: nginx не работал на Linux/sparc.
3687 Спасибо Marcus Ramberg.
3688
3689 *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в
3690 ответе на запрос MKCOL.
3691 Спасибо Xie Zhenye.
3692
3693 *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
3694 появилась в 0.8.11.
3695
3696 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
3697
3698
3699 Изменения в nginx 0.8.17 28.09.2009
3700
3701 *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
3702 в заголовке запроса.
3703
3704 *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
3705
3706 *) Добавление: переменная $ssl_session_id.
3707
3708 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
3709
3710
3711 Изменения в nginx 0.8.16 22.09.2009
3712
3713 *) Добавление: директива image_filter_transparency.
3714
3715 *) Исправление: директива "addition_types" была неверно названа
3716 "addtion_types".
3717
3718 *) Исправление: порчи кэша resolver'а.
3719 Спасибо Matthew Dempsky.
3720
3721 *) Исправление: утечки памяти в resolver'е.
3722 Спасибо Matthew Dempsky.
3723
3724 *) Исправление: неверная строка запроса в переменной $request
3725 записывалась в access_log только при использовании error_log на
3726 уровне info или debug.
3727
3728 *) Исправление: в поддержке альфа-канала PNG в модуле
3729 ngx_http_image_filter_module.
3730
3731 *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
3732 заголовок ответа, если обе директивы gzip_static и gzip_vary были
3733 включены.
3734
3735 *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
3736 nginx/Windows.
3737
3738 *) Исправление: ошибки при использовании post_action; ошибка появилась в
3739 0.8.11.
3740 Спасибо Игорю Артемьеву.
3741
3742
3743 Изменения в nginx 0.8.15 14.09.2009
3744
3745 *) Безопасность: при обработке специально созданного запроса в рабочем
3746 процессе мог произойти segmentation fault.
3747 Спасибо Chris Ries.
3748
3749 *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
3750 .domain-some.tld, то имя .sub.domain.tld попадало под маску
3751 .domain.tld.
3752
3753 *) Исправление: в поддержке прозрачности в модуле
3754 ngx_http_image_filter_module.
3755
3756 *) Исправление: в файловом AIO.
3757
3758 *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
3759 появилась в 0.8.11.
3760
3761 *) Исправление: ошибки при использовании встроенного перла; ошибка
3762 появилась в 0.8.11.
3763
3764
3765 Изменения в nginx 0.8.14 07.09.2009
3766
3767 *) Исправление: устаревший закэшированный запрос мог залипнуть в
3768 состоянии "UPDATING".
3769
3770 *) Исправление: при использовании error_log на уровне info или debug в
3771 рабочем процессе мог произойти segmentation fault.
3772 Спасибо Сергею Боченкову.
3773
3774 *) Исправление: ошибки при использовании встроенного перла; ошибка
3775 появилась в 0.8.11.
3776
3777 *) Исправление: директива error_page не перенаправляла ошибку 413;
3778 ошибка появилась в 0.6.10.
3779
3780
3781 Изменения в nginx 0.8.13 31.08.2009
3782
3783 *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
3784
3785 *) Исправление: nginx не собирался без параметра --with-file-aio на
3786 FreeBSD; ошибка появилась в 0.8.12.
3787
3788
3789 Изменения в nginx 0.8.12 31.08.2009
3790
3791 *) Добавление: параметр sendfile в директиве aio во FreeBSD.
3792
3793 *) Исправление: ошибки при использовании try_files; ошибка появилась в
3794 0.8.11.
3795
3796 *) Исправление: ошибки при использовании memcached; ошибка появилась в
3797 0.8.11.
3798
3799
3800 Изменения в nginx 0.8.11 28.08.2009
3801
3802 *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
3803 для MSIE 6.0 SV1.
3804
3805 *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
3806
3807 *) Добавление: директива directio_alignment.
3808
3809
3810 Изменения в nginx 0.8.10 24.08.2009
3811
3812 *) Исправление: утечек памяти при использовании базы GeoIP City.
3813
3814 *) Исправление: ошибки при копировании временных файлов в постоянное
3815 место хранения; ошибка появилась в 0.8.9.
3816
3817
3818 Изменения в nginx 0.8.9 17.08.2009
3819
3820 *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
3821 процесс; это должно улучшить обработку больших кэшей.
3822
3823 *) Добавление: теперь временные файлы и постоянное место хранения могут
3824 располагаться на разных файловых системах.
3825
3826
3827 Изменения в nginx 0.8.8 10.08.2009
3828
3829 *) Исправление: в обработке заголовков ответа, разделённых в
3830 FastCGI-записях.
3831
3832 *) Исправление: если запрос обрабатывался в двух проксированных или
3833 FastCGI location'ах и в первом из них использовалось кэширование, то
3834 в рабочем процессе происходил segmentation fault; ошибка появилась в
3835 0.8.7.
3836
3837
3838 Изменения в nginx 0.8.7 27.07.2009
3839
3840 *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
3841
3842 *) Изменение: параметр ask директивы ssl_verify_client изменён на
3843 параметр optional и теперь он проверяет клиентский сертификат, если
3844 он был предложен.
3845 Спасибо Brice Figureau.
3846
3847 *) Добавление: переменная $ssl_client_verify.
3848 Спасибо Brice Figureau.
3849
3850 *) Добавление: директива ssl_crl.
3851 Спасибо Brice Figureau.
3852
3853 *) Добавление: параметр proxy директивы geo.
3854
3855 *) Добавление: директива image_filter поддерживает переменные для
3856 задания размеров.
3857
3858 *) Исправление: использование переменной $ssl_client_cert портило
3859 память; ошибка появилась в 0.7.7.
3860 Спасибо Сергею Журавлёву.
3861
3862 *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
3863 передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
3864 "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда.
3865 Спасибо Максиму Дунину.
3866
3867 *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
3868 заголовке ответа бэкенда; ошибка появилась в 0.7.44.
3869 Спасибо Максиму Дунину.
3870
3871 *) Исправление: ошибки "[alert] zero size buf" при получении пустых
3872 ответы в подзапросах; ошибка появилась в 0.8.5.
3873
3874
3875 Изменения в nginx 0.8.6 20.07.2009
3876
3877 *) Добавление: модуль ngx_http_geoip_module.
3878
3879 *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
3880 document" для правильного документа.
3881 Спасибо Kuramoto Eiji.
3882
3883 *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
3884 location'ов, заданных регулярным выражением, теперь всегда делается
3885 сравнение без учёта регистра символов.
3886
3887 *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
3888 Спасибо Hugo Leisink.
3889
3890 *) Исправление: имя файла указанного в --conf-path игнорировалось при
3891 установке; ошибка появилась в 0.6.6.
3892 Спасибо Максиму Дунину.
3893
3894
3895 Изменения в nginx 0.8.5 13.07.2009
3896
3897 *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
3898
3899 *) Исправление: при использовании HTTP Basic-аутентификации на Windows
3900 для неверных имени/пароля возвращалась 500-ая ошибка.
3901
3902 *) Исправление: ответы модуля ngx_http_perl_module не работали в
3903 подзапросах.
3904
3905 *) Исправление: в модуле ngx_http_limit_req_module.
3906 Спасибо Максиму Дунину.
3907
3908
3909 Изменения в nginx 0.8.4 22.06.2009
3910
3911 *) Исправление: nginx не собирался с параметром --without-http-cache;
3912 ошибка появилась в 0.8.3.
3913
3914
3915 Изменения в nginx 0.8.3 19.06.2009
3916
3917 *) Добавление: переменная $upstream_cache_status.
3918
3919 *) Исправление: nginx не собирался на MacOSX 10.6.
3920
3921 *) Исправление: nginx не собирался с параметром --without-http-cache;
3922 ошибка появилась в 0.8.2.
3923
3924 *) Исправление: если использовался перехват 401 ошибки от бэкенда и
3925 бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
3926 в рабочем процессе происходил segmentation fault.
3927 Спасибо Евгению Мычло.
3928
3929
3930 Изменения в nginx 0.8.2 15.06.2009
3931
3932 *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
3933 на старте.
3934
3935 *) Исправление: open_file_cache мог кэшировать открытые файлы очень
3936 долго; ошибка появилась в 0.7.4.
3937
3938
3939 Изменения в nginx 0.8.1 08.06.2009
3940
3941 *) Добавление: параметр updating в директивах proxy_cache_use_stale и
3942 fastcgi_cache_use_stale.
3943
3944 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
3945 заголовке запроса клиента передавались бэкенду при кэшировании, если
3946 не использовалась директива proxy_set_header с любыми параметрами.
3947
3948 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
3949 не скрывались при кэшировании, если не использовались директивы
3950 proxy_hide_header/fastcgi_hide_header с любыми параметрами.
3951
3952 *) Исправление: модуль ngx_http_image_filter_module не понимал формат
3953 GIF87a.
3954 Спасибо Денису Ильиных.
3955
3956 *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
3957 появилась в 0.7.56.
3958
3959
3960 Изменения в nginx 0.8.0 02.06.2009
3961
3962 *) Добавление: директива keepalive_requests.
3963
3964 *) Добавление: директива limit_rate_after.
3965 Спасибо Ivan Debnar.
3966
3967 *) Исправление: XSLT-фильтр не работал в подзапросах.
3968
3969 *) Исправление: обработке относительных путей в nginx/Windows.
3970
3971 *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
3972 fastcgi_cache в nginx/Windows.
3973
3974 *) Исправление: в обработке ошибок выделения памяти.
3975 Спасибо Максиму Дунину и Кириллу Коринскому.
3976
3977
3978 Изменения в nginx 0.7.59 25.05.2009
3979
3980 *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
3981
3982 *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
3983 Спасибо Максиму Дунину.
3984
3985 *) Исправление: при использовании переменной $request_body в рабочем
3986 процессе происходил segmentation fault, если в запросе не было тела;
3987 ошибка появилась в 0.7.58.
3988
3989 *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
3990 ошибка появилась в 0.7.56.
3991
3992 *) Исправление: ответы модуля ngx_http_xslt_filter_module не
3993 обрабатывались SSI-, charset- и gzip-фильтрами.
3994
3995 *) Исправление: директива charset не ставила кодировку для ответов
3996 модуля ngx_http_gzip_static_module.
3997
3998
3999 Изменения в nginx 0.7.58 18.05.2009
4000
4001 *) Добавление: директива listen почтового прокси-сервера поддерживает
4002 IPv6.
4003
4004 *) Добавление: директива image_filter_jpeg_quality.
4005
4006 *) Добавление: директива client_body_in_single_buffer.
4007
4008 *) Добавление: переменная $request_body.
4009
4010 *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
4011 файлов, содержащих символ ":".
4012
4013 *) Исправление: процедура "make upgrade" не работала; ошибка появилась в
4014 0.7.53.
4015 Спасибо Денису Латыпову.
4016
4017
4018 Изменения в nginx 0.7.57 12.05.2009
4019
4020 *) Исправление: при перенаправлении ошибок модуля
4021 ngx_http_image_filter_module в именованный location в рабочем
4022 процессе происходил floating-point fault; ошибка появилась в 0.7.56.
4023
4024
4025 Изменения в nginx 0.7.56 11.05.2009
4026
4027 *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля
4028 HTTP.
4029
4030 *) Исправление: в модуле ngx_http_image_filter_module.
4031
4032
4033 Изменения в nginx 0.7.55 06.05.2009
4034
4035 *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
4036 fastcgi_cache_use_stale не работали.
4037
4038 *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
4039 заголовка.
4040
4041 *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
4042 nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
4043
4044 *) Исправление: при использовании директивы debug_connection в рабочем
4045 процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
4046
4047 *) Исправление: в сборке модуля ngx_http_image_filter_module.
4048
4049 *) Исправление: файлы больше 2G не передавались с использованием
4050 $r->sendfile.
4051 Спасибо Максиму Дунину.
4052
4053
4054 Изменения в nginx 0.7.54 01.05.2009
4055
4056 *) Добавление: модуль ngx_http_image_filter_module.
4057
4058 *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
4059
4060 *) Исправление: при использовании переменных "open_file_cache_errors on"
4061 в рабочем процессе мог произойти segmentation fault; ошибка появилась
4062 в 0.7.53.
4063
4064 *) Исправление: директива "port_in_redirect off" не работала; ошибка
4065 появилась в 0.7.39.
4066
4067 *) Исправление: улучшение обработки ошибок метода select.
4068
4069 *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
4070
4071 *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
4072 ошибка появилась в 0.7.53.
4073
4074
4075 Изменения в nginx 0.7.53 27.04.2009
4076
4077 *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
4078 самого начала работы.
4079
4080 *) Добавление: теперь ошибки и предупреждения при старте записываются в
4081 error_log и выводятся на stderr.
4082
4083 *) Добавление: при сборке с пустым параметром --prefix= nginx использует
4084 как префикс каталог, в котором он был запущен.
4085
4086 *) Добавление: ключ -p.
4087
4088 *) Добавление: ключ -s на Unix-платформах.
4089
4090 *) Добавление: ключи -? и -h.
4091 Спасибо Jerome Loyet.
4092
4093 *) Добавление: теперь ключи можно задавать в сжатой форме.
4094
4095 *) Исправление: nginx/Windows не работал, если файл конфигурации был
4096 задан ключом -c.
4097
4098 *) Исправление: при использовании директив proxy_store, fastcgi_store,
4099 proxy_cache или fastcgi_cache временные файлы могли не удаляться.
4100 Спасибо Максиму Дунину.
4101
4102 *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
4103 почтового прокси-сервера передавалось неверное значение; ошибка
4104 появилась в 0.7.34.
4105 Спасибо Simon Lecaille.
4106
4107 *) Исправление: при логгировании на Linux не писались текстовые описания
4108 системных ошибок; ошибка появилась в 0.7.45.
4109
4110 *) Исправление: директива fastcgi_cache_min_uses не работала.
4111 Спасибо Андрею Воробьёву.
4112
4113
4114 Изменения в nginx 0.7.52 20.04.2009
4115
4116 *) Добавление: первая бинарная версия под Windows.
4117
4118 *) Исправление: корректная обработка метода HEAD при кэшировании.
4119
4120 *) Исправление: корректная обработка строк "If-Modified-Since",
4121 "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
4122
4123 *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
4124 заголовке ответа для закэшированных ответов.
4125
4126 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
4127 perl поддерживал потоки, то при выходе основного процесса могла
4128 выдаваться ошибка "panic: MUTEX_LOCK".
4129
4130 *) Исправление: nginx не собирался с параметром --without-http-cache;
4131 ошибка появилась в 0.7.48.
4132
4133 *) Исправление: nginx не собирался на платформах, отличных от i386,
4134 amd64, sparc и ppc; ошибка появилась в 0.7.42.
4135
4136
4137 Изменения в nginx 0.7.51 12.04.2009
4138
4139 *) Добавление: директива try_files поддерживает код ответа в последнем
4140 параметре.
4141
4142 *) Добавление: теперь в директиве return можно использовать любой код
4143 ответа.
4144
4145 *) Исправление: директива error_page делала внешний редирект без строки
4146 запроса; ошибка появилась в 0.7.44.
4147
4148 *) Исправление: если сервера слушали на нескольких явно описанных
4149 адресах, то виртуальные сервера могли не работать; ошибка появилась в
4150 0.7.39.
4151
4152
4153 Изменения в nginx 0.7.50 06.04.2009
4154
4155 *) Исправление: переменные $arg_... не работали; ошибка появилась в
4156 0.7.49.
4157
4158
4159 Изменения в nginx 0.7.49 06.04.2009
4160
4161 *) Исправление: при использовании переменных $arg_... в рабочем процессе
4162 мог произойти segmentation fault; ошибка появилась в 0.7.48.
4163
4164
4165 Изменения в nginx 0.7.48 06.04.2009
4166
4167 *) Добавление: директива proxy_cache_key.
4168
4169 *) Исправление: теперь nginx учитывает при кэшировании строки
4170 "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
4171 бэкенда.
4172
4173 *) Исправление: теперь nginx кэширует только ответы на запросы GET.
4174
4175 *) Исправление: директива fastcgi_cache_key не наследовалась.
4176
4177 *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
4178 Спасибо Максиму Дунину.
4179
4180 *) Исправление: nginx не собирался с библиотекой uclibc.
4181 Спасибо Timothy Redaelli.
4182
4183 *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
4184 в 0.7.46.
4185
4186
4187 Изменения в nginx 0.7.47 01.04.2009
4188
4189 *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
4190 ошибка появилась в 0.7.46.
4191
4192 *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
4193
4194 *) Исправление: если использовался параметр max_size, то cache manager
4195 мог удалить весь кэш; ошибка появилась в 0.7.46.
4196
4197 *) Изменение: в рабочем процессе мог произойти segmentation fault, если
4198 директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
4199 fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
4200 в 0.7.46.
4201
4202 *) Исправление: в рабочем процессе мог произойти segmentation fault при
4203 перенаправлении запроса проксированному или FastCGI-серверу с помощью
4204 error_page или try_files; ошибка появилась в 0.7.44.
4205
4206
4207 Изменения в nginx 0.7.46 30.03.2009
4208
4209 *) Исправление: архив предыдущего релиза был неверным.
4210
4211
4212 Изменения в nginx 0.7.45 30.03.2009
4213
4214 *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
4215 задавать на разных уровнях.
4216
4217 *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
4218
4219 *) Добавление: параметр max_size в директиве proxy_cache_path.
4220
4221 *) Добавление: предварительная поддержка кэширования в модуле
4222 ngx_http_fastcgi_module.
4223
4224 *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
4225 указываются названия директивы и зоны.
4226
4227 *) Исправление: директива "add_header last-modified ''" не удаляла в
4228 заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
4229
4230 *) Исправление: в директиве auth_basic_user_file не работал
4231 относительный путь, заданный строкой без переменных; ошибка появилась
4232 в 0.7.44.
4233 Спасибо Jerome Loyet.
4234
4235 *) Исправление: в директиве alias, заданной переменными без ссылок на
4236 выделения в регулярных выражениях; ошибка появилась в 0.7.42.
4237
4238
4239 Изменения в nginx 0.7.44 23.03.2009
4240
4241 *) Добавление: предварительная поддержка кэширования в модуле
4242 ngx_http_proxy_module.
4243
4244 *) Добавление: параметр --with-pcre в configure.
4245
4246 *) Добавление: теперь директива try_files может быть использована на
4247 уровне server.
4248
4249 *) Исправление: директива try_files неправильно обрабатывала строку
4250 запроса в последнем параметре.
4251
4252 *) Исправление: директива try_files могла неверно тестировать каталоги.
4253
4254 *) Исправление: если для пары адрес:порт описан только один сервер, то
4255 выделения в регулярных выражениях в директиве server_name не
4256 работали.
4257
4258
4259 Изменения в nginx 0.7.43 18.03.2009
4260
4261 *) Исправление: запрос обрабатывался неверно, если директива root
4262 использовала переменные; ошибка появилась в 0.7.42.
4263
4264 *) Исправление: если сервер слушал на адресах типа "*", то значение
4265 переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
4266
4267
4268 Изменения в nginx 0.7.42 16.03.2009
4269
4270 *) Изменение: ошибка "Invalid argument", возвращаемая
4271 setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
4272
4273 *) Изменение: при отсутствии файла, указанного в директиве
4274 auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
4275
4276 *) Добавление: директива auth_basic_user_file поддерживает переменные.
4277 Спасибо Кириллу Коринскому.
4278
4279 *) Добавление: директива listen поддерживает параметр ipv6only.
4280 Спасибо Zhang Hua.
4281
4282 *) Исправление: в директиве alias со ссылками на выделения в регулярных
4283 выражениях; ошибка появилась в 0.7.40.
4284
4285 *) Исправление: совместимость с Tru64 UNIX.
4286 Спасибо Dustin Marquess.
4287
4288 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
4289 в 0.7.41.
4290
4291
4292 Изменения в nginx 0.7.41 11.03.2009
4293
4294 *) Исправление: в рабочем процессе мог произойти segmentation fault,
4295 если в server_name или location были выделения в регулярных
4296 выражениях; ошибка появилась в 0.7.40.
4297 Спасибо Владимиру Сопоту.
4298
4299
4300 Изменения в nginx 0.7.40 09.03.2009
4301
4302 *) Добавление: директива location поддерживает выделения в регулярных
4303 выражениях.
4304
4305 *) Добавление: директиву alias с ссылками на выделения в регулярных
4306 выражениях можно использовать внутри location'а, заданного регулярным
4307 выражением с выделениями.
4308
4309 *) Добавление: директива server_name поддерживает выделения в регулярных
4310 выражениях.
4311
4312 *) Изменение: модуль ngx_http_autoindex_module не показывал последний
4313 слэш для каталогов на файловой системе XFS; ошибка появилась в
4314 0.7.15.
4315 Спасибо Дмитрию Кузьменко.
4316
4317
4318 Изменения в nginx 0.7.39 02.03.2009
4319
4320 *) Исправление: при включённом сжатии большие ответы с использованием
4321 SSI могли зависать; ошибка появилась в 0.7.28.
4322 Спасибо Артёму Бохану.
4323
4324 *) Исправление: при использовании коротких статических вариантов в
4325 директиве try_files в рабочем процессе мог произойти segmentation
4326 fault.
4327
4328
4329 Изменения в nginx 0.7.38 23.02.2009
4330
4331 *) Добавление: логгирование ошибок аутентификации.
4332
4333 *) Исправление: имя/пароль, заданные в auth_basic_user_file,
4334 игнорировались после нечётного числа пустых строк.
4335 Спасибо Александру Загребину.
4336
4337 *) Исправление: при использовании длинного пути в unix domain сокете в
4338 главном процессе происходил segmentation fault; ошибка появилась в
4339 0.7.36.
4340
4341
4342 Изменения в nginx 0.7.37 21.02.2009
4343
4344 *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
4345 появилась в 0.7.36.
4346
4347
4348 Изменения в nginx 0.7.36 21.02.2009
4349
4350 *) Добавление: предварительная поддержка IPv6; директива listen модуля
4351 HTTP поддерживает IPv6.
4352
4353 *) Исправление: переменная $ancient_browser не работала для браузеров,
4354 заданных директивами modern_browser.
4355
4356
4357 Изменения в nginx 0.7.35 16.02.2009
4358
4359 *) Исправление: директива ssl_engine не использовала SSL-акселератор для
4360 асимметричных шифров.
4361 Спасибо Marcin Gozdalik.
4362
4363 *) Исправление: директива try_files выставляла MIME-type, исходя из
4364 расширения первоначального запроса.
4365
4366 *) Исправление: в директивах server_name, valid_referers и map
4367 неправильно обрабатывались имена вида "*domain.tld", если
4368 использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
4369 ошибка появилась в 0.7.9.
4370
4371
4372 Изменения в nginx 0.7.34 10.02.2009
4373
4374 *) Добавление: параметр off в директиве if_modified_since.
4375
4376 *) Добавление: теперь после команды XCLIENT nginx посылает команду
4377 HELO/EHLO.
4378 Спасибо Максиму Дунину.
4379
4380 *) Добавление: поддержка Microsoft-специфичного режима
4381 "AUTH LOGIN with User Name" в почтовом прокси-сервере.
4382 Спасибо Максиму Дунину.
4383
4384 *) Исправление: в директиве rewrite, возвращающей редирект, старые
4385 аргументы присоединялись к новым через символ "?" вместо "&";
4386 ошибка появилась в 0.1.18.
4387 Спасибо Максиму Дунину.
4388
4389 *) Исправление: nginx не собирался на AIX.
4390
4391
4392 Изменения в nginx 0.7.33 02.02.2009
4393
4394 *) Исправление: если на запрос с телом возвращался редирект, то ответ
4395 мог быть двойным при использовании методов epoll или rtsig.
4396 Спасибо Eden Li.
4397
4398 *) Исправление: для некоторых типов редиректов в переменной
4399 $sent_http_location было пустое значение.
4400
4401 *) Исправление: при использовании директивы resolver в SMTP
4402 прокси-сервере в рабочем процессе мог произойти segmentation fault.
4403
4404
4405 Изменения в nginx 0.7.32 26.01.2009
4406
4407 *) Добавление: теперь в директиве try_files можно явно указать проверку
4408 каталога.
4409
4410 *) Исправление: fastcgi_store не всегда сохранял файлы.
4411
4412 *) Исправление: в гео-диапазонах.
4413
4414 *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
4415 если nginx был собран без отладки.
4416 Спасибо Андрею Квасову.
4417
4418
4419 Изменения в nginx 0.7.31 19.01.2009
4420
4421 *) Изменение: теперь директива try_files проверяет только файлы,
4422 игнорируя каталоги.
4423
4424 *) Добавление: директива fastcgi_split_path_info.
4425
4426 *) Исправления в поддержке строки "Expect" в заголовке запроса.
4427
4428 *) Исправления в гео-диапазонах.
4429
4430 *) Исправление: при отсутствии ответа ngx_http_memcached_module
4431 возвращал в теле ответа строку "END" вместо 404-ой страницы по
4432 умолчанию; ошибка появилась в 0.7.18.
4433 Спасибо Максиму Дунину.
4434
4435 *) Исправление: при проксировании SMTP nginx выдавал сообщение
4436 "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
4437 Спасибо Максиму Дунину.
4438
4439
4440 Изменения в nginx 0.7.30 24.12.2008
4441
4442 *) Исправление: в рабочем процессе происходил segmentation fault, если в
4443 директивах fastcgi_pass или proxy_pass использовались переменные и
4444 имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
4445
4446
4447 Изменения в nginx 0.7.29 24.12.2008
4448
4449 *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
4450 переменные при использовании unix domain сокетов.
4451
4452 *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
4453
4454 *) Исправление: ответ "100 Continue" выдавался для запросов версии
4455 HTTP/1.0;
4456 Спасибо Максиму Дунину.
4457
4458 *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
4459 под Cygwin.
4460
4461
4462 Изменения в nginx 0.7.28 22.12.2008
4463
4464 *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
4465
4466 *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
4467 с 4 4k/8k на 32 4k или 16 8k.
4468
4469
4470 Изменения в nginx 0.7.27 15.12.2008
4471
4472 *) Добавление: директива try_files.
4473
4474 *) Добавление: директива fastcgi_pass поддерживает переменные.
4475
4476 *) Добавление: теперь директива geo может брать адрес из переменной.
4477 Спасибо Андрею Нигматулину.
4478
4479 *) Добавление: теперь модификатор location'а можно указывать без пробела
4480 перед названием.
4481
4482 *) Добавление: переменная $upstream_response_length.
4483
4484 *) Исправление: теперь директива add_header не добавляет пустое
4485 значение.
4486
4487 *) Исправление: при запросе файла нулевой длины nginx закрывал
4488 соединение, ничего не передав; ошибка появилась в 0.7.25.
4489
4490 *) Исправление: метод MOVE не мог перемещать файл в несуществующий
4491 каталог.
4492
4493 *) Исправление: если в сервере не был описан ни один именованный
4494 location, но такой location использовался в директиве error_page, то
4495 в рабочем процессе происходил segmentation fault.
4496 Спасибо Сергею Боченкову.
4497
4498
4499 Изменения в nginx 0.7.26 08.12.2008
4500
4501 *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
4502
4503
4504 Изменения в nginx 0.7.25 08.12.2008
4505
4506 *) Изменение: в обработке подзапросов.
4507
4508 *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
4509 заголовке запроса.
4510
4511 *) Исправление: теперь директивы limit_req и limit_conn указывают
4512 причину запрета запроса.
4513
4514 *) Исправление: в параметре delete директивы geo.
4515
4516
4517 Изменения в nginx 0.7.24 01.12.2008
4518
4519 *) Добавление: директива if_modified_since.
4520
4521 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
4522 ответом сервер передавал много сообщений в stderr.
4523
4524 *) Исправление: переменные "$cookie_..." не работали в SSI and в
4525 перловом модуле.
4526
4527
4528 Изменения в nginx 0.7.23 27.11.2008
4529
4530 *) Добавление: параметры delete и ranges в директиве geo.
4531
4532 *) Добавление: ускорение загрузки geo-базы с большим числом значений.
4533
4534 *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
4535
4536
4537 Изменения в nginx 0.7.22 20.11.2008
4538
4539 *) Добавление: параметр none в директиве smtp_auth.
4540 Спасибо Максиму Дунину.
4541
4542 *) Добавление: переменные "$cookie_...".
4543
4544 *) Исправление: директива directio не работала с файловой системой XFS.
4545
4546 *) Исправление: resolver не понимал большие DNS-ответы.
4547 Спасибо Zyb.
4548
4549
4550 Изменения в nginx 0.7.21 11.11.2008
4551
4552 *) Изменения в модуле ngx_http_limit_req_module.
4553
4554 *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
4555 Спасибо Денису Латыпову.
4556
4557 *) Изменение: совместимость с glibc 2.3.
4558 Спасибо Eric Benson и Максиму Дунину.
4559
4560 *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
4561 ошибка появилась в 0.7.6.
4562
4563
4564 Изменения в nginx 0.7.20 10.11.2008
4565
4566 *) Изменения в модуле ngx_http_gzip_filter_module.
4567
4568 *) Добавление: модуль ngx_http_limit_req_module.
4569
4570 *) Исправление: на платформах sparc и ppc рабочие процессы могли
4571 выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
4572 Спасибо Максиму Дунину.
4573
4574 *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
4575 работали; ошибка появилась в 0.7.12.
4576
4577 *) Исправление: при использовании HTTPS запросы могли завершаться с
4578 ошибкой "bad write retry".
4579
4580 *) Исправление: модуль ngx_http_secure_link_module не работал внутри
4581 location'ов с именами меньше 3 символов.
4582
4583 *) Исправление: переменная $server_addr могла не иметь значения.
4584
4585
4586 Изменения в nginx 0.7.19 13.10.2008
4587
4588 *) Исправление: обновление номера версии.
4589
4590
4591 Изменения в nginx 0.7.18 13.10.2008
4592
4593 *) Изменение: директива underscores_in_headers; теперь nginx по
4594 умолчанию не разрешает подчёркивания в именах строк в заголовке
4595 запроса клиента.
4596
4597 *) Добавление: модуль ngx_http_secure_link_module.
4598
4599 *) Добавление: директива real_ip_header поддерживает любой заголовок.
4600
4601 *) Добавление: директива log_subrequest.
4602
4603 *) Добавление: переменная $realpath_root.
4604
4605 *) Добавление: параметры http_502 и http_504 в директиве
4606 proxy_next_upstream.
4607
4608 *) Исправление: параметр http_503 в директивах proxy_next_upstream или
4609 fastcgi_next_upstream не работал.
4610
4611 *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
4612 для запросов HEAD.
4613
4614 *) Исправление: теперь accept-лимит зависит от числа worker_connections.
4615
4616
4617 Изменения в nginx 0.7.17 15.09.2008
4618
4619 *) Добавление: директива directio теперь работает на Linux.
4620
4621 *) Добавление: переменная $pid.
4622
4623 *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
4624 при использовании open_file_cache.
4625
4626 *) Исправление: access_log с переменными не работал на Linux; ошибка
4627 появилась в 0.7.7.
4628
4629 *) Исправление: модуль ngx_http_charset_module не понимал название
4630 кодировки в кавычках, полученное от бэкенда.
4631
4632
4633 Изменения в nginx 0.7.16 08.09.2008
4634
4635 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
4636 появилась в 0.7.15.
4637
4638
4639 Изменения в nginx 0.7.15 08.09.2008
4640
4641 *) Добавление: модуль ngx_http_random_index_module.
4642
4643 *) Добавление: директива directio оптимизирована для запросов файлов,
4644 начинающихся с произвольной позиции.
4645
4646 *) Добавление: директива directio при необходимости запрещает
4647 использование sendfile.
4648
4649 *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
4650 заголовке запроса клиента.
4651
4652
4653 Изменения в nginx 0.7.14 01.09.2008
4654
4655 *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
4656 имеют значений по умолчанию.
4657
4658 *) Добавление: директива listen поддерживает параметр ssl.
4659
4660 *) Добавление: теперь при переконфигурации nginx учитывает изменение
4661 временной зоны на FreeBSD и Linux.
4662
4663 *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
4664 прочие, не устанавливались, если сервером по умолчанию был не первый
4665 сервер.
4666
4667 *) Исправление: при использовании в качестве аргументов части URI,
4668 выделенного с помощью директивы rewrite, эти аргументы не
4669 экранировались.
4670
4671 *) Исправление: улучшения тестирования правильности конфигурационного
4672 файла.
4673
4674
4675 Изменения в nginx 0.7.13 26.08.2008
4676
4677 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
4678 в 0.7.12.
4679
4680
4681 Изменения в nginx 0.7.12 26.08.2008
4682
4683 *) Добавление: директива server_name поддерживает пустое имя "".
4684
4685 *) Добавление: директива gzip_disable поддерживает специальную маску
4686 msie6.
4687
4688 *) Исправление: при использовании параметра max_fails=0 в upstream'е с
4689 несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
4690 Спасибо Максиму Дунину.
4691
4692 *) Исправление: при перенаправлении запроса с помощью директивы
4693 error_page терялось тело запроса.
4694
4695 *) Исправление: при перенаправлении запроса с методом HEAD с помощью
4696 директивы error_page возвращался полный ответ.
4697
4698 *) Исправление: метод $r->header_in() не возвращал значения строк
4699 "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
4700 появилась в 0.7.0.
4701
4702
4703 Изменения в nginx 0.7.11 18.08.2008
4704
4705 *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
4706 MIME-типом text/css.
4707
4708 *) Добавление: теперь nginx возвращает код 405 для метода POST при
4709 запросе статического файла, только если файл существует.
4710
4711 *) Добавление: директива proxy_ssl_session_reuse.
4712
4713 *) Исправление: после перенаправления запроса с помощью
4714 "X-Accel-Redirect" директива proxy_pass без URI могла использовать
4715 оригинальный запрос.
4716
4717 *) Исправление: если у каталога были права доступа только на поиск
4718 файлов и первый индексный файл отсутствовал, то nginx возвращал
4719 ошибку 500.
4720
4721 *) Исправление: ошибок во вложенных location'ах; ошибки появились в
4722 0.7.1.
4723
4724
4725 Изменения в nginx 0.7.10 13.08.2008
4726
4727 *) Исправление: ошибок в директивах addition_types, charset_types,
4728 gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
4729 появились в 0.7.9.
4730
4731 *) Исправление: рекурсивной error_page для 500 ошибки.
4732
4733 *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес
4734 не для всего keepalive соединения, а для каждого запроса по этому
4735 соединению.
4736
4737
4738 Изменения в nginx 0.7.9 12.08.2008
4739
4740 *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
4741 следующими MIME-типами: text/html, text/css, text/xml, text/plain,
4742 text/vnd.wap.wml, application/x-javascript и application/rss+xml.
4743
4744 *) Добавление: директивы charset_types и addition_types.
4745
4746 *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types
4747 используют хэш.
4748
4749 *) Добавление: модуль ngx_cpp_test_module.
4750
4751 *) Добавление: директива expires поддерживает суточное время.
4752
4753 *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module.
4754 Спасибо Денису Латыпову и Максиму Дунину.
4755
4756 *) Исправление: директива log_not_found не работала при поиске индексных
4757 файлов.
4758
4759 *) Исправление: HTTPS-соединения могли зависнуть, если использовались
4760 методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
4761
4762 *) Исправление: если в директивах server_name, valid_referers и map
4763 использовалась маска вида "*.domain.tld" и при этом полное имя вида
4764 "domain.tld" не было описано, то это имя попадало под маску; ошибка
4765 появилась в 0.3.18.
4766
4767
4768 Изменения в nginx 0.7.8 04.08.2008
4769
4770 *) Добавление: модуль ngx_http_xslt_module.
4771
4772 *) Добавление: переменные "$arg_...".
4773
4774 *) Добавление: поддержка directio в Solaris.
4775 Спасибо Ivan Debnar.
4776
4777 *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
4778 в заголовке ответа без строки статуса, то nginx использует код
4779 статуса 302.
4780 Спасибо Максиму Дунину.
4781
4782
4783 Изменения в nginx 0.7.7 30.07.2008
4784
4785 *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
4786 временной.
4787
4788 *) Изменение: значением переменной $ssl_client_cert теперь является
4789 сертификат, перед каждой строкой которого, кроме первой, вставляется
4790 символ табуляции; неизменённый сертификат доступен через переменную
4791 $ssl_client_raw_cert.
4792
4793 *) Добавление: параметр ask директивы ssl_verify_client.
4794
4795 *) Добавление: улучшения в обработке byte-range.
4796 Спасибо Максиму Дунину.
4797
4798 *) Добавление: директива directio.
4799 Спасибо Jiang Hong.
4800
4801 *) Добавление: поддержка sendfile() в MacOSX 10.5.
4802
4803 *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
4804 делается сравнение без учёта регистра символов; однако, сравнение
4805 ограничено только однобайтными locale'ями.
4806
4807 *) Исправление: соединения почтового прокси-сервера зависали в режиме
4808 SSL, если использовались методы select, poll или /dev/poll.
4809
4810 *) Исправление: ошибки при использовании кодировки UTF-8 в
4811 ngx_http_autoindex_module.
4812
4813
4814 Изменения в nginx 0.7.6 07.07.2008
4815
4816 *) Исправление: теперь при использовании переменных в директиве
4817 access_log всегда проверяется существовании root'а для запроса.
4818
4819 *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
4820 значений в аргументах запроса.
4821
4822
4823 Изменения в nginx 0.7.5 01.07.2008
4824
4825 *) Исправления в поддержке переменных в директиве access_log; ошибки
4826 появились в 0.7.4.
4827
4828 *) Исправление: nginx не собирался с параметром
4829 --without-http_gzip_module; ошибка появилась в 0.7.3.
4830 Спасибо Кириллу Коринскому.
4831
4832 *) Исправление: при совместном использовании sub_filter и SSI ответы
4833 могли передаваться неверно.
4834
4835
4836 Изменения в nginx 0.7.4 30.06.2008
4837
4838 *) Добавление: директива access_log поддерживает переменные.
4839
4840 *) Добавление: директива open_log_file_cache.
4841
4842 *) Добавление: ключ -g.
4843
4844 *) Добавление: поддержка строки "Expect" в заголовке запроса.
4845
4846 *) Исправление: большие включения в SSI могли передавались не полностью.
4847
4848
4849 Изменения в nginx 0.7.3 23.06.2008
4850
4851 *) Изменение: MIME-тип для расширения rss изменён на
4852 "application/rss+xml".
4853
4854 *) Изменение: теперь директива "gzip_vary on" выдаёт строку
4855 "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
4856
4857 *) Добавление: теперь при использовании протокола "https://" в директиве
4858 rewrite автоматически делается редирект.
4859
4860 *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
4861 ошибка появилась в 0.6.9.
4862
4863
4864 Изменения в nginx 0.7.2 16.06.2008
4865
4866 *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
4867
4868 *) Добавление: директива ssl_dhparam.
4869
4870 *) Добавление: переменная $ssl_client_cert.
4871 Спасибо Manlio Perillo.
4872
4873 *) Исправление: после изменения URI с помощью директивы rewrite nginx не
4874 искал новый location; ошибка появилась в 0.7.1.
4875 Спасибо Максиму Дунину.
4876
4877 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
4878 в 0.7.1.
4879
4880 *) Исправление: при редиректе запроса к каталогу с добавлением слэша
4881 nginx не добавлял аргументы из оригинального запроса.
4882
4883
4884 Изменения в nginx 0.7.1 26.05.2008
4885
4886 *) Изменение: теперь поиск location'а делается с помощью дерева.
4887
4888 *) Изменение: директива optimize_server_names упразднена в связи с
4889 появлением директивы server_name_in_redirect.
4890
4891 *) Изменение: некоторые давно устаревшие директивы больше не
4892 поддерживаются.
4893
4894 *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот
4895 параметр используется по умолчанию.
4896 Спасибо Rob Mueller.
4897
4898 *) Исправление: рабочие процессы могли не реагировать на сигналы
4899 переконфигурации и ротации логов.
4900
4901 *) Исправление: nginx не собирался на последних Fedora 9 Linux.
4902 Спасибо Roxis.
4903
4904
4905 Изменения в nginx 0.7.0 19.05.2008
4906
4907 *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
4908 записываются в виде \xXX.
4909 Спасибо Максиму Дунину.
4910
4911 *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
4912 запроса.
4913
4914 *) Добавление: директива expires поддерживает флаг modified.
4915
4916 *) Добавление: переменные $uid_got и $uid_set можно использовать на
4917 любой стадии обработки запроса.
4918
4919 *) Добавление: переменная $hostname.
4920 Спасибо Андрею Нигматулину.
4921
4922 *) Добавление: поддержка DESTDIR.
4923 Спасибо Todd A. Fisher и Andras Voroskoi.
4924
4925 *) Исправление: при использовании keepalive на Linux в рабочем процессе
4926 мог произойти segmentation fault.
4927
4928
4929 Изменения в nginx 0.6.31 12.05.2008
4930
4931 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
4932 заголовка ответа была в конце записи FastCGI; ошибка появилась в
4933 0.6.2.
4934 Спасибо Сергею Серову.
4935
4936 *) Исправление: при удалении файла и использовании директивы
4937 open_file_cache_errors off в рабочем процессе мог произойти
4938 segmentation fault.
4939
4940
4941 Изменения в nginx 0.6.30 29.04.2008
4942
4943 *) Изменение: теперь, если маске, заданной в директиве include, не
4944 соответствует ни один файл, то nginx не выдаёт ошибку.
4945
4946 *) Добавление: теперь время в директивах можно задавать без пробела,
4947 например, "1h50m".
4948
4949 *) Исправление: утечек памяти, если директива ssl_verify_client имела
4950 значение on.
4951 Спасибо Chavelle Vincent.
4952
4953 *) Исправление: директива sub_filter могла вставлять заменяемый текст в
4954 вывод.
4955
4956 *) Исправление: директива error_page не воспринимала параметры в
4957 перенаправляемом URI.
4958
4959 *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
4960 в бинарном режиме.
4961
4962 *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
4963 0.6.15.
4964
4965
4966 Изменения в nginx 0.6.29 18.03.2008
4967
4968 *) Добавление: модуль ngx_google_perftools_module.
4969
4970 *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
4971 платформах; ошибка появилась в 0.6.27.
4972
4973
4974 Изменения в nginx 0.6.28 13.03.2008
4975
4976 *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
4977
4978
4979 Изменения в nginx 0.6.27 12.03.2008
4980
4981 *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
4982 rtsig.
4983
4984 *) Изменение: теперь при перенаправлении запроса в именованный location
4985 с помощью директивы error_page метод запроса не изменяется.
4986
4987 *) Добавление: директивы resolver и resolver_timeout в SMTP
4988 прокси-сервере.
4989
4990 *) Добавление: директива post_action поддерживает именованные
4991 location'ы.
4992
4993 *) Исправление: при перенаправлении запроса из location'а c обработчиком
4994 proxy, FastCGI или memcached в именованный location со статическим
4995 обработчиком в рабочем процессе происходил segmentation fault.
4996
4997 *) Исправление: браузеры не повторяли SSL handshake, если при первом
4998 handshake не оказалось правильного клиентского сертификата.
4999 Спасибо Александру Инюхину.
5000
5001 *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
5002 error_page без изменения кода ошибки nginx пытался выделить очень
5003 много памяти.
5004
5005 *) Исправление: утечки памяти в долгоживущих небуфферизированных
5006 соединениях.
5007
5008 *) Исправление: утечки памяти в resolver'е.
5009
5010 *) Исправление: при перенаправлении запроса из location'а c обработчиком
5011 proxy в другой location с обработчиком proxy в рабочем процессе
5012 происходил segmentation fault.
5013
5014 *) Исправление: ошибки в кэшировании переменных $proxy_host и
5015 $proxy_port.
5016 Спасибо Сергею Боченкову.
5017
5018 *) Исправление: директива proxy_pass с переменными использовала порт,
5019 описанной в другой директиве proxy_pass без переменных, но с таким же
5020 именем хоста.
5021 Спасибо Сергею Боченкову.
5022
5023 *) Исправление: во время переконфигурации на некоторых 64-битном
5024 платформах в лог записывался alert "sendmsg() failed (9: Bad file
5025 descriptor)".
5026
5027 *) Исправление: при повторном использовании в SSI пустого block'а в
5028 качестве заглушки в рабочем процессе происходил segmentation fault.
5029
5030 *) Исправление: ошибки при копировании части URI, содержащего
5031 экранированные символы, в аргументы.
5032
5033
5034 Изменения в nginx 0.6.26 11.02.2008
5035
5036 *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину
5037 ответа.
5038
5039 *) Исправление: при использовании большого значения в директиве expires
5040 в рабочем процессе происходил segmentation fault.
5041 Спасибо Joaquin Cuenca Abela.
5042
5043 *) Исправление: nginx неверно определял длину строки кэша на Pentium 4.
5044 Спасибо Геннадию Махомеду.
5045
5046 *) Исправление: в проксированных подзапросах и подзапросах к
5047 FastCGI-серверу вместо метода GET использовался оригинальный метод
5048 клиента.
5049
5050 *) Исправление: утечки сокетов в режиме HTTPS при использовании
5051 отложенного accept'а.
5052 Спасибо Ben Maurer.
5053
5054 *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed
5055 (SSL: )"; ошибка появилась в 0.6.23.
5056
5057 *) Исправление: при использовании HTTPS запросы могли завершаться с
5058 ошибкой "bad write retry"; ошибка появилась в 0.6.23.
5059
5060
5061 Изменения в nginx 0.6.25 08.01.2008
5062
5063 *) Изменение: вместо специального параметра "*" в директиве server_name
5064 теперь используется директива server_name_in_redirect.
5065
5066 *) Изменение: в качестве основного имени в директиве server_name теперь
5067 можно использовать имена с масками и регулярными выражениями.
5068
5069 *) Изменение: директива satisfy_any заменена директивой satisfy.
5070
5071 *) Изменение: после переконфигурации старые рабочие процесс могли сильно
5072 нагружать процессор при запуске под Linux OpenVZ.
5073
5074 *) Добавление: директива min_delete_depth.
5075
5076 *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
5077
5078 *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
5079 модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
5080
5081 *) Исправление: утечки сокетов в режиме HTTPS при использовании
5082 отложенного accept'а.
5083 Спасибо Ben Maurer.
5084
5085 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
5086 в 0.6.23.
5087
5088
5089 Изменения в nginx 0.6.24 27.12.2007
5090
5091 *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
5092 segmentation fault; ошибка появилась в 0.6.23.
5093
5094
5095 Изменения в nginx 0.6.23 27.12.2007
5096
5097 *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
5098 параметр используется по умолчанию.
5099
5100 *) Изменение: директива open_file_cache_retest переименована в
5101 open_file_cache_valid.
5102
5103 *) Добавление: директива open_file_cache_min_uses.
5104
5105 *) Добавление: модуль ngx_http_gzip_static_module.
5106
5107 *) Добавление: директива gzip_disable.
5108
5109 *) Добавление: директиву memcached_pass можно использовать внутри блока
5110 if.
5111
5112 *) Исправление: если внутри одного location'а использовались директивы
5113 "memcached_pass" и "if", то в рабочем процессе происходил
5114 segmentation fault.
5115
5116 *) Исправление: если при использовании директивы satisfy_any on" были
5117 заданы директивы не всех модулей доступа, то заданные директивы не
5118 проверялись.
5119
5120 *) Исправление: параметры, заданные регулярным выражением в директиве
5121 valid_referers, не наследовалась с предыдущего уровня.
5122
5123 *) Исправление: директива post_action не работала, если запрос
5124 завершался с кодом 499.
5125
5126 *) Исправление: оптимизация использования 16K буфера для SSL-соединения.
5127 Спасибо Ben Maurer.
5128
5129 *) Исправление: STARTTLS в режиме SMTP не работал.
5130 Спасибо Олегу Мотиенко.
5131
5132 *) Исправление: при использовании HTTPS запросы могли завершаться с
5133 ошибкой "bad write retry"; ошибка появилась в 0.5.13.
5134
5135
5136 Изменения в nginx 0.6.22 19.12.2007
5137
5138 *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
5139 значения, скопированные в память, выделенную perl'ом.
5140
5141 *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
5142 использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
5143 время переконфигурации основной процесс аварийно выходил; ошибка
5144 появилась в 0.5.9.
5145 Спасибо Борису Жмурову.
5146
5147 *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
5148 неверные результаты выделения в регулярных выражениях.
5149
5150 *) Исправление: если метод $r->has_request_body() вызывался для запроса,
5151 у которого небольшое тело запроса было уже полностью получено, то в
5152 рабочем процессе происходил segmentation fault.
5153
5154 *) Исправление: large_client_header_buffers не освобождались перед
5155 переходом в состояние keep-alive.
5156 Спасибо Олександру Штепе.
5157
5158 *) Исправление: в переменной $upstream_addr не записывался последний
5159 адрес; ошибка появилась в 0.6.18.
5160
5161 *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
5162 теперь она возвращает ошибку 502, которую можно направить на
5163 следующий сервер с помощью "fastcgi_next_upstream invalid_header".
5164
5165 *) Исправление: при использовании директивы fastcgi_catch_stderr в
5166 основном процессе происходил segmentation fault; ошибка появилась в
5167 0.6.10.
5168 Спасибо Manlio Perillo.
5169
5170
5171 Изменения в nginx 0.6.21 03.12.2007
5172
5173 *) Изменение: если в значениях переменных директивы proxy_pass
5174 используются только IP-адреса, то указывать resolver не нужно.
5175
5176 *) Исправление: при использовании директивы proxy_pass c URI-частью в
5177 рабочем процессе мог произойти segmentation fault; ошибка появилась в
5178 0.6.19.
5179
5180 *) Исправление: если resolver использовался на платформах, не
5181 поддерживающих метод kqueue, то nginx выдавал alert "name is out of
5182 response".
5183 Спасибо Андрею Нигматулину.
5184
5185 *) Исправление: При использовании переменной $server_protocol в
5186 FastCGI-параметрах и запросе, длина которого была близка к значению
5187 директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
5188 the request record is too big".
5189
5190 *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
5191 nginx возвращал обычный ответ.
5192
5193
5194 Изменения в nginx 0.6.20 28.11.2007
5195
5196 *) Исправление: при использовании директивы proxy_pass c URI-частью в
5197 рабочем процессе мог произойти segmentation fault; ошибка появилась в
5198 0.6.19.
5199
5200
5201 Изменения в nginx 0.6.19 27.11.2007
5202
5203 *) Исправление: версия 0.6.18 не собиралась.
5204
5205
5206 Изменения в nginx 0.6.18 27.11.2007
5207
5208 *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером
5209 процесса добавляет микросекунды на время старта.
5210
5211 *) Изменение: в error_log теперь записывается полная строка запроса
5212 вместо только URI.
5213
5214 *) Добавление: директива proxy_pass поддерживает переменные.
5215
5216 *) Добавление: директивы resolver и resolver_timeout.
5217
5218 *) Добавление: теперь директива "add_header last-modified ''" удаляет в
5219 заголовке ответа строку "Last-Modified".
5220
5221 *) Исправление: директива limit_rate не позволяла передавать на полной
5222 скорости, даже если был указан очень большой лимит.
5223
5224
5225 Изменения в nginx 0.6.17 15.11.2007
5226
5227 *) Добавление: поддержка строки "If-Range" в заголовке запроса.
5228 Спасибо Александру Инюхину.
5229
5230 *) Исправление: при использовании директивы msie_refresh повторно
5231 экранировались уже экранированные символы; ошибка появилась в 0.6.4.
5232
5233 *) Исправление: директива autoindex не работала при использовании "alias
5234 /".
5235
5236 *) Исправление: при использовании подзапросов в рабочем процессе мог
5237 произойти segmentation fault.
5238
5239 *) Исправление: при использовании SSL и gzip большие ответы могли
5240 передаваться не полностью.
5241
5242 *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
5243 то переменная $status была равна 0.
5244
5245
5246 Изменения в nginx 0.6.16 29.10.2007
5247
5248 *) Изменение: теперь на Linux используется uname(2) вместо procfs.
5249 Спасибо Илье Новикову.
5250
5251 *) Исправление: если в директиве error_page использовался символ "?", то
5252 он экранировался при проксировании запроса; ошибка появилась в
5253 0.6.11.
5254
5255 *) Исправление: совместимость с mget.
5256
5257
5258 Изменения в nginx 0.6.15 22.10.2007
5259
5260 *) Добавление: совместимость с Cygwin.
5261 Спасибо Владимиру Кутакову.
5262
5263 *) Добавление: директива merge_slashes.
5264
5265 *) Добавление: директива gzip_vary.
5266
5267 *) Добавление: директива server_tokens.
5268
5269 *) Исправление: nginx не раскодировал URI в команде SSI include.
5270
5271 *) Исправление: при использовании переменной в директивах charset или
5272 source_charset на старте или во время переконфигурации происходил
5273 segmentation fault,
5274
5275 *) Исправление: nginx возвращал ошибку 400 на запросы вида
5276 "GET http://www.domain.com HTTP/1.0".
5277 Спасибо James Oakley.
5278
5279 *) Исправление: после перенаправления запроса с телом запроса с помощью
5280 директивы error_page nginx пытался снова прочитать тело запроса;
5281 ошибка появилась в 0.6.7.
5282
5283 *) Исправление: в рабочем процессе происходил segmentation fault, если у
5284 сервера, обрабатывающему запрос, не был явно определён server_name;
5285 ошибка появилась в 0.6.7.
5286
5287
5288 Изменения в nginx 0.6.14 15.10.2007
5289
5290 *) Изменение: теперь по умолчанию команда SSI echo использует
5291 кодирование entity.
5292
5293 *) Добавление: параметр encoding в команде SSI echo.
5294
5295 *) Добавление: директиву access_log можно использовать внутри блока
5296 limit_except.
5297
5298 *) Исправление: если все сервера апстрима оказывались недоступными, то
5299 до восстановления работоспособности у всех серверов вес становился
5300 равным одному; ошибка появилась в 0.6.6.
5301
5302 *) Исправление: при использовании переменных $date_local и $date_gmt вне
5303 модуля ngx_http_ssi_filter_module в рабочем процессе происходил
5304 segmentation fault.
5305
5306 *) Исправление: при использовании включённом отладочном логе в рабочем
5307 процессе мог произойти segmentation fault.
5308 Спасибо Андрею Нигматулину.
5309
5310 *) Исправление: ngx_http_memcached_module не устанавливал
5311 $upstream_response_time.
5312 Спасибо Максиму Дунину.
5313
5314 *) Исправление: рабочий процесс мог зациклиться при использовании
5315 memcached.
5316
5317 *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
5318 строке "Connection" в заголовке запроса только, если они были в
5319 нижнем регистре; ошибка появилась в 0.6.11.
5320
5321 *) Исправление: sub_filter не работал с пустой строкой замены.
5322
5323 *) Исправление: в парсинге sub_filter.
5324
5325
5326 Изменения в nginx 0.6.13 24.09.2007
5327
5328 *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
5329 использовался autoindex
5330 Спасибо Arkadiusz Patyk.
5331
5332
5333 Изменения в nginx 0.6.12 21.09.2007
5334
5335 *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
5336 и smtp.
5337
5338 *) Добавление: параметры конфигурации --without-mail_pop3_module,
5339 --without-mail_imap_module и --without-mail_smtp_module.
5340
5341 *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля
5342 ngx_mail_smtp_module.
5343
5344 *) Исправление: wildcard в конце имени сервера не работали; ошибка
5345 появилась в 0.6.9.
5346
5347 *) Исправление: при использовании разделяемой библиотеки PCRE,
5348 расположенной в нестандартном месте, nginx не запускался на Solaris.
5349
5350 *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
5351 скрывали строки заголовка ответа с именем больше 32 символов.
5352 Спасибо Manlio Perillo.
5353
5354
5355 Изменения в nginx 0.6.11 11.09.2007
5356
5357 *) Исправление: счётчик активных соединений всегда рос при использовании
5358 почтового прокси-сервера.
5359
5360 *) Исправление: если бэкенд возвращал только заголовок ответа при
5361 небуферизированном проксировании, то nginx закрывал соединение с
5362 бэкендом по таймауту.
5363
5364 *) Исправление: nginx не поддерживал несколько строк "Connection" в
5365 заголовке запроса.
5366
5367 *) Исправление: если в сервере апстрима был задан max_fails, то после
5368 первой же неудачной попытки вес сервера навсегда становился равным
5369 одному; ошибка появилась в 0.6.6.
5370
5371
5372 Изменения в nginx 0.6.10 03.09.2007
5373
5374 *) Добавление: директивы open_file_cache, open_file_cache_retest и
5375 open_file_cache_errors.
5376
5377 *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
5378
5379 *) Исправление: В строку заголовка ответа "Content-Type", указанную в
5380 методе $r->send_http_header(), не добавлялась кодировка, указанная в
5381 директиве charset.
5382
5383 *) Исправление: при использовании метода /dev/poll в рабочем процессе
5384 мог произойти segmentation fault.
5385
5386
5387 Изменения в nginx 0.6.9 28.08.2007
5388
5389 *) Исправление: рабочий процесс мог зациклиться при использовании
5390 протокола HTTPS; ошибка появилась в 0.6.7.
5391
5392 *) Исправление: если сервер слушал на двух адресах или портах, то nginx
5393 не запускался при использовании wildcard в конце имени сервера.
5394
5395 *) Исправление: директива ip_hash могла неверно помечать сервера как
5396 нерабочие.
5397
5398 *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
5399
5400
5401 Изменения в nginx 0.6.8 20.08.2007
5402
5403 *) Изменение: теперь nginx пытается установить директивы
5404 worker_priority, worker_rlimit_nofile, worker_rlimit_core,
5405 worker_rlimit_sigpending без привилегий root'а.
5406
5407 *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче
5408 запроса серверу аутентификации почтового прокси-сервера.
5409
5410 *) Изменение: теперь nginx экранирует символ "%" в переменной
5411 $memcached_key.
5412
5413 *) Исправление: при указании относительного пути к конфигурационному
5414 файлу в качестве параметра ключа -c nginx определял путь относительно
5415 конфигурационного префикса; ошибка появилась в 0.6.6.
5416
5417 *) Исправление: nginx не работал на FreeBSD/sparc64.
5418
5419
5420 Изменения в nginx 0.6.7 15.08.2007
5421
5422 *) Изменение: теперь пути, указанные в директивах include,
5423 auth_basic_user_file, perl_modules, ssl_certificate,
5424 ssl_certificate_key и ssl_client_certificate, определяются
5425 относительно каталога конфигурационного файла nginx.conf, а не
5426 относительно префикса.
5427
5428 *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
5429
5430 *) Изменение: для обновления на лету версий 0.1.x создан специальный
5431 сценарий make upgrade1.
5432
5433 *) Добавление: директивы server_name и valid_referers поддерживают
5434 регулярные выражения.
5435
5436 *) Добавление: директива server в блоке upstream поддерживает параметр
5437 backup.
5438
5439 *) Добавление: модуль ngx_http_perl_module поддерживает метод
5440 $r->discard_request_body.
5441
5442 *) Добавление: директива "add_header Last-Modified ..." меняет строку
5443 "Last-Modified" в заголовке ответа.
5444
5445 *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
5446 отличным от 200, и после этого запроса соединение переходило в
5447 состояние keep-alive, то на следующий запрос nginx возвращал 400.
5448
5449 *) Исправление: если в директиве auth_http был задан неправильный адрес,
5450 то в рабочем процессе происходил segmentation fault.
5451
5452 *) Исправление: теперь по умолчанию nginx использует значение 511 для
5453 listen backlog на всех платформах, кроме FreeBSD.
5454 Спасибо Jiang Hong.
5455
5456 *) Исправление: рабочий процесс мог зациклиться, если server в блоке
5457 upstream был помечен как down; ошибка появилась в 0.6.6.
5458
5459 *) Исправление: sendfilev() в Solaris теперь не используется при
5460 передаче тела запроса FastCGI-серверу через unix domain сокет.
5461
5462
5463 Изменения в nginx 0.6.6 30.07.2007
5464
5465 *) Добавление: параметр --sysconfdir=PATH в configure.
5466
5467 *) Добавление: именованные location'ы.
5468
5469 *) Добавление: переменную $args можно устанавливать с помощью set.
5470
5471 *) Добавление: переменная $is_args.
5472
5473 *) Исправление: равномерное распределение запросов к апстримам с
5474 большими весами.
5475
5476 *) Исправление: если клиент в почтовом прокси-сервере закрывал
5477 соединение, то nginx мог не закрывать соединение с бэкендом.
5478
5479 *) Исправление: при использовании одного хоста в качестве бэкендов для
5480 протоколов HTTP и HTTPS без явного указания портов, nginx использовал
5481 только один порт - 80 или 443.
5482
5483 *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
5484 более ранними версиями; ошибка появилась в 0.6.4.
5485
5486
5487 Изменения в nginx 0.6.5 23.07.2007
5488
5489 *) Добавление: переменная $nginx_version.
5490 Спасибо Николаю Гречуху.
5491
5492 *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме
5493 IMAP.
5494 Спасибо Максиму Дунину.
5495
5496 *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
5497 SMTP.
5498 Спасибо Максиму Дунину.
5499
5500 *) Исправление: теперь nginx экранирует пробел в переменной
5501 $memcached_key.
5502
5503 *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64.
5504 Спасибо Jiang Hong.
5505
5506 *) Исправление: незначительных потенциальных ошибок.
5507 Спасибо Coverity's Scan.
5508
5509
5510 Изменения в nginx 0.6.4 17.07.2007
5511
5512 *) Безопасность: при использовании директивы msie_refresh был возможен
5513 XSS.
5514 Спасибо Максиму Богуку.
5515
5516 *) Изменение: директивы proxy_store и fastcgi_store изменены.
5517
5518 *) Добавление: директивы proxy_store_access и fastcgi_store_access.
5519
5520 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
5521 Studio.
5522 Спасибо Андрею Нигматулину.
5523
5524 *) Изменение: обход ошибки в Sun Studio 12.
5525 Спасибо Jiang Hong.
5526
5527
5528 Изменения в nginx 0.6.3 12.07.2007
5529
5530 *) Добавление: директивы proxy_store и fastcgi_store.
5531
5532 *) Исправление: при использовании директивы auth_http_header в рабочем
5533 процессе мог произойти segmentation fault.
5534 Спасибо Максиму Дунину.
5535
5536 *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
5537 не был разрешён, то в рабочем процессе происходил segmentation fault.
5538
5539 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
5540 в рабочем процессе мог произойти segmentation fault.
5541
5542 *) Исправление: в рабочем процессе мог произойти segmentation fault,
5543 если использовался метод eventport.
5544
5545 *) Исправление: директивы proxy_ignore_client_abort и
5546 fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
5547
5548
5549 Изменения в nginx 0.6.2 09.07.2007
5550
5551 *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то
5552 nginx передавал клиенту мусор в таких заголовках.
5553
5554
5555 Изменения в nginx 0.6.1 17.06.2007
5556
5557 *) Исправление: в парсинге SSI.
5558
5559 *) Исправление: при использовании удалённого подзапроса в SSI
5560 последующий подзапрос локального файла мог отдаваться клиенту в
5561 неверном порядке.
5562
5563 *) Исправление: большие включения в SSI, сохранённые во временные файлы,
5564 передавались не полностью.
5565
5566 *) Исправление: значение perl'овой переменной $$ модуля
5567 ngx_http_perl_module было равно номеру главного процесса.
5568
5569
5570 Изменения в nginx 0.6.0 14.06.2007
5571
5572 *) Добавление: директивы "server_name", "map", and "valid_referers"
5573 поддерживают маски вида "www.example.*".
5574
5575
5576 Изменения в nginx 0.5.25 11.06.2007
5577
5578 *) Исправление: nginx не собирался с параметром
5579 --without-http_rewrite_module; ошибка появилась в 0.5.24.
5580
5581
5582 Изменения в nginx 0.5.24 06.06.2007
5583
5584 *) Безопасность: директива ssl_verify_client не работала, если запрос
5585 выполнялся по протоколу HTTP/0.9.
5586
5587 *) Исправление: при использовании сжатия часть ответа могла передаваться
5588 несжатой; ошибка появилась в 0.5.23.
5589
5590
5591 Изменения в nginx 0.5.23 04.06.2007
5592
5593 *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
5594 Server Name Indication.
5595
5596 *) Добавление: директива fastcgi_catch_stderr.
5597 Спасибо Николаю Гречуху, проект OWOX.
5598
5599 *) Исправление: на Линуксе в основном процессе происходил segmentation
5600 fault, если два виртуальных сервера должны bind()ится к
5601 пересекающимся портам.
5602
5603 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
5604 perl поддерживал потоки, то во время второй переконфигурации
5605 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
5606
5607 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
5608
5609
5610 Изменения в nginx 0.5.22 29.05.2007
5611
5612 *) Исправление: большое тело запроса могло не передаваться бэкенду;
5613 ошибка появилась в 0.5.21.
5614
5615
5616 Изменения в nginx 0.5.21 28.05.2007
5617
5618 *) Исправление: если внутри сервера описано больше примерно десяти
5619 location'ов, то location'ы, заданные с помощью регулярного выражения,
5620 могли выполняться не в том, порядке, в каком они описаны.
5621
5622 *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
5623 если 33-тий по счёту или последующий бэкенд упал.
5624 Спасибо Антону Поварову.
5625
5626 *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог
5627 произойти bus error.
5628 Спасибо Андрею Нигматулину.
5629
5630 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
5631
5632
5633 Изменения в nginx 0.5.20 07.05.2007
5634
5635 *) Добавление: директива sendfile_max_chunk.
5636
5637 *) Добавление: переменные "$http_...", "$sent_http_..." и
5638 "$upstream_http_..." можно менять директивой set.
5639
5640 *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
5641 рабочем процессе мог произойти segmentation fault.
5642
5643 *) Исправление: завершающая строка multipart range ответа передавалась
5644 неверно.
5645 Спасибо Evan Miller.
5646
5647 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
5648 Studio.
5649 Спасибо Андрею Нигматулину.
5650
5651 *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris.
5652 Спасибо Андрею Нигматулину.
5653
5654
5655 Изменения в nginx 0.5.19 24.04.2007
5656
5657 *) Изменение: значение переменной $request_time теперь записывается с
5658 точностью до миллисекунд.
5659
5660 *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
5661 переименован в $r->flush.
5662
5663 *) Добавление: переменная $upstream_addr.
5664
5665 *) Добавление: директивы proxy_headers_hash_max_size и
5666 proxy_headers_hash_bucket_size.
5667 Спасибо Володымыру Костырко.
5668
5669 *) Исправление: при использовании sendfile и limit_rate на 64-битных
5670 платформах нельзя было передавать файлы больше 2G.
5671
5672 *) Исправление: при использовании sendfile на 64-битном Linux нельзя
5673 было передавать файлы больше 2G.
5674
5675
5676 Изменения в nginx 0.5.18 19.04.2007
5677
5678 *) Добавление: модуль ngx_http_sub_filter_module.
5679
5680 *) Добавление: переменные "$upstream_http_...".
5681
5682 *) Добавление: теперь переменные $upstream_status и
5683 $upstream_response_time содержат данные о всех обращениях к
5684 апстримам, сделанным до X-Accel-Redirect.
5685
5686 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
5687 perl не поддерживал multiplicity, то после первой переконфигурации и
5688 после получения любого сигнала в основном процессе происходил
5689 segmentation fault; ошибка появилась в 0.5.9.
5690
5691 *) Исправление: если perl не поддерживал multiplicity, то после
5692 переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
5693
5694
5695 Изменения в nginx 0.5.17 02.04.2007
5696
5697 *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
5698
5699 *) Добавление: теперь nginx поддерживает директиву include внутри блока
5700 types.
5701
5702 *) Исправление: использование переменной $document_root в директиве root
5703 и alias запрещено: оно вызывало рекурсивное переполнение стека.
5704
5705 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
5706
5707 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
5708 $uri) возвращали старое закэшированное значение.
5709
5710
5711 Изменения в nginx 0.5.16 26.03.2007
5712
5713 *) Исправление: в качестве ключа для хэша в директиве ip_hash не
5714 использовалась сеть класса С.
5715 Спасибо Павлу Ярковому.
5716
5717 *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
5718 был указан charset и строка завершалась символом ";", то в рабочем
5719 процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
5720
5721 *) Исправление: ошибки "[alert] zero size buf" при работе с
5722 FastCGI-сервером, если тело запроса, записанное во временный файл,
5723 было кратно 32K.
5724
5725 *) Исправление: nginx не собирался на Solaris без параметра
5726 --with-debug; ошибка появилась в 0.5.15.
5727
5728
5729 Изменения в nginx 0.5.15 19.03.2007
5730
5731 *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
5732 SMTP-проксирование и директивы smtp_auth, smtp_capabilities и
5733 xclient.
5734 Спасибо Антону Южанинову и Максиму Дунину.
5735
5736 *) Добавление: теперь keep-alive соединения закрываются сразу же по
5737 получении сигнала переконфигурации.
5738
5739 *) Изменение: директивы imap и auth переименованы соответственно в mail
5740 и pop3_auth.
5741
5742 *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
5743 был разрешён метод APOP, то в рабочем процессе происходил
5744 segmentation fault.
5745
5746 *) Исправление: при использовании директивы starttls only в протоколе
5747 POP3 nginx разрешал аутентификацию без перехода в режим SSL.
5748
5749 *) Исправление: рабочие процессы не выходили после переконфигурации и не
5750 переоткрывали логи, если использовался метод eventport.
5751
5752 *) Исправление: при использовании директивы ip_hash рабочий процесс мог
5753 зациклиться.
5754
5755 *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
5756 используются методы eventport или /dev/poll.
5757
5758
5759 Изменения в nginx 0.5.14 23.02.2007
5760
5761 *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
5762 конфигурационного файла.
5763
5764
5765 Изменения в nginx 0.5.13 19.02.2007
5766
5767 *) Добавление: методы COPY и MOVE.
5768
5769 *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
5770 запросов, переданных по keep-alive соединению.
5771
5772 *) Исправление: nginx не работал на 64-битном big-endian Linux.
5773 Спасибо Андрею Нигматулину.
5774
5775 *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
5776 теперь сразу закрывает соединение, а не по таймауту.
5777
5778 *) Исправление: если при использовании метода epoll клиент закрывал
5779 преждевременно соединение со своей стороны, то nginx закрывал это
5780 соединение только по истечении таймаута на передачу.
5781
5782 *) Исправление: nginx не собирался на платформах, отличных от i386,
5783 amd64, sparc и ppc; ошибка появилась в 0.5.8.
5784
5785
5786 Изменения в nginx 0.5.12 12.02.2007
5787
5788 *) Исправление: nginx не собирался на платформах, отличных от i386,
5789 amd64, sparc и ppc; ошибка появилась в 0.5.8.
5790
5791 *) Исправление: при использовании временных файлов в время работы с
5792 FastCGI-сервером в рабочем процессе мог произойти segmentation fault;
5793 ошибка появилась в 0.5.8.
5794
5795 *) Исправление: если переменная $fastcgi_script_name записывалась в лог,
5796 то в рабочем процессе мог произойти segmentation fault.
5797
5798 *) Исправление: ngx_http_perl_module не собирался на Solaris.
5799
5800
5801 Изменения в nginx 0.5.11 05.02.2007
5802
5803 *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts.
5804 Спасибо Chris McGrath.
5805
5806 *) Исправление: ответ был неверным, если запрашивалось несколько
5807 диапазонов; ошибка появилась в 0.5.6.
5808
5809 *) Исправление: директива create_full_put_path не могла создавать
5810 промежуточные каталоги, если не была установлена директива
5811 dav_access.
5812 Спасибо Evan Miller.
5813
5814 *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
5815 записываться код "0".
5816
5817 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
5818 произойти segmentation fault.
5819
5820
5821 Изменения в nginx 0.5.10 26.01.2007
5822
5823 *) Исправление: во время обновления исполняемого файла новый процесс не
5824 наследовал слушающие сокеты; ошибка появилась в 0.5.9.
5825
5826 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
5827 произойти segmentation fault; ошибка появилась в 0.5.1.
5828
5829
5830 Изменения в nginx 0.5.9 25.01.2007
5831
5832 *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
5833 использует значение переменной $memcached_key.
5834
5835 *) Добавление: переменная $memcached_key.
5836
5837 *) Добавление: параметр clean в директиве client_body_in_file_only.
5838
5839 *) Добавление: директива env.
5840
5841 *) Добавление: директива sendfile работает внутри блока if.
5842
5843 *) Добавление: теперь при ошибке записи в access_log nginx записывает
5844 сообщение в error_log, но не чаще одного раза в минуту.
5845
5846 *) Исправление: директива "access_log off" не всегда запрещала запись в
5847 лог.
5848
5849
5850 Изменения в nginx 0.5.8 19.01.2007
5851
5852 *) Исправление: если использовалась директива
5853 "client_body_in_file_only on" и тело запроса было небольшое, то мог
5854 произойти segmentation fault.
5855
5856 *) Исправление: происходил segmentation fault, если использовались
5857 директивы "client_body_in_file_only on" и
5858 "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
5859 делался переход к следующему бэкенду.
5860
5861 *) Исправление: если при использовании директивы "proxy_buffering off"
5862 соединение с клиентом было неактивно, то оно закрывалось по таймауту,
5863 заданному директивой send_timeout; ошибка появилась в 0.4.7.
5864
5865 *) Исправление: если при использовании метода epoll клиент закрывал
5866 преждевременно соединение со своей стороны, то nginx закрывал это
5867 соединение только по истечении таймаута на передачу.
5868
5869 *) Исправление: ошибки "[alert] zero size buf" при работе с
5870 FastCGI-сервером.
5871
5872 *) Исправление ошибок в директиве limit_zone.
5873
5874
5875 Изменения в nginx 0.5.7 15.01.2007
5876
5877 *) Добавление: оптимизация использования памяти в ssl_session_cache.
5878
5879 *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
5880
5881 *) Исправление: на старте или во время переконфигурации происходил
5882 segmentation fault, если директивы ssl_session_cache или limit_zone
5883 использовались на 64-битных платформах.
5884
5885 *) Исправление: при использовании директив add_before_body или
5886 add_after_body происходил segmentation fault, если в заголовке ответа
5887 нет строки "Content-Type".
5888
5889 *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
5890 потоков.
5891 Спасибо Дену Иванову.
5892
5893 *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
5894
5895
5896 Изменения в nginx 0.5.6 09.01.2007
5897
5898 *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы,
5899 кроме GET, HEAD и POST.
5900
5901 *) Добавление: модуль ngx_http_limit_zone_module.
5902
5903 *) Добавление: переменная $binary_remote_addr.
5904
5905 *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и
5906 ngx_imap_ssl_module.
5907
5908 *) Добавление: метод DELETE поддерживает рекурсивное удаление.
5909
5910 *) Исправление: при использовании $r->sendfile() byte-ranges
5911 передавались неверно.
5912
5913
5914 Изменения в nginx 0.5.5 24.12.2006
5915
5916 *) Изменение: ключ -v больше не выводит информацию о компиляторе.
5917
5918 *) Добавление: ключ -V.
5919
5920 *) Добавление: директива worker_rlimit_core поддерживает указание
5921 размера в K, M и G.
5922
5923 *) Исправление: модуль nginx.pm теперь может устанавливаться
5924 непривилегированным пользователем.
5925
5926 *) Исправление: при использовании методов $r->request_body или
5927 $r->request_body_file мог произойти segmentation fault.
5928
5929 *) Исправление: ошибок, специфичных для платформы ppc.
5930
5931
5932 Изменения в nginx 0.5.4 15.12.2006
5933
5934 *) Добавление: директиву perl можно использовать внутри блока
5935 limit_except.
5936
5937 *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
5938 заголовке запроса для метода DELETE.
5939
5940 *) Исправление: при использовании одного параметра в директиве
5941 dav_access nginx мог сообщить об ошибке в конфигурации.
5942
5943 *) Исправление: при использовании переменной $host мог произойти
5944 segmentation fault; ошибка появилась в 0.4.14.
5945
5946
5947 Изменения в nginx 0.5.3 13.12.2006
5948
5949 *) Добавление: модуль ngx_http_perl_module поддерживает методы
5950 $r->status, $r->log_error и $r->sleep.
5951
5952 *) Добавление: метод $r->variable поддерживает переменные, неописанные в
5953 конфигурации nginx'а.
5954
5955 *) Исправление: метод $r->has_request_body не работал.
5956
5957
5958 Изменения в nginx 0.5.2 11.12.2006
5959
5960 *) Исправление: если в директивах proxy_pass использовалось имя,
5961 указанное в upstream, то nginx пытался найти IP-адрес этого имени;
5962 ошибка появилась в 0.5.1.
5963
5964
5965 Изменения в nginx 0.5.1 11.12.2006
5966
5967 *) Исправление: директива post_action могла не работать после неудачного
5968 завершения запроса.
5969
5970 *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11.
5971 Спасибо Bron Gondwana.
5972
5973 *) Исправление: при указании в директиве fastcgi_pass имени описанного
5974 upstream'а выдавалось сообщение "no port in upstream"; ошибка
5975 появилась в 0.5.0.
5976
5977 *) Исправление: если в директивах proxy_pass и fastcgi_pass
5978 использовались одинаковых имена серверов, но с разными портами, то
5979 эти директивы использовали первый описанный порт; ошибка появилась в
5980 0.5.0.
5981
5982 *) Исправление: если в директивах proxy_pass и fastcgi_pass
5983 использовались unix domain сокеты, то эти директивы использовали
5984 первый описанный сокет; ошибка появилась в 0.5.0.
5985
5986 *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
5987 если он был указан в последней строке файла паролей и после пароля не
5988 было перевода строки, возврата каретки или символа ":".
5989
5990 *) Исправление: переменная $upstream_response_time могла быть равна
5991 "0.000", хотя время обработки было больше 1 миллисекунды.
5992
5993
5994 Изменения в nginx 0.5.0 04.12.2006
5995
5996 *) Изменение: параметры в виде "%name" в директиве log_format больше не
5997 поддерживаются.
5998
5999 *) Изменение: директивы proxy_upstream_max_fails,
6000 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
6001 fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
6002 memcached_upstream_fail_timeout больше не поддерживаются.
6003
6004 *) Добавление: директива server в блоке upstream поддерживает параметры
6005 max_fails, fail_timeout и down.
6006
6007 *) Добавление: директива ip_hash в блоке upstream.
6008
6009 *) Добавление: статус WAIT в строке "Auth-Status" в заголовке ответа
6010 сервера аутентификации IMAP/POP3 прокси.
6011
6012 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
6013 появилась в 0.4.14.
6014
6015
6016 Изменения в nginx 0.4.14 27.11.2006
6017
6018 *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
6019
6020 *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
6021 Linux и NetBSD.
6022
6023 *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
6024 поддержкой потоков; ошибка появилась в 0.3.38.
6025
6026 *) Исправление: ngx_http_perl_module не работал корректно, если перл
6027 вызывался рекурсивно.
6028
6029 *) Исправление: nginx игнорировал имя сервера в строке запроса.
6030
6031 *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий
6032 процесс мог зациклиться.
6033
6034 *) Исправление: при изменении системного времени переменная
6035 $upstream_response_time могла быть отрицательной.
6036
6037 *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
6038 прокси не передавался параметр Auth-Login-Attempt.
6039
6040 *) Исправление: при ошибке соединения с сервером аутентификации
6041 IMAP/POP3 прокси мог произойти segmentation fault.
6042
6043
6044 Изменения в nginx 0.4.13 15.11.2006
6045
6046 *) Добавление: директиву proxy_pass можно использовать внутри блока
6047 limit_except.
6048
6049 *) Добавление: директива limit_except поддерживает все WebDAV методы.
6050
6051 *) Исправление: при использовании директивы add_before_body без
6052 директивы add_after_body ответ передавался не полностью.
6053
6054 *) Исправление: большое тело запроса не принималось, если использовались
6055 метод epoll и deferred accept().
6056
6057 *) Исправление: для ответов модуля ngx_http_autoindex_module не
6058 выставлялась кодировка; ошибка появилась в 0.3.50.
6059
6060 *) Исправление: ошибки "[alert] zero size buf" при работе с
6061 FastCGI-сервером;
6062
6063 *) Исправление: параметр конфигурации --group= игнорировался.
6064 Спасибо Thomas Moschny.
6065
6066 *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась
6067 в 0.3.50.
6068
6069
6070 Изменения в nginx 0.4.12 31.10.2006
6071
6072 *) Добавление: модуль ngx_http_perl_module поддерживает метод
6073 $r->variable.
6074
6075 *) Исправление: при включении в ответ большого статического файла с
6076 помощью SSI ответ мог передаваться не полностью.
6077
6078 *) Исправление: nginx не убирал "#fragment" в URI.
6079
6080
6081 Изменения в nginx 0.4.11 25.10.2006
6082
6083 *) Добавление: POP3 прокси поддерживает AUTH LOGIN PLAIN и CRAM-MD5.
6084
6085 *) Добавление: модуль ngx_http_perl_module поддерживает метод
6086 $r->allow_ranges.
6087
6088 *) Исправление: при включённой поддержке команды APOP в POP3 прокси
6089 могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
6090
6091
6092 Изменения в nginx 0.4.10 23.10.2006
6093
6094 *) Добавление: POP3 прокси поддерживает APOP.
6095
6096 *) Исправление: при использовании методов select, poll и /dev/poll во
6097 время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
6098 нагружал процессор.
6099
6100 *) Исправление: при использовании переменной $server_addr в директиве
6101 map мог произойти segmentation fault.
6102
6103 *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
6104 для полных ответов; ошибка появилась в 0.4.7.
6105
6106 *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
6107 0.4.9.
6108
6109
6110 Изменения в nginx 0.4.9 13.10.2006
6111
6112 *) Добавление: параметр set в команде SSI include.
6113
6114 *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
6115 модуля nginx.pm.
6116
6117
6118 Изменения в nginx 0.4.8 11.10.2006
6119
6120 *) Исправление: если до команды SSI include с параметром wait
6121 выполнялась ещё одна команда SSI include, то параметр wait мог не
6122 работать.
6123
6124 *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
6125 полных ответов.
6126 Спасибо Алексею Ковырину.
6127
6128
6129 Изменения в nginx 0.4.7 10.10.2006
6130
6131 *) Добавление: модуль ngx_http_flv_module.
6132
6133 *) Добавление: переменная $request_body_file.
6134
6135 *) Добавление: директивы charset и source_charset поддерживают
6136 переменные.
6137
6138 *) Исправление: если до команды SSI include с параметром wait
6139 выполнялась ещё одна команда SSI include, то параметр wait мог не
6140 работать.
6141
6142 *) Исправление: при использовании директивы "proxy_buffering off" или
6143 при работе с memcached соединения могли не закрываться по таймауту.
6144
6145 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
6146 amd64, sparc64 и ppc64.
6147
6148
6149 Изменения в nginx 0.4.6 06.10.2006
6150
6151 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
6152 amd64, sparc64 и ppc64.
6153
6154 *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
6155 chunk'ами, если длина ответа в методе
6156 $r->headers_out("Content-Length", ...) была задана текстовой строкой.
6157
6158 *) Исправление: после перенаправления ошибки с помощью директивы
6159 error_page любая директива модуля ngx_http_rewrite_module возвращала
6160 эту ошибку; ошибка появилась в 0.4.4.
6161
6162
6163 Изменения в nginx 0.4.5 02.10.2006
6164
6165 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
6166 в 0.4.4.
6167
6168
6169 Изменения в nginx 0.4.4 02.10.2006
6170
6171 *) Добавление: переменная $scheme.
6172
6173 *) Добавление: директива expires поддерживает параметр max.
6174
6175 *) Добавление: директива include поддерживает маску "*".
6176 Спасибо Jonathan Dance.
6177
6178 *) Исправление: директива return всегда изменяла код ответа,
6179 перенаправленного директивой error_page.
6180
6181 *) Исправление: происходил segmentation fault, если в методе PUT
6182 передавалось тело нулевой длины.
6183
6184 *) Исправление: при использовании переменных в директиве proxy_redirect
6185 редирект изменялся неверно.
6186
6187
6188 Изменения в nginx 0.4.3 26.09.2006
6189
6190 *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы
6191 error_page.
6192
6193 *) Добавление: поддержка Solaris 10 event ports.
6194
6195 *) Добавление: модуль ngx_http_browser_module.
6196
6197 *) Исправление: при перенаправлении ошибки 400 проксированному серверу
6198 помощью директивы error_page мог произойти segmentation fault.
6199
6200 *) Исправление: происходил segmentation fault, если в директиве
6201 proxy_pass использовался unix domain сокет; ошибка появилась в
6202 0.3.47.
6203
6204 *) Исправление: SSI не работал с ответами memcached и
6205 небуферизированными проксированными ответами.
6206
6207 *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
6208
6209
6210 Изменения в nginx 0.4.2 14.09.2006
6211
6212 *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
6213 появилась в 0.4.1.
6214
6215
6216 Изменения в nginx 0.4.1 14.09.2006
6217
6218 *) Исправление: совместимость с DragonFlyBSD.
6219 Спасибо Павлу Назарову.
6220
6221 *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
6222 файлов больше 2G.
6223
6224 *) Добавление: теперь на Linux nginx для статических запросов использует
6225 флаг O_NOATIME.
6226 Спасибо Yusuf Goolamabbas.
6227
6228
6229 Изменения в nginx 0.4.0 30.08.2006
6230
6231 *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из
6232 фазы init module в фазу HTTP postconfiguration.
6233
6234 *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
6235 считывается заранее: нужно явно инициировать чтение с помощью метода
6236 $r->has_request_body.
6237
6238 *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
6239 DECLINED.
6240
6241 *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
6242 заголовка "Date" для метода PUT.
6243
6244 *) Добавление: директива ssi работает внутри блока if.
6245
6246 *) Исправление: происходил segmentation fault, если в директиве index
6247 использовалась переменные и при этом первое имя индексного файла было
6248 без переменных; ошибка появилась в 0.1.29.
6249
6250
6251 Изменения в nginx 0.3.61 28.08.2006
6252
6253 *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
6254
6255 *) Добавление: директива msie_refresh.
6256
6257 *) Добавление: директива recursive_error_pages.
6258
6259 *) Исправление: директива rewrite возвращала неправильный редирект, если
6260 редирект включал в себя выделенные закодированные символы из
6261 оригинального URI.
6262
6263
6264 Изменения в nginx 0.3.60 18.08.2006
6265
6266 *) Исправление: во время перенаправления ошибки рабочий процесс мог
6267 зациклиться; ошибка появилась в 0.3.59.
6268
6269
6270 Изменения в nginx 0.3.59 16.08.2006
6271
6272 *) Добавление: теперь можно делать несколько перенаправлений через
6273 директиву error_page.
6274
6275 *) Исправление: директива dav_access не поддерживала три параметра.
6276
6277 *) Исправление: директива error_page не изменяла строку "Content-Type"
6278 после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
6279 в 0.3.58.
6280
6281
6282 Изменения в nginx 0.3.58 14.08.2006
6283
6284 *) Добавление: директива error_page поддерживает переменные.
6285
6286 *) Изменение: теперь на Linux используется интерфейс procfs вместо
6287 sysctl.
6288
6289 *) Изменение: теперь при использовании "X-Accel-Redirect" строка
6290 "Content-Type" наследуется из первоначального ответа.
6291
6292 *) Исправление: директива error_page не перенаправляла ошибку 413.
6293
6294 *) Исправление: завершающий "?" не удалял старые аргументы, если в
6295 переписанном URI не было новых аргументов.
6296
6297 *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
6298
6299
6300 Изменения в nginx 0.3.57 09.08.2006
6301
6302 *) Добавление: переменная $ssl_client_serial.
6303
6304 *) Исправление: в операторе "!-e" в директиве if.
6305 Спасибо Андриану Буданцову.
6306
6307 *) Исправление: при проверке клиентского сертификата nginx не передавал
6308 клиенту информацию о требуемых сертификатах.
6309
6310 *) Исправление: переменная $document_root не поддерживала переменные в
6311 директиве root.
6312
6313
6314 Изменения в nginx 0.3.56 04.08.2006
6315
6316 *) Добавление: директива dav_access.
6317
6318 *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
6319 "!-e", "-x" и "!-x".
6320
6321 *) Исправление: при записи в access_log некоторых передаваемых клиенту
6322 строк заголовков происходил segmentation fault, если запрос возвращал
6323 редирект.
6324
6325
6326 Изменения в nginx 0.3.55 28.07.2006
6327
6328 *) Добавление: параметр stub в команде SSI include.
6329
6330 *) Добавление: команда SSI block.
6331
6332 *) Добавление: скрипт unicode2nginx добавлен в contrib.
6333
6334 *) Исправление: если root был задан только переменной, то корень
6335 задавался относительно префикса сервера.
6336
6337 *) Исправление: если в запросе был "//" или "/.", и после этого
6338 закодированные символы в виде "%XX", то проксируемый запрос
6339 передавался незакодированным.
6340
6341 *) Исправление: метод $r->header_in("Cookie") модуля
6342 ngx_http_perl_module теперь возвращает все строки "Cookie" в
6343 заголовке запроса.
6344
6345 *) Исправление: происходил segmentation fault, если использовался
6346 "client_body_in_file_only on" и делался переход к следующему бэкенду.
6347
6348 *) Исправление: при некоторых условиях во время переконфигурации коды
6349 символов внутри директивы charset_map могли считаться неверными;
6350 ошибка появилась в 0.3.50.
6351
6352
6353 Изменения в nginx 0.3.54 11.07.2006
6354
6355 *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
6356
6357 *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
6358 memcached_next_upstream поддерживают параметр off.
6359
6360 *) Добавление: директива debug_connection поддерживает запись адресов в
6361 формате CIDR.
6362
6363 *) Исправление: при перекодировании ответа проксированного сервера или
6364 сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
6365 полностью.
6366
6367 *) Исправление: переменная $upstream_response_time содержала время
6368 только первого обращения к бэкенду.
6369
6370 *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
6371 в 0.3.53.
6372
6373
6374 Изменения в nginx 0.3.53 07.07.2006
6375
6376 *) Изменение: директива add_header добавляет строки в ответы с кодом
6377 204, 301 и 302.
6378
6379 *) Добавление: директива server в блоке upstream поддерживает параметр
6380 weight.
6381
6382 *) Добавление: директива server_name поддерживает маску "*".
6383
6384 *) Добавление: nginx поддерживает тело запроса больше 2G.
6385
6386 *) Исправление: если при использовании "satisfy_any on" клиент успешно
6387 проходил аутентификацию, в лог всё равно записалоcь сообщение "access
6388 forbidden by rule".
6389
6390 *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
6391 409.
6392
6393 *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
6394 ошибку, nginx продолжал проксирование.
6395
6396
6397 Изменения в nginx 0.3.52 03.07.2006
6398
6399 *) Изменение: восстановлено поведение модуля ngx_http_index_module для
6400 запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
6401 ошибку 405.
6402
6403 *) Исправление: при использовании ограничения скорости рабочий процесс
6404 мог зациклиться; ошибка появилась в 0.3.37.
6405
6406 *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
6407 "unknown charset", даже если перекодировка не требовалась; ошибка
6408 появилась в 0.3.50.
6409
6410 *) Исправление: если в результате запроса PUT возвращался код 409, то
6411 временный файл не удалялся.
6412
6413
6414 Изменения в nginx 0.3.51 30.06.2006
6415
6416 *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
6417 ошибка появилась в 0.3.50.
6418
6419
6420 Изменения в nginx 0.3.50 28.06.2006
6421
6422 *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
6423 переименованы соответственно в proxy_intercept_errors и
6424 fastcgi_intercept_errors.
6425
6426 *) Добавление: модуль ngx_http_charset_module поддерживает
6427 перекодирование из однобайтных кодировок в UTF-8 и обратно.
6428
6429 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
6430 "X-Accel-Charset" в ответе бэкенда.
6431
6432 *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
6433 только если также использовался символ "$".
6434
6435 *) Исправление: при некоторых условиях в SSI после вставки могла быть
6436 добавлена строка "<!--".
6437
6438 *) Исправление: если в заголовке ответа была строка "Content-Length: 0",
6439 то при использовании небуферизированного проксировании не закрывалось
6440 соединение с клиентом.
6441
6442
6443 Изменения в nginx 0.3.49 31.05.2006
6444
6445 *) Исправление: в директиве set.
6446
6447 *) Исправление: при включении в ssi двух и более подзапросов,
6448 обрабатываемых через FastCGI, вместо вывода второго и остальных
6449 подзапросов в ответ включался вывод первого подзапроса.
6450
6451
6452 Изменения в nginx 0.3.48 29.05.2006
6453
6454 *) Изменение: теперь модуль ngx_http_charset_module работает для
6455 подзапросов, в ответах которых нет строки заголовка "Content-Type".
6456
6457 *) Исправление: если в директиве proxy_pass не было URI, то директива
6458 "proxy_redirect default" добавляла в переписанный редирект в начало
6459 лишний слэш.
6460
6461 *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
6462 GET, теперь это делается только для редиректов, выполняемых с помощью
6463 X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в
6464 0.3.42.
6465
6466 *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
6467 с поддержкой потоков; ошибка появилась в 0.3.46.
6468
6469
6470 Изменения в nginx 0.3.47 23.05.2006
6471
6472 *) Добавление: директива upstream.
6473
6474 *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
6475 всегда убирается.
6476
6477
6478 Изменения в nginx 0.3.46 11.05.2006
6479
6480 *) Добавление: директивы proxy_hide_header, proxy_pass_header,
6481 fastcgi_hide_header и fastcgi_pass_header.
6482
6483 *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
6484 proxy_pass_server упразднены.
6485
6486 *) Добавление: в режиме прокси поддерживается строка заголовка
6487 "X-Accel-Buffering" в ответе бэкенда.
6488
6489 *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
6490 ngx_http_perl_module.
6491
6492
6493 Изменения в nginx 0.3.45 06.05.2006
6494
6495 *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
6496 ssl_client_certificate.
6497
6498 *) Изменение: теперь переменная $request_method возвращает метод только
6499 основного запроса.
6500
6501 *) Изменение: в таблице перекодировки koi-win изменены коды символа
6502 &deg;.
6503
6504 *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
6505 номера.
6506
6507 *) Исправление: если nginx распределял запросы на несколько машин, то
6508 при падении одной из них запросы, предназначенные для этой машины,
6509 перенаправлялись только на одну машину вместо того, чтобы равномерно
6510 распределяться между остальными.
6511
6512
6513 Изменения в nginx 0.3.44 04.05.2006
6514
6515 *) Добавление: параметр wait в команде SSI include.
6516
6517 *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
6518 белорусские символы.
6519
6520 *) Исправление: в SSI.
6521
6522
6523 Изменения в nginx 0.3.43 26.04.2006
6524
6525 *) Исправление: в SSI.
6526
6527
6528 Изменения в nginx 0.3.42 26.04.2006
6529
6530 *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
6531
6532 *) Исправление: ошибки при использовании в директиве rewrite одного и
6533 того же выделения более одного раза.
6534
6535 *) Исправление: в лог не записывались переменные
6536 $sent_http_content_type, $sent_http_content_length,
6537 $sent_http_last_modified, $sent_http_connection,
6538 $sent_http_keep_alive и $sent_http_transfer_encoding.
6539
6540 *) Исправление: переменная $sent_http_cache_control возвращала
6541 содержимое только одной строки "Cache-Control" в заголовке ответа.
6542
6543
6544 Изменения в nginx 0.3.41 21.04.2006
6545
6546 *) Добавление: ключ -v.
6547
6548 *) Исправление: при включении в SSI удалённых подзапросов мог произойти
6549 segmentation fault.
6550
6551 *) Исправление: в обработке FastCGI.
6552
6553 *) Исправление: если путь к перловым модулям не был указан с помощью
6554 --with-perl_modules_path=PATH или директивы perl_modules, то на
6555 старте происходил segmentation fault.
6556
6557
6558 Изменения в nginx 0.3.40 19.04.2006
6559
6560 *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
6561
6562 *) Добавление: директива create_full_put_path.
6563
6564 *) Добавление: переменная $limit_rate.
6565
6566
6567 Изменения в nginx 0.3.39 17.04.2006
6568
6569 *) Добавление: директива uninitialized_variable_warn; уровень
6570 логгирования сообщения о неинициализированной переменной понижен с
6571 уровня alert на warn.
6572
6573 *) Добавление: директива override_charset.
6574
6575 *) Изменение: при использовании неизвестной переменной в SSI-командах
6576 echo и if expr='$name' теперь не записывается в лог сообщение о
6577 неизвестной переменной.
6578
6579 *) Исправление: счётчик активных соединений рос при превышении лимита
6580 соединений, заданного директивой worker_connections; ошибка появилась
6581 в 0.2.0.
6582
6583 *) Исправление: при некоторых условия ограничение скорости соединения
6584 могло не работать; ошибка появилась в 0.3.38.
6585
6586
6587 Изменения в nginx 0.3.38 14.04.2006
6588
6589 *) Добавление: модуль ngx_http_dav_module.
6590
6591 *) Изменение: оптимизация модуля ngx_http_perl_module.
6592 Спасибо Сергею Скворцову.
6593
6594 *) Добавление: модуль ngx_http_perl_module поддерживает метод
6595 $r->request_body_file.
6596
6597 *) Добавление: директива client_body_in_file_only.
6598
6599 *) Изменение: теперь при переполнении диска nginx пытается писать
6600 access_log'и только раз в секунду.
6601 Спасибо Антону Южанинову и Максиму Дунину.
6602
6603 *) Исправление: теперь директива limit_rate точнее ограничивает скорость
6604 при значениях больше 100 Kbyte/s.
6605 Спасибо ForJest.
6606
6607 *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
6608 символы "\r" и "\n" в логине и пароле в закодированном виде.
6609 Спасибо Максиму Дунину.
6610
6611
6612 Изменения в nginx 0.3.37 07.04.2006
6613
6614 *) Добавление: директива limit_except.
6615
6616 *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
6617 "!-f".
6618
6619 *) Добавление: модуль ngx_http_perl_module поддерживает метод
6620 $r->request_body.
6621
6622 *) Исправление: в модуле ngx_http_addition_filter_module.
6623
6624
6625 Изменения в nginx 0.3.36 05.04.2006
6626
6627 *) Добавление: модуль ngx_http_addition_filter_module.
6628
6629 *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
6630 внутри блока if.
6631
6632 *) Добавление: директивы proxy_ignore_client_abort и
6633 fastcgi_ignore_client_abort.
6634
6635 *) Добавление: переменная $request_completion.
6636
6637 *) Добавление: модуль ngx_http_perl_module поддерживает методы
6638 $r->request_method и $r->remote_addr.
6639
6640 *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
6641
6642 *) Исправление: строка "\/" в начале выражения команды if модуля
6643 ngx_http_ssi_module воспринималась неверно.
6644
6645 *) Исправление: в использовании регулярных выражениях в команде if
6646 модуля ngx_http_ssi_module.
6647
6648 *) Исправление: при задании относительного пути в директивах
6649 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
6650 perl_modules использовался каталог относительно текущего каталога, а
6651 не относительно префикса сервера.
6652
6653
6654 Изменения в nginx 0.3.35 22.03.2006
6655
6656 *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
6657 для первой директивы listen; ошибка появилась в 0.3.31.
6658
6659 *) Исправление: в директиве proxy_pass без URI при использовании в
6660 подзапросе.
6661
6662
6663 Изменения в nginx 0.3.34 21.03.2006
6664
6665 *) Добавление: директива add_header поддерживает переменные.
6666
6667
6668 Изменения в nginx 0.3.33 15.03.2006
6669
6670 *) Добавление: параметр http_503 в директивах proxy_next_upstream или
6671 fastcgi_next_upstream.
6672
6673 *) Исправление: ngx_http_perl_module не работал со встроенным в
6674 конфигурационный файл кодом, если он не начинался сразу же с "sub".
6675
6676 *) Исправление: в директиве post_action.
6677
6678
6679 Изменения в nginx 0.3.32 11.03.2006
6680
6681 *) Исправление: удаление отладочного логгирования на старте и при
6682 переконфигурации; ошибка появилась в 0.3.31.
6683
6684
6685 Изменения в nginx 0.3.31 10.03.2006
6686
6687 *) Изменение: теперь nginx передаёт неверные ответы проксированного
6688 бэкенда.
6689
6690 *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
6691
6692 *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
6693
6694 *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
6695 64-битном ядре MacOSX.
6696 Спасибо Андрею Нигматулину.
6697
6698 *) Исправление: если внутри одного сервера описаны несколько директив
6699 listen, слушающих на разных адресах, то имена серверов вида
6700 "*.domain.tld" работали только для первого адреса; ошибка появилась в
6701 0.3.18.
6702
6703 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
6704 не передавались запросы с телом, записанным во временный файл.
6705
6706 *) Исправление: совместимость с perl 5.8.8.
6707
6708
6709 Изменения в nginx 0.3.30 22.02.2006
6710
6711 *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
6712 с уровня crit.
6713
6714 *) Исправление: модуль ngx_http_perl_module не собирался без модуля
6715 ngx_http_ssi_filter_module.
6716
6717 *) Исправление: nginx не собирался на i386 платформе, если использовался
6718 PIC; ошибка появилась в 0.3.27.
6719
6720
6721 Изменения в nginx 0.3.29 20.02.2006
6722
6723 *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
6724 FastCGI передаёт большое количество предупреждений перед ответом.
6725
6726 *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
6727 строка заголовка "Transfer-Encoding: chunked".
6728
6729 *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
6730 передавал полные строки заголовка ответа в отдельных FastCGI записях.
6731
6732 *) Исправление: если в директиве post_action был указан проксируемый
6733 URI, то он выполнялся только после успешного завершения запроса.
6734
6735
6736 Изменения в nginx 0.3.28 16.02.2006
6737
6738 *) Добавление: директива restrict_host_names упразднена.
6739
6740 *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
6741
6742 *) Исправление: при некоторых условиях проксированное соединение с
6743 клиентом завершалось преждевременно.
6744 Спасибо Владимиру Шутову.
6745
6746 *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для
6747 запросов, перенаправленных с помощью строки "X-Accel-Redirect".
6748
6749 *) Исправление: директива post_action работала только после успешного
6750 завершения запроса.
6751
6752 *) Исправление: тело проксированного ответа, создаваемого директивой
6753 post_action, передавалось клиенту.
6754
6755
6756 Изменения в nginx 0.3.27 08.02.2006
6757
6758 *) Изменение: директивы variables_hash_max_size и
6759 variables_hash_bucket_size.
6760
6761 *) Добавление: переменная $body_bytes_sent доступна не только в
6762 директиве log_format.
6763
6764 *) Добавление: переменные $ssl_protocol и $ssl_cipher.
6765
6766 *) Добавление: определение размера строки кэша распространённых
6767 процессоров при старте.
6768
6769 *) Добавление: директива accept_mutex теперь поддерживается посредством
6770 fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
6771
6772 *) Добавление: директива lock_file и параметр автоконфигурации
6773 --with-lock-path=PATH.
6774
6775 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
6776 не передавались запросы с телом.
6777
6778
6779 Изменения в nginx 0.3.26 03.02.2006
6780
6781 *) Изменение: директива optimize_host_names переименована в
6782 optimize_server_names.
6783
6784 *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
6785 URI основного запроса, если в директиве proxy_pass отсутствовал URI.
6786
6787
6788 Изменения в nginx 0.3.25 01.02.2006
6789
6790 *) Исправление: при неверной конфигурации на старте или во время
6791 переконфигурации происходил segmentation fault; ошибка появилась в
6792 0.3.24.
6793
6794
6795 Изменения в nginx 0.3.24 01.02.2006
6796
6797 *) Изменение: обход ошибки в kqueue во FreeBSD.
6798
6799 *) Исправление: ответ, создаваемый директивой post_action, теперь не
6800 передаётся клиенту.
6801
6802 *) Исправление: при использовании большого количества лог-файлов
6803 происходила утечка памяти.
6804
6805 *) Исправление: внутри одного location работала только первая директива
6806 proxy_redirect.
6807
6808 *) Исправление: на 64-битных платформах при старте мог произойти
6809 segmentation fault, если использовалось большое количество имён в
6810 директивах server_name; ошибка появилась в 0.3.18.
6811
6812
6813 Изменения в nginx 0.3.23 24.01.2006
6814
6815 *) Добавление: директива optimize_host_names.
6816
6817 *) Исправление: ошибки при использовании переменных в директивах path и
6818 alias.
6819
6820 *) Исправление: модуль ngx_http_perl_module неправильно собирался на
6821 Linux и Solaris.
6822
6823
6824 Изменения в nginx 0.3.22 17.01.2006
6825
6826 *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
6827 и $r->unescape.
6828
6829 *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
6830 упразднён.
6831
6832 *) Исправление: если в директиве valid_referers указаны только none или
6833 blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
6834
6835
6836 Изменения в nginx 0.3.21 16.01.2006
6837
6838 *) Добавление: модуль ngx_http_perl_module.
6839
6840 *) Изменение: директива valid_referers разрешает использовать рефереры
6841 совсем без URI.
6842
6843
6844 Изменения в nginx 0.3.20 11.01.2006
6845
6846 *) Исправление: ошибки в обработке SSI.
6847
6848 *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
6849 виде /uri?args.
6850
6851
6852 Изменения в nginx 0.3.19 28.12.2005
6853
6854 *) Добавление: директивы path и alias поддерживают переменные.
6855
6856 *) Изменение: теперь директива valid_referers опять учитывает URI.
6857
6858 *) Исправление: ошибки в обработке SSI.
6859
6860
6861 Изменения в nginx 0.3.18 26.12.2005
6862
6863 *) Добавление: директива server_names поддерживает имена вида
6864 ".domain.tld".
6865
6866 *) Добавление: директива server_names использует хэш для имён вида
6867 "*.domain.tld" и более эффективный хэш для обычных имён.
6868
6869 *) Изменение: директивы server_names_hash_max_size и
6870 server_names_hash_bucket_size.
6871
6872 *) Изменение: директивы server_names_hash и server_names_hash_threshold
6873 упразднены.
6874
6875 *) Добавление: директива valid_referers использует хэш для имён сайтов.
6876
6877 *) Изменение: теперь директива valid_referers проверяет только имена
6878 сайтов без учёта URI.
6879
6880 *) Исправление: некоторые имена вида ".domain.tld" неверно
6881 обрабатывались модулем ngx_http_map_module.
6882
6883 *) Исправление: если конфигурационного файла не было, то происходил
6884 segmentation fault; ошибка появилась в 0.3.12.
6885
6886 *) Исправление: на 64-битных платформах при старте мог произойти
6887 segmentation fault; ошибка появилась в 0.3.16.
6888
6889
6890 Изменения в nginx 0.3.17 18.12.2005
6891
6892 *) Изменение: на Linux configure теперь проверяет наличие epoll и
6893 sendfile64() в ядре.
6894
6895 *) Добавление: директива map поддерживает доменные имена в формате
6896 ".domain.tld".
6897
6898 *) Исправление: во время SSL handshake не иcпользовались таймауты;
6899 ошибка появилась в 0.2.4.
6900
6901 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
6902
6903 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
6904 по умолчанию использовался порт 80.
6905
6906
6907 Изменения в nginx 0.3.16 16.12.2005
6908
6909 *) Добавление: модуль ngx_http_map_module.
6910
6911 *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
6912
6913 *) Добавление: директива ssi_value_length.
6914
6915 *) Добавление: директива worker_rlimit_core.
6916
6917 *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
6918 Pentium 4 номер соединения в логах всегда был равен 1.
6919
6920 *) Исправление: команда config timefmt в SSI задавала неверный формат
6921 времени.
6922
6923 *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
6924 использовании SSL соединений; ошибка появилась в 0.3.13.
6925 Спасибо Rob Mueller.
6926
6927 *) Исправление: segmentation fault мог произойти во время SSL shutdown;
6928 ошибка появилась в 0.3.13.
6929
6930
6931 Изменения в nginx 0.3.15 07.12.2005
6932
6933 *) Добавление: новой код 444 в директиве return для закрытия соединения.
6934
6935 *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
6936
6937 *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
6938 соединений только при плавном выходе и включённой директиве
6939 debug_points.
6940
6941
6942 Изменения в nginx 0.3.14 05.12.2005
6943
6944 *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
6945 в 0.3.13.
6946
6947
6948 Изменения в nginx 0.3.13 05.12.2005
6949
6950 *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
6951
6952 *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
6953 /dev/poll.
6954
6955 *) Исправление: ошибки в обработке SSI.
6956
6957 *) Исправление: sendfilev() в Solaris теперь не используется при
6958 передаче тела запроса FastCGI-серверу через unix domain сокет.
6959
6960 *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка
6961 появилась в 0.3.11.
6962
6963
6964 Изменения в nginx 0.3.12 26.11.2005
6965
6966 *) Безопасность: если nginx был собран с модулем ngx_http_realip_module,
6967 то при использовании директивы "satisfy_any on" директивы доступа и
6968 аутентификации не работали. Модуль ngx_http_realip_module не
6969 собирался и не собирается по умолчанию.
6970
6971 *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
6972
6973 *) Изменение: директивы proxy_header_buffer_size и
6974 fastcgi_header_buffer_size переименованы соответственно в
6975 proxy_buffer_size и fastcgi_buffer_size.
6976
6977 *) Добавление: модуль ngx_http_memcached_module.
6978
6979 *) Добавление: директива proxy_buffering.
6980
6981 *) Исправление: изменение в работе с accept mutex при использовании
6982 метода rtsig; ошибка появилась в 0.3.0.
6983
6984 *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
6985 в заголовке запроса, то nginx теперь выдаёт ошибку 411.
6986
6987 *) Исправление: при наследовании директивы auth_basic с уровня http в
6988 строке "WWW-Authenticate" заголовка ответа выводился realm без текста
6989 "Basic realm".
6990
6991 *) Исправление: если в директиве access_log был явно указан формат
6992 combined, то в лог записывались пустые строки; ошибка появилась в
6993 0.3.8.
6994
6995 *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме
6996 Solaris.
6997
6998 *) Исправление: в директиве if теперь не нужно разделять пробелом строку
6999 в кавычках и закрывающую скобку.
7000
7001
7002 Изменения в nginx 0.3.11 15.11.2005
7003
7004 *) Исправление: nginx не передавал при проксировании тело запроса и
7005 строки заголовка клиента; ошибка появилась в 0.3.10.
7006
7007
7008 Изменения в nginx 0.3.10 15.11.2005
7009
7010 *) Изменение: директива valid_referers и переменная $invalid_referer
7011 перенесены из модуля ngx_http_rewrite_module в новый модуль
7012 ngx_http_referer_module.
7013
7014 *) Изменение: имя переменной "$apache_bytes_sent" изменено на
7015 "$body_bytes_sent".
7016
7017 *) Добавление: переменные "$sent_http_...".
7018
7019 *) Добавление: директива if поддерживает операции "=" и "!=".
7020
7021 *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
7022
7023 *) Добавление: директива proxy_set_body.
7024
7025 *) Добавление: директива post_action.
7026
7027 *) Добавление: модуль ngx_http_empty_gif_module.
7028
7029 *) Добавление: директива worker_cpu_affinity для Linux.
7030
7031 *) Исправление: директива rewrite не раскодировала символы в редиректах
7032 в URI, теперь символы раскодируются, кроме символов %00-%25 и
7033 %7F-%FF.
7034
7035 *) Исправление: nginx не собирался компилятором icc 9.0.
7036
7037 *) Исправление: если для статического файла нулевого размера был
7038 разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
7039
7040
7041 Изменения в nginx 0.3.9 10.11.2005
7042
7043 *) Исправление: nginx считал небезопасными URI, в которых между двумя
7044 слэшами находилось два любых символа; ошибка появилась в 0.3.8.
7045
7046
7047 Изменения в nginx 0.3.8 09.11.2005
7048
7049 *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
7050 строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
7051 наличие путей "/../" и нулей.
7052
7053 *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
7054 строке "Authorization" в заголовке запроса.
7055
7056 *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module
7057 и ngx_imap_ssl_module.
7058
7059 *) Добавление: директива auth_http_header модуля
7060 ngx_imap_auth_http_module.
7061
7062 *) Добавление: директива add_header.
7063
7064 *) Добавление: модуль ngx_http_realip_module.
7065
7066 *) Добавление: новые переменные для использования в директиве
7067 log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
7068 $uri, $request_time, $request_length, $upstream_status,
7069 $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
7070 $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
7071 упразднены.
7072
7073 *) Изменение: в директиве "if" ложными значениями переменных теперь
7074 являются пустая строка "" и строки, начинающиеся на "0".
7075
7076 *) Исправление: при работает с проксированными или FastCGI-серверами
7077 nginx мог оставлять открытыми соединения и временные файлы с
7078 запросами клиентов.
7079
7080 *) Исправление: рабочие процессы не сбрасывали буферизированные логи при
7081 плавном выходе.
7082
7083 *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
7084 запрос проксировался в location, заданном регулярным выражением, то
7085 бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
7086
7087 *) Исправление: директива expires не удаляла уже установленную строку
7088 заголовка "Expires".
7089
7090 *) Исправление: при использовании метода rtsig и нескольких рабочих
7091 процессах nginx мог перестать принимать запросы.
7092
7093 *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
7094 "\'".
7095
7096 *) Исправление: если ответ заканчивался сразу же после SSI команды, то
7097 при использовании сжатия ответ передавался не до конца или не
7098 передавался вообще.
7099
7100
7101 Изменения в nginx 0.3.7 27.10.2005
7102
7103 *) Добавление: директива access_log поддерживает параметр buffer=.
7104
7105 *) Исправление: nginx не собирался на платформах, отличных от i386,
7106 amd64, sparc и ppc; ошибка появилась в 0.3.2.
7107
7108
7109 Изменения в nginx 0.3.6 24.10.2005
7110
7111 *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
7112 пустой логин.
7113
7114 *) Добавление: директива log_format поддерживает переменные в виде
7115 $name.
7116
7117 *) Исправление: если хотя бы в одном сервере не было описано ни одной
7118 директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
7119 0.3.3.
7120
7121 *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
7122 использовался порт 80.
7123
7124
7125 Изменения в nginx 0.3.5 21.10.2005
7126
7127 *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
7128 мог произойти segmentation fault; ошибка появилась в 0.2.2.
7129
7130 *) Исправление: accept mutex не работал, все соединения обрабатывались
7131 одним рабочим процессом; ошибка появилась в 0.3.3.
7132
7133 *) Исправление: при использовании метода rtsig и директивы
7134 timer_resolution не работали таймауты.
7135
7136
7137 Изменения в nginx 0.3.4 19.10.2005
7138
7139 *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
7140 появилась в 0.3.3.
7141
7142
7143 Изменения в nginx 0.3.3 19.10.2005
7144
7145 *) Изменение: параметры "bl" и "af" директивы listen переименованы в
7146 "backlog" и "accept_filter".
7147
7148 *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
7149
7150 *) Изменение: параметр лога $msec теперь не требует дополнительного
7151 системного вызова gettimeofday().
7152
7153 *) Добавление: ключ -t теперь проверяет директивы listen.
7154
7155 *) Исправление: если в директиве listen был указан неверный адрес, то
7156 nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
7157
7158 *) Исправление: для индексных файлов, содержащих в имени переменную, мог
7159 неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0.
7160
7161 *) Добавление: директива timer_resolution.
7162
7163 *) Добавление: параметр лога $upstream_response_time в миллисекундах.
7164
7165 *) Исправление: временный файл с телом запроса клиента теперь удаляется
7166 сразу после того, как клиенту передан заголовок ответа.
7167
7168 *) Исправление: совместимость с OpenSSL 0.9.6.
7169
7170 *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
7171 относительными.
7172
7173 *) Исправление: директива ssl_prefer_server_ciphers не работала для
7174 модуля ngx_imap_ssl_module.
7175
7176 *) Исправление: директива ssl_protocols позволяла задать только один
7177 протокол.
7178
7179
7180 Изменения в nginx 0.3.2 12.10.2005
7181
7182 *) Добавление: поддержка Sun Studio 10 C compiler.
7183
7184 *) Добавление: директивы proxy_upstream_max_fails,
7185 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
7186 fastcgi_upstream_fail_timeout.
7187
7188
7189 Изменения в nginx 0.3.1 10.10.2005
7190
7191 *) Исправление: во время переполнения очереди сигналов при использовании
7192 метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0.
7193
7194 *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
7195
7196
7197 Изменения в nginx 0.3.0 07.10.2005
7198
7199 *) Изменение: убрано десятидневное ограничение времени работы рабочего
7200 процесса. Ограничение было введено из-за переполнения миллисекундных
7201 таймеров.
7202
7203
7204 Изменения в nginx 0.2.6 05.10.2005
7205
7206 *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
7207 бэкенду при использовании распределения нагрузки.
7208
7209 *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный
7210 запрос теперь передаётся, если в директиве proxy_pass отсутствует
7211 URI.
7212
7213 *) Добавление: директива error_page поддерживает редиректы и позволяет
7214 более гибко менять код ошибки.
7215
7216 *) Изменение: в проксированных подзапросах теперь игнорируется
7217 переданный charset.
7218
7219 *) Исправление: если после изменения URI в блоке if для запроса не
7220 находилась новая конфигурация, то правила модуля
7221 ngx_http_rewrite_module выполнялись снова.
7222
7223 *) Исправление: если директива set устанавливала переменную модуля
7224 ngx_http_geo_module в какой-либо части конфигурации, то эта
7225 переменная не была доступна в других частях конфигурации и выдавалась
7226 ошибка "using uninitialized variable"; ошибка появилась в 0.2.2.
7227
7228
7229 Изменения в nginx 0.2.5 04.10.2005
7230
7231 *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module
7232 теперь выдаёт предупреждение и изменяет старое значение.
7233
7234 *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
7235
7236 *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
7237 команде include.
7238
7239 *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
7240 значений переменных в выражениях команды if.
7241
7242
7243 Изменения в nginx 0.2.4 03.10.2005
7244
7245 *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
7246 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
7247 if.
7248
7249 *) Исправление: ошибки при проксировании location без слэша в конце;
7250 ошибка появилась в 0.1.44.
7251
7252 *) Исправление: при использовании метода rtsig мог произойти
7253 segmentation fault; ошибка появилась в 0.2.0.
7254
7255
7256 Изменения в nginx 0.2.3 30.09.2005
7257
7258 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
7259 появилась в 0.2.2.
7260
7261
7262 Изменения в nginx 0.2.2 30.09.2005
7263
7264 *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
7265
7266 *) Изменение: переменные модуля ngx_http_geo_module можно переопределять
7267 директивой set.
7268
7269 *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
7270 модулей ngx_http_ssl_module и ngx_imap_ssl_module.
7271
7272 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
7273 длинных имён файлов;
7274
7275 *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
7276 файлы, начинающиеся на точку.
7277
7278 *) Исправление: если SSL handshake завершался с ошибкой, то это могло
7279 привести также к закрытию другого соединения.
7280 Спасибо Rob Mueller.
7281
7282 *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
7283 HTTPS.
7284
7285
7286 Изменения в nginx 0.2.1 23.09.2005
7287
7288 *) Исправление: если все бэкенды, используемые для балансировки
7289 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
7290 nginx мог зациклится; ошибка появилась в 0.2.0.
7291
7292
7293 Изменения в nginx 0.2.0 23.09.2005
7294
7295 *) Изменились имена pid-файлов, используемые во время обновления
7296 исполняемого файла. Ручное переименование теперь не нужно. Старый
7297 основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
7298 запускает новый исполняемый файл. Новый основной процесс создаёт
7299 обычный pid-файл без суффикса ".newbin". Если новый основной процесс
7300 выходит, то старый процесс переименовывает свой pid-файл c суффиксом
7301 ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
7302 0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
7303 0.2.0 - используют pid-файл без суффиксов.
7304
7305 *) Изменение: директива worker_connections, новое название директивы
7306 connections; директива теперь задаёт максимальное число соединений, а
7307 не максимально возможный номер дескриптора для сокета.
7308
7309 *) Добавление: SSL поддерживает кэширование сессий в пределах одного
7310 рабочего процесса.
7311
7312 *) Добавление: директива satisfy_any.
7313
7314 *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module
7315 не работают для подзапросов.
7316
7317 *) Добавление: директивы worker_rlimit_nofile и
7318 worker_rlimit_sigpending.
7319
7320 *) Исправление: если все бэкенды, используемые для балансировки
7321 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
7322 nginx не обращался к ним в течение 60 секунд.
7323
7324 *) Исправление: в парсинге аргументов IMAP/POP3 команд.
7325 Спасибо Rob Mueller.
7326
7327 *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
7328
7329 *) Исправление: ошибки при использовании SSI и сжатия.
7330
7331 *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
7332 "Expires" и "Cache-Control".
7333 Спасибо Александру Кукушкину.
7334
7335
7336 Изменения в nginx 0.1.45 08.09.2005
7337
7338 *) Изменение: директива ssl_engine упразднена в модуле
7339 ngx_http_ssl_module и перенесена на глобальный уровень.
7340
7341 *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
7342 передавались через SSL соединение.
7343
7344 *) Разные исправления в IMAP/POP3 прокси.
7345
7346
7347 Изменения в nginx 0.1.44 06.09.2005
7348
7349 *) Добавление: IMAP/POP3 прокси поддерживает SSL.
7350
7351 *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
7352
7353 *) Добавление: директива userid_mark.
7354
7355 *) Добавление: значение переменной $remote_user определяется независимо
7356 от того, используется ли авторизация или нет.
7357
7358
7359 Изменения в nginx 0.1.43 30.08.2005
7360
7361 *) Добавление: listen(2) backlog в директиве listen можно менять по
7362 сигналу -HUP.
7363
7364 *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
7365
7366 *) Изменение: параметры FastCGI с пустым значениями теперь передаются
7367 серверу.
7368
7369 *) Исправление: если в ответе проксированного сервера или FastCGI
7370 сервера была строка "Cache-Control", то при использовании директивы
7371 expires происходил segmentation fault или рабочий процесс мог
7372 зациклится; в режиме прокси ошибка появилась в 0.1.29.
7373
7374
7375 Изменения в nginx 0.1.42 23.08.2005
7376
7377 *) Исправление: если URI запроса получался нулевой длины после обработки
7378 модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module
7379 происходил segmentation fault или bus error.
7380
7381 *) Исправление: директива limit_rate не работала внутри блока if; ошибка
7382 появилась в 0.1.38.
7383
7384
7385 Изменения в nginx 0.1.41 25.07.2005
7386
7387 *) Исправление: если переменная использовалась в файле конфигурации, то
7388 она не могла использоваться в SSI.
7389
7390
7391 Изменения в nginx 0.1.40 22.07.2005
7392
7393 *) Исправление: если клиент слал очень длинную строку заголовка, то в
7394 логе не помещалась информация, связанная с этим запросом.
7395
7396 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
7397 строка "Set-Cookie"; ошибка появилась в 0.1.39.
7398
7399 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
7400 строка "Content-Disposition".
7401
7402 *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
7403 на которых он слушал.
7404
7405 *) Исправление: после обновления исполняемого файла на лету на Linux и
7406 Solaris название процесса в команде ps становилось короче.
7407
7408
7409 Изменения в nginx 0.1.39 14.07.2005
7410
7411 *) Изменения в модуле ngx_http_charset_module: директива default_charset
7412 упразднена; директива charset задаёт кодировку ответа; директива
7413 source_charset задаёт только исходную кодировку.
7414
7415 *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
7416 не передавалась строка заголовка "WWW-Authenticate".
7417
7418 *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
7419 могли закрыть соединение до того, как что-нибудь было передано
7420 клиенту; ошибка появилась в 0.1.38.
7421
7422 *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
7423
7424 *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
7425 URI в команде include virtual.
7426
7427 *) Исправление: если в строке заголовка ответа бэкенда была строка
7428 "Location", которую nginx не должен был изменять, то в ответе
7429 передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
7430
7431 *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
7432 ngx_http_fastcgi_module не наследовались с уровня server на уровень
7433 location; ошибка появилась в 0.1.29.
7434
7435 *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
7436 сертификатов.
7437
7438 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
7439 длинных имён файлов; ошибка появилась в 0.1.38.
7440
7441 *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
7442 стадии login.
7443
7444
7445 Изменения в nginx 0.1.38 08.07.2005
7446
7447 *) Добавление: директива limit_rate поддерживается в режиме прокси и
7448 FastCGI.
7449
7450 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
7451 "X-Accel-Limit-Rate" в ответе бэкенда.
7452
7453 *) Добавление: директива break.
7454
7455 *) Добавление: директива log_not_found.
7456
7457 *) Исправление: при перенаправлении запроса с помощью строки заголовка
7458 "X-Accel-Redirect" не изменялся код ответа.
7459
7460 *) Исправление: переменные, установленные директивой set не могли
7461 использоваться в SSI.
7462
7463 *) Исправление: при включении в SSI более одного удалённого подзапроса
7464 мог произойти segmentation fault.
7465
7466 *) Исправление: если статусная строка в ответе бэкенда передавалась в
7467 двух пакетах, то nginx считал ответ неверным; ошибка появилась в
7468 0.1.29.
7469
7470 *) Добавление: директива ssi_types.
7471
7472 *) Добавление: директива autoindex_exact_size.
7473
7474 *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
7475 имена файлов в UTF-8.
7476
7477 *) Добавление: IMAP/POP3 прокси.
7478
7479
7480 Изменения в nginx 0.1.37 23.06.2005
7481
7482 *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
7483
7484 *) Исправление: при включении большого количества вставок или нескольких
7485 больших вставок с помощью SSI ответ мог передаваться не полностью.
7486
7487 *) Исправление: если все бэкенды возвращали ответ 404, то при
7488 использовании параметра http_404 в директивах proxy_next_upstream или
7489 fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова.
7490
7491
7492 Изменения в nginx 0.1.36 15.06.2005
7493
7494 *) Изменение: если в заголовке запроса есть дублирующиеся строки "Host",
7495 "Connection", "Content-Length" и "Authorization", то nginx теперь
7496 выдаёт ошибку 400.
7497
7498 *) Изменение: директива post_accept_timeout упразднена.
7499
7500 *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
7501 listen.
7502
7503 *) Добавление: поддержка accept фильтров во FreeBSD.
7504
7505 *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
7506
7507 *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
7508 файлов в UTF-8.
7509
7510 *) Исправление: после добавления новый лог-файл ротация этого лога по
7511 сигналу -USR1 выполнялась, только если переконфигурировать nginx два
7512 раза по сигналу -HUP.
7513
7514
7515 Изменения в nginx 0.1.35 07.06.2005
7516
7517 *) Добавление: директива working_directory.
7518
7519 *) Добавление: директива port_in_redirect.
7520
7521 *) Исправление: если заголовок ответа бэкенда не помещался в один пакет,
7522 то происходил segmentation fault; ошибка появилась в 0.1.29.
7523
7524 *) Исправление: если было сконфигурировано более 10 серверов или в
7525 сервере не описана директива "listen", то при запуске мог произойти
7526 segmentation fault.
7527
7528 *) Исправление: если ответ не помещался во временный файл, то мог
7529 произойти segmentation fault.
7530
7531 *) Исправление: nginx возвращал ошибку 400 на запросы вида
7532 "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
7533
7534
7535 Изменения в nginx 0.1.34 26.05.2005
7536
7537 *) Исправление: при включении больших ответов с помощью SSI рабочий
7538 процесс мог зациклиться.
7539
7540 *) Исправление: переменные, устанавливаемые директивой "set", не были
7541 доступны в SSI.
7542
7543 *) Добавление: директива autoindex_localtime.
7544
7545 *) Исправление: пустое значение в директиве proxy_set_header запрещает
7546 передачу заголовка.
7547
7548
7549 Изменения в nginx 0.1.33 23.05.2005
7550
7551 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
7552 появилась в 0.1.29.
7553
7554 *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
7555 вызывали bus fault при запуске.
7556
7557 *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
7558 HTTP.
7559
7560 *) Исправление: если директива rewrite использовала выделения внутри
7561 директивы if, то возвращалась ошибка 500.
7562
7563
7564 Изменения в nginx 0.1.32 19.05.2005
7565
7566 *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не
7567 передавались аргументы; ошибка появилась в 0.1.29.
7568
7569 *) Добавление: директива if поддерживает выделения в регулярных
7570 выражениях.
7571
7572 *) Добавление: директива set поддерживает переменные и выделения из
7573 регулярных выражений.
7574
7575 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
7576 "X-Accel-Redirect" в ответе бэкенда.
7577
7578
7579 Изменения в nginx 0.1.31 16.05.2005
7580
7581 *) Исправление: при использовании SSL ответ мог передаваться не до
7582 конца.
7583
7584 *) Исправление: ошибки при обработке SSI в ответе, полученного от
7585 FastCGI-сервера.
7586
7587 *) Исправление: ошибки при использовании SSI и сжатия.
7588
7589 *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка
7590 появилась в 0.1.30.
7591
7592
7593 Изменения в nginx 0.1.30 14.05.2005
7594
7595 *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
7596
7597 *) Исправление: при использовании SSL ответ мог передаваться не до
7598 конца.
7599
7600 *) Исправление: если длина части ответа, полученного за один раз от
7601 проксируемого или FastCGI сервера была равна 500 байт, то nginx
7602 возвращал код ответа 500; в режиме прокси ошибка появилась только в
7603 0.1.29.
7604
7605 *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
7606 параметрами.
7607
7608 *) Добавление: директива return может возвращать код ответа 204.
7609
7610 *) Добавление: директива ignore_invalid_headers.
7611
7612
7613 Изменения в nginx 0.1.29 12.05.2005
7614
7615 *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
7616 virtual.
7617
7618 *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
7619 вида 'if expr="$NAME"' и команды else и endif. Допускается только
7620 один уровень вложенности.
7621
7622 *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
7623 DATE_LOCAL и DATE_GMT и команду config timefmt.
7624
7625 *) Добавление: директива ssi_ignore_recycled_buffers.
7626
7627 *) Исправление: если переменная QUERY_STRING не была определена, то в
7628 команде echo не ставилось значение по умолчанию.
7629
7630 *) Изменение: модуль ngx_http_proxy_module полностью переписан.
7631
7632 *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
7633 proxy_pass_request_body и proxy_method.
7634
7635 *) Добавление: директива proxy_set_header. Директива proxy_x_var
7636 упразднена и должна быть заменена директивой proxy_set_header.
7637
7638 *) Изменение: директива proxy_preserve_host упразднена и должна быть
7639 заменена директивами "proxy_set_header Host $host" и "proxy_redirect
7640 off" или директивой "proxy_set_header Host $host:$proxy_port" и
7641 соответствующими ей директивами proxy_redirect.
7642
7643 *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
7644 заменена директивой "proxy_set_header X-Real-IP $remote_addr".
7645
7646 *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
7647 быть заменена директивой
7648 "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
7649
7650 *) Изменение: директива proxy_set_x_url упразднена и должна быть
7651 заменена директивой
7652 "proxy_set_header X-URL http://$host:$server_port$request_uri".
7653
7654 *) Добавление: директива fastcgi_param.
7655
7656 *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
7657 упразднены и должны быть замены директивами fastcgi_param.
7658
7659 *) Добавление: директива index может использовать переменные.
7660
7661 *) Добавление: директива index может быть указана на уровне http и
7662 server.
7663
7664 *) Изменение: только последний параметр в директиве index может быть
7665 абсолютным.
7666
7667 *) Добавление: в директиве rewrite могут использоваться переменные.
7668
7669 *) Добавление: директива internal.
7670
7671 *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
7672 SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
7673 SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
7674
7675 *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса
7676 клиента и ответа бэкенда.
7677
7678 *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
7679 меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
7680
7681 *) Исправление: если бэкенд передавал неверную строку в заголовке
7682 ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
7683
7684 *) Исправление: при использовании отказоустойчивой конфигурации в
7685 FastCGI мог происходить segmentation fault.
7686
7687 *) Исправление: директива expires не удаляла уже установленные строки
7688 заголовка "Expires" и "Cache-Control".
7689
7690 *) Исправление: nginx не учитывал завершающую точку в строке заголовка
7691 запроса "Host".
7692
7693 *) Исправление: модуль ngx_http_auth_module не работал на Linux.
7694
7695 *) Исправление: директива rewrite неверно работала, если в запросе
7696 присутствовали аргументы.
7697
7698 *) Исправление: nginx не собирался на MacOS X.
7699
7700
7701 Изменения в nginx 0.1.28 08.04.2005
7702
7703 *) Исправление: при проксировании больших файлов nginx сильно нагружал
7704 процессор.
7705
7706 *) Исправление: nginx не собирался gcc 4.0 на Linux.
7707
7708
7709 Изменения в nginx 0.1.27 28.03.2005
7710
7711 *) Добавление: параметр blocked в директиве valid_referers.
7712
7713 *) Изменение: ошибки обработки заголовка запроса теперь записываются на
7714 уровне info, в лог также записывается имя сервера и строки заголовка
7715 запроса "Host" и "Referer".
7716
7717 *) Изменение: при записи ошибок в лог записывается также строка
7718 заголовка запроса "Host".
7719
7720 *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
7721 символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
7722
7723 *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
7724 параметр конфигурации --without-ngx_http_auth_basic_module.
7725
7726
7727 Изменения в nginx 0.1.26 22.03.2005
7728
7729 *) Изменение: неверные строки заголовка, переданные клиентом, теперь
7730 игнорируется и записываются в error_log на уровне info.
7731
7732 *) Изменение: при записи ошибок в лог записывается также имя сервера,
7733 при обращении к которому произошла ошибка.
7734
7735 *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
7736 и auth_basic_user_file.
7737
7738
7739 Изменения в nginx 0.1.25 19.03.2005
7740
7741 *) Исправление: nginx не работал на Linux parisc.
7742
7743 *) Добавление: nginx теперь не запускается под FreeBSD, если значение
7744 sysctl kern.ipc.somaxconn слишком большое.
7745
7746 *) Исправление: если модуль ngx_http_index_module делал внутреннее
7747 перенаправление запроса в модули ngx_http_proxy_module или
7748 ngx_http_fastcgi_module, то файл индекса не закрывался после
7749 обслуживания запроса.
7750
7751 *) Добавление: директива proxy_pass может использоваться в location,
7752 заданных регулярным выражением.
7753
7754 *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
7755 условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
7756
7757 *) Исправление: nginx очень медленно запускался при большом количестве
7758 адресов и использовании текстовых значений в директиве geo.
7759
7760 *) Изменение: имя переменной в директиве geo нужно указывать, как $name.
7761 Прежний вариант без "$" пока работает, но вскоре будет убран.
7762
7763 *) Добавление: параметр лога "%{VARIABLE}v".
7764
7765 *) Добавление: директива "set $name value".
7766
7767 *) Исправление: совместимость с gcc 4.0.
7768
7769 *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
7770
7771
7772 Изменения в nginx 0.1.24 04.03.2005
7773
7774 *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные
7775 QUERY_STRING и DOCUMENT_URI.
7776
7777 *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
7778 на существующий каталог, если этот каталог был указан как alias.
7779
7780 *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
7781 при больших ответах.
7782
7783 *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
7784 правильным referrer'ом.
7785
7786
7787 Изменения в nginx 0.1.23 01.03.2005
7788
7789 *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
7790 ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
7791 var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
7792
7793 *) Добавление: параметр лога %request_time.
7794
7795 *) Добавление: если запрос пришёл без строки заголовка "Host", то
7796 директива proxy_preserve_host устанавливает в качестве этого
7797 заголовка первое имя сервера из директивы server_name.
7798
7799 *) Исправление: nginx не собирался на платформах, отличных от i386,
7800 amd64, sparc и ppc; ошибка появилась в 0.1.22.
7801
7802 *) Исправление: модуль ngx_http_autoindex_module теперь показывает
7803 информацию не о символическом линке, а о файле или каталоге, на
7804 который он указывает.
7805
7806 *) Исправление: если клиенту ничего не передавалось, то параметр
7807 %apache_length записывал в лог отрицательную длину заголовка ответа.
7808
7809
7810 Изменения в nginx 0.1.22 22.02.2005
7811
7812 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
7813 статистику для обработанных соединений, если использовалось
7814 проксирование или FastCGI-сервер.
7815
7816 *) Исправление: на Linux и Solaris установочные пути были неверно
7817 заключены в кавычки; ошибка появилась в 0.1.21.
7818
7819
7820 Изменения в nginx 0.1.21 22.02.2005
7821
7822 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
7823 статистику при использовании метода rtsig или при использовании
7824 нескольких рабочих процессов на SMP машине.
7825
7826 *) Исправление: nginx не собирался компилятором icc под Линуксом или
7827 если библиотека zlib-1.2.x собиралась из исходных текстов.
7828
7829 *) Исправление: nginx не собирался под NetBSD 2.0.
7830
7831
7832 Изменения в nginx 0.1.20 17.02.2005
7833
7834 *) Добавление: новые параметры script_filename и remote_port в директиве
7835 fastcgi_params.
7836
7837 *) Исправление: неправильно обрабатывался поток stderr от
7838 FastCGI-сервера.
7839
7840
7841 Изменения в nginx 0.1.19 16.02.2005
7842
7843 *) Исправление: если в запросе есть нуль, то для локальных запросов
7844 теперь возвращается ошибка 404.
7845
7846 *) Исправление: nginx не собирался под NetBSD 2.0.
7847
7848 *) Исправление: во время чтения тела запроса клиента в SSL соединении
7849 мог произойти таймаут.
7850
7851
7852 Изменения в nginx 0.1.18 09.02.2005
7853
7854 *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events
7855 и devpoll_changes значения по умолчанию уменьшены с 512 до 32.
7856
7857 *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
7858 наследовались.
7859
7860 *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
7861 присоединялись к URI через символ "&" вместо "?".
7862
7863 *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во
7864 включённом файле игнорировались.
7865
7866 *) Добавление: модуль ngx_http_stub_status_module.
7867
7868 *) Исправление: неизвестный формат лог-файла в директиве access_log
7869 вызывал segmentation fault.
7870
7871 *) Добавление: новый параметр document_root в директиве fastcgi_params.
7872
7873 *) Добавление: директива fastcgi_redirect_errors.
7874
7875 *) Добавление: новый модификатор break в директиве rewrite позволяет
7876 прекратить цикл rewrite/location и устанавливает текущую конфигурацию
7877 для запроса.
7878
7879
7880 Изменения в nginx 0.1.17 03.02.2005
7881
7882 *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь
7883 можно делать редиректы, возвращать коды ошибок и проверять переменные
7884 и рефереры. Эти директивы можно использовать внутри location.
7885 Директива redirect упразднена.
7886
7887 *) Добавление: модуль ngx_http_geo_module.
7888
7889 *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
7890
7891 *) Исправление: конфигурация location с модификатором "=" могла
7892 использоваться в другом location.
7893
7894 *) Исправление: правильный тип ответа выставлялся только для запросов, у
7895 которых в расширении были только маленькие буквы.
7896
7897 *) Исправление: если для location установлен proxy_pass или
7898 fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
7899 на статическую страницу, то происходил segmentation fault.
7900
7901 *) Исправление: если в проксированном ответе в заголовке "Location"
7902 передавался относительный URL, то к нему добавлялось имя хоста и
7903 слэш; ошибка появилась в 0.1.14.
7904
7905 *) Исправление: на Linux в лог не записывался текст системной ошибки.
7906
7907
7908 Изменения в nginx 0.1.16 25.01.2005
7909
7910 *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
7911 выдавался завершающий chunk.
7912
7913 *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
7914 директива keepalive_timeout запрещала использование keep-alive.
7915
7916 *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
7917 segmentation fault.
7918
7919 *) Исправление: при использовании SSL сжатый ответ мог передаваться не
7920 до конца.
7921
7922 *) Исправление: опции TCP_NODELAY, TCP_NOPUSH и TCP_CORK, специфичные
7923 для TCP сокетов, не используются для unix domain сокетов.
7924
7925 *) Добавление: директива rewrite поддерживает перезаписывание
7926 аргументов.
7927
7928 *) Исправление: на запрос POST с заголовком "Content-Length: 0"
7929 возвращался ответ 400; ошибка появилась в 0.1.14.
7930
7931
7932 Изменения в nginx 0.1.15 19.01.2005
7933
7934 *) Исправление: ошибка соединения с FastCGI-сервером вызывала
7935 segmentation fault.
7936
7937 *) Исправление: корректная обработка регулярного выражения, в котором
7938 число выделенных частей не совпадает с числом подстановок.
7939
7940 *) Добавление: location, который передаётся FastCGI-серверу, может быть
7941 задан с помощью регулярного выражения.
7942
7943 *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
7944 аргументами и в том виде, в котором был получен от клиента.
7945
7946 *) Исправление: для использования регулярных выражений в location нужно
7947 было собирать nginx вместе с ngx_http_rewrite_module.
7948
7949 *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
7950 директивы "proxy_preserve_host on" в заголовке "Host" указывался
7951 также порт 80; ошибка появилась в 0.1.14.
7952
7953 *) Исправление: если задать одинаковые пути в параметрах
7954 автоконфигурации --http-client-body-temp-path=PATH и
7955 --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
7956 --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
7957
7958
7959 Изменения в nginx 0.1.14 18.01.2005
7960
7961 *) Добавление: параметры автоконфигурации
7962 --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
7963 --http-fastcgi-temp-path=PATH
7964
7965 *) Изменение: имя каталога с временными файлами, содержащие тело запроса
7966 клиента, задаётся директивой client_body_temp_path, по умолчанию
7967 <prefix>/client_body_temp.
7968
7969 *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
7970 fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
7971 fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
7972 fastcgi_header_buffer_size, fastcgi_buffers,
7973 fastcgi_busy_buffers_size, fastcgi_temp_path,
7974 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
7975 fastcgi_next_upstream и fastcgi_x_powered_by.
7976
7977 *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
7978 0.1.3.
7979
7980 *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
7981 после имени хоста.
7982
7983 *) Изменение: если в URI встречался символ %3F, то он считался началом
7984 строки аргументов.
7985
7986 *) Добавление: поддержка unix domain сокетов в модуле
7987 ngx_http_proxy_module.
7988
7989 *) Добавление: директивы ssl_engine и ssl_ciphers.
7990 Спасибо Сергею Скворцову за SSL-акселератор.
7991
7992
7993 Изменения в nginx 0.1.13 21.12.2004
7994
7995 *) Добавление: директивы server_names_hash и
7996 server_names_hash_threshold.
7997
7998 *) Исправление: имена *.domain.tld в директиве server_name не работали.
7999
8000 *) Исправление: параметр лога %request_length записывал неверную длину.
8001
8002
8003 Изменения в nginx 0.1.12 06.12.2004
8004
8005 *) Добавление: параметр лога %request_length.
8006
8007 *) Исправление: при использовании /dev/poll, select и poll на
8008 платформах, где возможны ложные срабатывания указанных методов, могли
8009 быть длительные задержки при обработке запроса по keep-alive
8010 соединению. Наблюдалось по крайней мере на Solaris с использованием
8011 /dev/poll.
8012
8013 *) Исправление: директива send_lowat игнорируется на Linux, так как
8014 Linux не поддерживает опцию SO_SNDLOWAT.
8015
8016
8017 Изменения в nginx 0.1.11 02.12.2004
8018
8019 *) Добавление: директива worker_priority.
8020
8021 *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
8022 влияют на передачу ответа.
8023
8024 *) Исправление: nginx не вызывал initgroups().
8025 Спасибо Андрею Ситникову и Андрею Нигматулину.
8026
8027 *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
8028 байтах.
8029
8030 *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
8031 каталоге есть битый symlink.
8032
8033 *) Исправление: файлы больше 4G не передавались с использованием
8034 sendfile.
8035
8036 *) Исправление: если бэкенд резолвился в несколько адресов и при
8037 ожидании от него ответа происходила ошибка, то процесс зацикливался.
8038
8039 *) Исправление: при использовании метода /dev/poll рабочий процесс мог
8040 завершиться с сообщением "unknown cycle".
8041
8042 *) Исправление: ошибки "close() channel failed".
8043
8044 *) Исправление: автоматическое определение групп nobody и nogroup.
8045
8046 *) Исправление: директива send_lowat не работала на Linux.
8047
8048 *) Исправление: если в конфигурации не было раздела events, то
8049 происходил segmentation fault.
8050
8051 *) Исправление: nginx не собирался под OpenBSD.
8052
8053 *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
8054
8055
8056 Изменения в nginx 0.1.10 26.11.2004
8057
8058 *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
8059 или "%XX", то терялся последний символ в строке запроса; ошибка
8060 появилась в 0.1.9.
8061
8062 *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux
8063 не работало.
8064
8065
8066 Изменения в nginx 0.1.9 25.11.2004
8067
8068 *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
8069 проксируемый запрос передавался без аргументов.
8070
8071 *) Исправление: при сжатии больших ответов иногда они передавались не
8072 полностью.
8073
8074 *) Исправление: не передавались файлы больше 2G на Linux,
8075 неподдерживающем sendfile64().
8076
8077 *) Исправление: на Linux при конфигурации сборки нужно было обязательно
8078 использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
8079
8080
8081 Изменения в nginx 0.1.8 20.11.2004
8082
8083 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
8084 длинных имён файлов.
8085
8086 *) Добавление: модификатор "^~" в директиве location.
8087
8088 *) Добавление: директива proxy_max_temp_file_size.
8089
8090
8091 Изменения в nginx 0.1.7 12.11.2004
8092
8093 *) Исправление: при использовании sendfile, если передаваемый файл
8094 менялся, то мог произойти segmentation fault на FreeBSD; ошибка
8095 появилась в 0.1.5.
8096
8097
8098 Изменения в nginx 0.1.6 11.11.2004
8099
8100 *) Исправление: при некоторых комбинациях директив location c
8101 регулярными выражениями использовалась конфигурация не из того
8102 location.
8103
8104
8105 Изменения в nginx 0.1.5 11.11.2004
8106
8107 *) Исправление: на Solaris и Linux могло быть очень много сообщений
8108 "recvmsg() returned not enough data".
8109
8110 *) Исправление: в режиме прокси без использования sendfile на Solaris
8111 возникала ошибка "writev() failed (22: Invalid argument)". На других
8112 платформах, не поддерживающих sendfile, процесс зацикливался.
8113
8114 *) Исправление: при использовании sendfile в режиме прокси на Solaris
8115 возникал segmentation fault.
8116
8117 *) Исправление: segmentation fault на Solaris.
8118
8119 *) Исправление: обновление исполняемого файла на лету не работало на
8120 Linux.
8121
8122 *) Исправление: в списке файлов, выдаваемом модулем
8123 ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
8124 знаки процента.
8125
8126 *) Изменение: уменьшение операций копирования.
8127
8128 *) Добавление: директива userid_p3p.
8129
8130
8131 Изменения в nginx 0.1.4 26.10.2004
8132
8133 *) Исправление: ошибка в модуле ngx_http_autoindex_module.
8134
8135
8136 Изменения в nginx 0.1.3 25.10.2004
8137
8138 *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
8139
8140 *) Добавление: директива proxy_set_x_url.
8141
8142 *) Исправление: модуль проксировании мог привести к зацикливанию, если
8143 не использовался sendfile.
8144
8145
8146 Изменения в nginx 0.1.2 21.10.2004
8147
8148 *) Добавление: параметры --user=USER, --group=GROUP и
8149 --with-ld-opt=OPTIONS в configure.
8150
8151 *) Добавление: директива server_name поддерживает *.domain.tld.
8152
8153 *) Исправление: улучшена переносимость на неизвестные платформы.
8154
8155 *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
8156 файл указан в командной строке; ошибка появилась в 0.1.1.
8157
8158 *) Исправление: модуль проксировании мог привести к зацикливанию, если
8159 не использовался sendfile.
8160
8161 *) Исправление: при использовании sendfile текст ответа не
8162 перекодировался согласно директивам модуля charset; ошибка появилась
8163 в 0.1.1.
8164
8165 *) Исправление: очень редкая ошибка при обработке kqueue.
8166
8167 *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
8168 проксировании.
8169
8170
8171 Изменения в nginx 0.1.1 11.10.2004
8172
8173 *) Добавление: директива gzip_types.
8174
8175 *) Добавление: директива tcp_nodelay.
8176
8177 *) Добавление: директива send_lowat работает не только на платформах,
8178 поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
8179 SO_SNDLOWAT.
8180
8181 *) Добавление: эмуляция setproctitle() для Linux и Solaris.
8182
8183 *) Исправление: ошибка при переписывании заголовка "Location" при
8184 проксировании.
8185
8186 *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
8187 зацикливанию.
8188
8189 *) Исправление: ошибки в модуле /dev/poll.
8190
8191 *) Исправление: при проксировании и использовании временных файлов
8192 ответы портились.
8193
8194 *) Исправление: бэкенду передавались запросы с неперекодированными
8195 символами.
8196
8197 *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
8198 обязательно использовать параметр --with-poll_module.
8199
8200
8201 Изменения в nginx 0.1.0 04.10.2004
8202
8203 *) Первая публично доступная версия.
8204